Skip to content

Commit c9d07d7

Browse files
feat: prepare for npm publish and fix path security validation (#24)
## Changes ### Package Configuration - Add `files` field to package.json to control npm package contents - Add `allowedPluginPaths` and `allowedAbsolutePaths` to config schema - Update `resolveConfig` to preserve security allowlist fields - Add `--help` flag to CLI for usage information ### Path Security Enhancements - Fix path validation to support absolute paths in allowlist - Add case-insensitive, cross-platform path normalization (Windows/Unix) - Skip traversal warnings for allowed absolute paths - Update `resolvePluginPath` signature to include `allowedExtensions` parameter - Forward `allowedAbsolutePaths` from config to extractors (basic-python, basic-node) ### Build & Testing - Update inspect-pack.js to copy archlette.config.yaml to test directory - Fix module-loader.ts to pass allowedAbsolutePaths correctly - Update path-security tests to match new API signature ### Breaking Changes - `resolvePluginPath` now has 4 parameters: `userPath`, `cliDir`, `allowedExtensions`, `allowedAbsolutePaths` ## Fixes - Resolves security warnings for absolute paths in allowed directories - Ensures config allowlists are properly passed through pipeline - Improves Windows path handling with mixed separators
1 parent c71c17a commit c9d07d7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1202
-693
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: googleapis/release-please-action@v4
17+
with:
18+
release-type: node
19+
package-name: '@chrislyons-dev/archlette'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ coverage/
99
.claude/
1010
CLAUDE.md
1111
output/
12+
*.tgz
1213

1314
# MkDocs - files copied from root during build (not committed)
1415
docs/CONTRIBUTING.md

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Archlette analyzes your TypeScript/JavaScript codebase and generates C4 architec
2323
- Multiple outputs — Structurizr DSL, PlantUML, Mermaid, PNG
2424
- CI-native — runs wherever your code runs
2525

26-
See Archlette documenting itself: [architecture docs](docs/architecture/readme.md).
26+
See Archlette documenting itself: [architecture docs](docs/architecture/README.md).
2727

2828
---
2929

@@ -143,7 +143,7 @@ Write extractors. Write validators. Write generators. See [plugin development](h
143143

144144
## Example
145145

146-
See the [architecture docs](docs/architecture/readme.md) generated by Archlette for this project.
146+
See the [architecture docs](docs/architecture/README.md) generated by Archlette for this project.
147147

148148
---
149149

0 commit comments

Comments
 (0)