clispark 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Interactive scaffolding tool for new CLI projects. Run `npx clispark` to generat
|
|
|
4
4
|
|
|
5
5
|
## Status
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
✅ **Published on npm as [`clispark`](https://www.npmjs.com/package/clispark).**
|
|
8
8
|
|
|
9
9
|
| Milestone | Description | Status |
|
|
10
10
|
| --- | --- | --- |
|
|
@@ -13,13 +13,11 @@ Interactive scaffolding tool for new CLI projects. Run `npx clispark` to generat
|
|
|
13
13
|
| M2.5 | Generator's own logging & error handling (dogfooding) | ✅ Done |
|
|
14
14
|
| M3 | Core runtime features in generated boilerplate (auto command registration, logging, error handling, testing, example command) | ✅ Done |
|
|
15
15
|
| M4 | Private registry support (`.npmrc` generation, wired into scaffold's own `npm install`) | ✅ Done |
|
|
16
|
-
| M5 | Documentation (`ARCHITECTURE.md`) & release automation (CI, Conventional-Commits versioning, npm publish pipeline) | ✅ Done
|
|
16
|
+
| M5 | Documentation (`ARCHITECTURE.md`) & release automation (CI, Conventional-Commits versioning, npm publish pipeline) | ✅ Done |
|
|
17
17
|
| M6 | Update mechanism for already-generated projects | 🔜 Next |
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
21
|
-
Once published, running the generator will look like this:
|
|
22
|
-
|
|
23
21
|
```bash
|
|
24
22
|
npx clispark
|
|
25
23
|
```
|
|
@@ -45,7 +43,9 @@ Every generated project includes:
|
|
|
45
43
|
|
|
46
44
|
## Releases
|
|
47
45
|
|
|
48
|
-
Releases are automated via [release-please](https://github.com/googleapis/release-please): every commit to `master` follows [Conventional Commits](https://www.conventionalcommits.org/) (`feat:` → minor, `fix:` → patch, `BREAKING CHANGE` → major), and release-please maintains a running "Release PR" with the version bump and changelog. Merging that PR creates a GitHub Release, which triggers the `publish.yml` workflow: it re-runs the full CI suite (tests, typecheck, build, security audit, a scaffold smoke test) against the release commit, then publishes to npm.
|
|
46
|
+
Releases are automated via [release-please](https://github.com/googleapis/release-please): every commit to `master` follows [Conventional Commits](https://www.conventionalcommits.org/) (`feat:` → minor, `fix:` → patch, `BREAKING CHANGE` → major), and release-please maintains a running "Release PR" with the version bump and changelog. Merging that PR creates a GitHub Release, which triggers the `publish.yml` workflow: it re-runs the full CI suite (tests, typecheck, build, security audit, a scaffold smoke test) against the release commit, then publishes to npm using [Trusted Publishing](https://docs.npmjs.com/trusted-publishers) (OIDC) — no long-lived npm token is stored anywhere.
|
|
47
|
+
|
|
48
|
+
release-please itself authenticates with a `RELEASE_PLEASE_TOKEN` (a fine-grained PAT), not the default `GITHUB_TOKEN` — GitHub suppresses workflow-triggering events caused by the default token, which would otherwise silently prevent `publish.yml` from ever firing after a release.
|
|
49
49
|
|
|
50
50
|
CI (`ci.yml`) runs on every push/PR: unit tests, typecheck, build, `npm audit --audit-level=high` (blocking on high/critical findings, which are also tracked as GitHub issues), and an end-to-end scaffold smoke test that generates a real project and runs its own test suite — the same kind of check previously done manually for each milestone.
|
|
51
51
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clispark",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Interactive scaffolding tool for new CLI projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"build": "tsup",
|
|
39
39
|
"postbuild": "shx chmod +x dist/cli.js",
|
|
40
40
|
"dev": "tsx src/cli.ts",
|
|
41
|
+
"lint": "eslint src",
|
|
41
42
|
"test": "vitest run",
|
|
42
43
|
"typecheck": "tsc --noEmit"
|
|
43
44
|
},
|
|
@@ -49,12 +50,15 @@
|
|
|
49
50
|
"pino": "^9.6.0"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
53
|
+
"@eslint/js": "^10.0.1",
|
|
52
54
|
"@types/cross-spawn": "^6.0.6",
|
|
53
55
|
"@types/node": "^22.10.5",
|
|
56
|
+
"eslint": "^10.7.0",
|
|
54
57
|
"shx": "^0.3.4",
|
|
55
58
|
"tsup": "^8.3.5",
|
|
56
59
|
"tsx": "^4.19.2",
|
|
57
60
|
"typescript": "^5.7.2",
|
|
61
|
+
"typescript-eslint": "^8.63.0",
|
|
58
62
|
"vitest": "^4.1.10"
|
|
59
63
|
}
|
|
60
64
|
}
|