feat(setup/project-init): initialize TypeScript ESM project skeleton
- package.json with @alkdev/taskgraph, ESM primary, CJS compat exports - tsconfig.json targeting Node 18+, strict mode, declaration output - All production deps: graphology suite, @alkdev/typebox, yaml - Dev deps: typescript, vitest, @types/node - src/ skeleton: schema, graph, analysis, frontmatter, error modules - test/ directory with 5 placeholder test files - .gitignore and vitest.config.ts
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: setup/project-init
|
||||
name: Initialize project with package.json, tsconfig, and build tooling
|
||||
status: pending
|
||||
status: completed
|
||||
depends_on: []
|
||||
scope: moderate
|
||||
risk: low
|
||||
@@ -22,21 +22,21 @@ Per [build-distribution.md](../../../docs/architecture/build-distribution.md):
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `package.json` exists with name `@alkdev/taskgraph`, ESM primary (`"type": "module"`), CJS compat config
|
||||
- [ ] All production dependencies listed per [build-distribution.md](../../../docs/architecture/build-distribution.md) dependencies table
|
||||
- [ ] Dev dependencies include: `typescript`, `vitest` (or agreed test runner), `@types/node`
|
||||
- [ ] `tsconfig.json` configured for Node 18+ target, ESM module resolution, strict mode, declaration output
|
||||
- [ ] `.gitignore` covers `node_modules/`, `dist/`, `*.js.map`, `.env`
|
||||
- [ ] `src/` directory skeleton created per [build-distribution.md](../../../docs/architecture/build-distribution.md) project structure:
|
||||
- [x] `package.json` exists with name `@alkdev/taskgraph`, ESM primary (`"type": "module"`), CJS compat config
|
||||
- [x] All production dependencies listed per [build-distribution.md](../../../docs/architecture/build-distribution.md) dependencies table
|
||||
- [x] Dev dependencies include: `typescript`, `vitest` (or agreed test runner), `@types/node`
|
||||
- [x] `tsconfig.json` configured for Node 18+ target, ESM module resolution, strict mode, declaration output
|
||||
- [x] `.gitignore` covers `node_modules/`, `dist/`, `*.js.map`, `.env`
|
||||
- [x] `src/` directory skeleton created per [build-distribution.md](../../../docs/architecture/build-distribution.md) project structure:
|
||||
- `src/index.ts`
|
||||
- `src/schema/index.ts`, `src/schema/enums.ts`, `src/schema/task.ts`, `src/schema/graph.ts`, `src/schema/results.ts`
|
||||
- `src/graph/index.ts`, `src/graph/construction.ts`, `src/graph/queries.ts`, `src/graph/mutation.ts`
|
||||
- `src/analysis/index.ts`, `src/analysis/critical-path.ts`, `src/analysis/bottleneck.ts`, `src/analysis/risk.ts`, `src/analysis/cost-benefit.ts`, `src/analysis/decompose.ts`, `src/analysis/defaults.ts`
|
||||
- `src/frontmatter/index.ts`, `src/frontmatter/parse.ts`, `src/frontmatter/serialize.ts`
|
||||
- `src/error/index.ts`
|
||||
- [ ] `test/` directory created with placeholder test files per build-distribution spec
|
||||
- [ ] `npm install` succeeds without errors
|
||||
- [ ] `npx tsc --noEmit` succeeds (empty source files, but config is valid)
|
||||
- [x] `test/` directory created with placeholder test files per build-distribution spec
|
||||
- [x] `npm install` succeeds without errors
|
||||
- [x] `npx tsc --noEmit` succeeds (empty source files, but config is valid)
|
||||
|
||||
## References
|
||||
|
||||
@@ -44,8 +44,20 @@ Per [build-distribution.md](../../../docs/architecture/build-distribution.md):
|
||||
|
||||
## Notes
|
||||
|
||||
> To be filled by implementation agent
|
||||
Dependency version adjustments from architecture spec:
|
||||
- `@alkdev/typebox`: ^0.2.0 → ^0.34.49 (only version available on npm)
|
||||
- `graphology`: ^0.25.4 → ^0.26.0 (latest on npm)
|
||||
- `graphology-dag`: ^0.4.2 → ^0.4.1 (latest on npm)
|
||||
- `graphology-metrics`: ^0.7.0 → ^2.4.0 (latest on npm)
|
||||
- `graphology-components`: ^0.3.1 → ^1.5.4 (latest on npm)
|
||||
- `graphology-operators`: ^0.5.2 → ^1.6.1 (latest on npm)
|
||||
- `yaml`: ^2.6.1 → ^2.8.3 (latest on npm)
|
||||
|
||||
## Summary
|
||||
|
||||
> To be filled on completion
|
||||
Initialized the @alkdev/taskgraph TypeScript ESM project from scratch.
|
||||
- Created: package.json, tsconfig.json, vitest.config.ts, .gitignore
|
||||
- Created: src/ directory skeleton (20 source files across 5 modules: schema, graph, analysis, frontmatter, error)
|
||||
- Created: test/ directory (5 placeholder test files: graph, analysis, schema, frontmatter, cost-benefit)
|
||||
- Modified: tasks/implementation/setup/project-init.md (status → completed)
|
||||
- Tests: 5 passing, npm install ✓, tsc --noEmit ✓
|
||||
Reference in New Issue
Block a user