@simplysm/sd-cli 13.0.99 → 14.0.1
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/dist/commands/build.js +29 -19
- package/dist/commands/build.js.map +1 -6
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +130 -115
- package/dist/commands/check.js.map +1 -6
- package/dist/commands/dev.d.ts +6 -7
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +24 -14
- package/dist/commands/dev.js.map +1 -6
- package/dist/commands/lint.d.ts +1 -1
- package/dist/commands/lint.js +158 -116
- package/dist/commands/lint.js.map +1 -6
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +637 -510
- package/dist/commands/publish.js.map +1 -6
- package/dist/commands/replace-deps.js +12 -12
- package/dist/commands/replace-deps.js.map +1 -6
- package/dist/commands/typecheck.d.ts +5 -30
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +144 -207
- package/dist/commands/typecheck.js.map +1 -6
- package/dist/commands/watch.d.ts +6 -4
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +25 -16
- package/dist/commands/watch.js.map +1 -6
- package/dist/engines/NgtscEngine.d.ts +47 -0
- package/dist/engines/NgtscEngine.d.ts.map +1 -0
- package/dist/engines/NgtscEngine.js +151 -0
- package/dist/engines/NgtscEngine.js.map +1 -0
- package/dist/engines/ServerEsbuildEngine.d.ts +47 -0
- package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -0
- package/dist/engines/ServerEsbuildEngine.js +159 -0
- package/dist/engines/ServerEsbuildEngine.js.map +1 -0
- package/dist/engines/TscEngine.d.ts +47 -0
- package/dist/engines/TscEngine.d.ts.map +1 -0
- package/dist/engines/TscEngine.js +153 -0
- package/dist/engines/TscEngine.js.map +1 -0
- package/dist/engines/ViteEngine.d.ts +49 -0
- package/dist/engines/ViteEngine.d.ts.map +1 -0
- package/dist/engines/ViteEngine.js +161 -0
- package/dist/engines/ViteEngine.js.map +1 -0
- package/dist/engines/index.d.ts +26 -0
- package/dist/engines/index.d.ts.map +1 -0
- package/dist/engines/index.js +30 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/types.d.ts +77 -0
- package/dist/engines/types.d.ts.map +1 -0
- package/dist/engines/types.js +2 -0
- package/dist/engines/types.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -6
- package/dist/infra/ResultCollector.d.ts +1 -1
- package/dist/infra/ResultCollector.d.ts.map +1 -1
- package/dist/infra/ResultCollector.js +30 -27
- package/dist/infra/ResultCollector.js.map +1 -6
- package/dist/infra/SignalHandler.js +45 -42
- package/dist/infra/SignalHandler.js.map +1 -6
- package/dist/infra/WorkerManager.js +56 -53
- package/dist/infra/WorkerManager.js.map +1 -6
- package/dist/orchestrators/BuildOrchestrator.d.ts +33 -1
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +314 -309
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -6
- package/dist/orchestrators/DevWatchOrchestrator.d.ts +60 -0
- package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/DevWatchOrchestrator.js +465 -0
- package/dist/orchestrators/DevWatchOrchestrator.js.map +1 -0
- package/dist/sd-cli-entry.d.ts.map +1 -1
- package/dist/sd-cli-entry.js +190 -266
- package/dist/sd-cli-entry.js.map +1 -6
- package/dist/sd-cli.js +77 -49
- package/dist/sd-cli.js.map +1 -6
- package/dist/sd-config.types.d.ts +2 -0
- package/dist/sd-config.types.d.ts.map +1 -1
- package/dist/sd-config.types.js +2 -1
- package/dist/sd-config.types.js.map +1 -6
- package/dist/utils/angular-build.d.ts +77 -0
- package/dist/utils/angular-build.d.ts.map +1 -0
- package/dist/utils/angular-build.js +84 -0
- package/dist/utils/angular-build.js.map +1 -0
- package/dist/utils/build-env.js +9 -9
- package/dist/utils/build-env.js.map +1 -6
- package/dist/utils/concurrency.d.ts +15 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +38 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/copy-public.js +104 -87
- package/dist/utils/copy-public.js.map +1 -6
- package/dist/utils/copy-src.js +49 -35
- package/dist/utils/copy-src.js.map +1 -6
- package/dist/utils/esbuild-config.d.ts +0 -29
- package/dist/utils/esbuild-config.d.ts.map +1 -1
- package/dist/utils/esbuild-config.js +151 -218
- package/dist/utils/esbuild-config.js.map +1 -6
- package/dist/utils/ngtsc-build-core.d.ts +49 -0
- package/dist/utils/ngtsc-build-core.d.ts.map +1 -0
- package/dist/utils/ngtsc-build-core.js +250 -0
- package/dist/utils/ngtsc-build-core.js.map +1 -0
- package/dist/utils/output-path-rewriter.d.ts +23 -0
- package/dist/utils/output-path-rewriter.d.ts.map +1 -0
- package/dist/utils/output-path-rewriter.js +74 -0
- package/dist/utils/output-path-rewriter.js.map +1 -0
- package/dist/utils/output-utils.js +55 -40
- package/dist/utils/output-utils.js.map +1 -6
- package/dist/utils/package-utils.d.ts +8 -0
- package/dist/utils/package-utils.d.ts.map +1 -1
- package/dist/utils/package-utils.js +103 -73
- package/dist/utils/package-utils.js.map +1 -6
- package/dist/utils/rebuild-manager.js +41 -44
- package/dist/utils/rebuild-manager.js.map +1 -6
- package/dist/utils/replace-deps.js +283 -184
- package/dist/utils/replace-deps.js.map +1 -6
- package/dist/utils/scss-compiler.d.ts +10 -0
- package/dist/utils/scss-compiler.d.ts.map +1 -0
- package/dist/utils/scss-compiler.js +36 -0
- package/dist/utils/scss-compiler.js.map +1 -0
- package/dist/utils/sd-config.js +29 -19
- package/dist/utils/sd-config.js.map +1 -6
- package/dist/utils/tsc-build.d.ts +36 -0
- package/dist/utils/tsc-build.d.ts.map +1 -0
- package/dist/utils/tsc-build.js +130 -0
- package/dist/utils/tsc-build.js.map +1 -0
- package/dist/utils/tsconfig.d.ts +7 -26
- package/dist/utils/tsconfig.d.ts.map +1 -1
- package/dist/utils/tsconfig.js +39 -64
- package/dist/utils/tsconfig.js.map +1 -6
- package/dist/utils/typecheck-non-package.d.ts +18 -0
- package/dist/utils/typecheck-non-package.d.ts.map +1 -0
- package/dist/utils/typecheck-non-package.js +64 -0
- package/dist/utils/typecheck-non-package.js.map +1 -0
- package/dist/utils/typecheck-serialization.js +58 -40
- package/dist/utils/typecheck-serialization.js.map +1 -6
- package/dist/utils/worker-events.js +48 -40
- package/dist/utils/worker-events.js.map +1 -6
- package/dist/utils/worker-utils.js +48 -28
- package/dist/utils/worker-utils.js.map +1 -6
- package/dist/vitest-plugin.d.ts +9 -0
- package/dist/vitest-plugin.d.ts.map +1 -0
- package/dist/vitest-plugin.js +85 -0
- package/dist/vitest-plugin.js.map +1 -0
- package/dist/workers/library-build.worker.d.ts +54 -0
- package/dist/workers/library-build.worker.d.ts.map +1 -0
- package/dist/workers/library-build.worker.js +97 -0
- package/dist/workers/library-build.worker.js.map +1 -0
- package/dist/workers/lint.worker.js +9 -6
- package/dist/workers/lint.worker.js.map +1 -6
- package/dist/workers/ngtsc-build.worker.d.ts +23 -0
- package/dist/workers/ngtsc-build.worker.d.ts.map +1 -0
- package/dist/workers/ngtsc-build.worker.js +98 -0
- package/dist/workers/ngtsc-build.worker.js.map +1 -0
- package/dist/workers/{server.worker.d.ts → server-build.worker.d.ts} +39 -29
- package/dist/workers/server-build.worker.d.ts.map +1 -0
- package/dist/workers/server-build.worker.js +399 -0
- package/dist/workers/server-build.worker.js.map +1 -0
- package/dist/workers/server-runtime.worker.d.ts +3 -2
- package/dist/workers/server-runtime.worker.d.ts.map +1 -1
- package/dist/workers/server-runtime.worker.js +100 -95
- package/dist/workers/server-runtime.worker.js.map +1 -6
- package/dist/workers/vite-build.worker.d.ts +56 -0
- package/dist/workers/vite-build.worker.d.ts.map +1 -0
- package/dist/workers/vite-build.worker.js +167 -0
- package/dist/workers/vite-build.worker.js.map +1 -0
- package/package.json +10 -16
- package/src/commands/check.ts +21 -3
- package/src/commands/dev.ts +10 -8
- package/src/commands/lint.ts +1 -1
- package/src/commands/publish.ts +4 -0
- package/src/commands/typecheck.ts +89 -256
- package/src/commands/watch.ts +9 -8
- package/src/engines/NgtscEngine.ts +190 -0
- package/src/engines/ServerEsbuildEngine.ts +195 -0
- package/src/engines/TscEngine.ts +189 -0
- package/src/engines/ViteEngine.ts +203 -0
- package/src/engines/index.ts +49 -0
- package/src/engines/types.ts +79 -0
- package/src/index.ts +0 -3
- package/src/infra/ResultCollector.ts +1 -1
- package/src/orchestrators/BuildOrchestrator.ts +87 -157
- package/src/orchestrators/DevWatchOrchestrator.ts +573 -0
- package/src/sd-cli-entry.ts +13 -116
- package/src/sd-config.types.ts +2 -0
- package/src/utils/angular-build.ts +157 -0
- package/src/utils/concurrency.ts +43 -0
- package/src/utils/esbuild-config.ts +1 -122
- package/src/utils/ngtsc-build-core.ts +379 -0
- package/src/utils/output-path-rewriter.ts +82 -0
- package/src/utils/package-utils.ts +20 -0
- package/src/utils/scss-compiler.ts +58 -0
- package/src/utils/tsc-build.ts +175 -0
- package/src/utils/tsconfig.ts +27 -95
- package/src/utils/typecheck-non-package.ts +87 -0
- package/src/vitest-plugin.ts +118 -0
- package/src/workers/library-build.worker.ts +153 -0
- package/src/workers/ngtsc-build.worker.ts +146 -0
- package/src/workers/server-build.worker.ts +565 -0
- package/src/workers/server-runtime.worker.ts +17 -26
- package/src/workers/vite-build.worker.ts +252 -0
- package/tests/commands/check.spec.ts +276 -0
- package/tests/commands/dev.spec.ts +53 -0
- package/tests/commands/lint.spec.ts +243 -0
- package/tests/commands/publish.spec.ts +1159 -0
- package/tests/commands/typecheck.spec.ts +294 -0
- package/tests/commands/watch.spec.ts +53 -0
- package/tests/engines/engine-selection.spec.ts +247 -0
- package/tests/engines/ngtsc-engine.spec.ts +274 -0
- package/tests/engines/server-esbuild-engine.spec.ts +256 -0
- package/tests/engines/tsc-engine.spec.ts +213 -0
- package/tests/engines/vite-engine.spec.ts +358 -0
- package/tests/infra/result-collector.spec.ts +46 -0
- package/tests/infra/signal-handler.spec.ts +32 -0
- package/tests/infra/worker-manager.spec.ts +63 -0
- package/tests/orchestrators/build-orchestrator.spec.ts +772 -0
- package/tests/orchestrators/dev-watch-orchestrator.spec.ts +1173 -0
- package/tests/sd-cli-entry.spec.ts +49 -0
- package/tests/utils/angular-build.spec.ts +251 -0
- package/tests/utils/build-env.spec.ts +33 -0
- package/tests/utils/concurrency.spec.ts +65 -0
- package/tests/utils/copy-src.spec.ts +144 -0
- package/tests/utils/esbuild-config.spec.ts +186 -0
- package/tests/utils/external-modules.spec.ts +161 -0
- package/tests/utils/ngtsc-scss-refactor.spec.ts +66 -0
- package/tests/utils/output-path-rewriter.spec.ts +165 -0
- package/tests/utils/output-utils.spec.ts +104 -0
- package/tests/utils/package-utils.spec.ts +52 -0
- package/tests/utils/rebuild-manager.spec.ts +30 -27
- package/tests/utils/replace-deps.spec.ts +69 -0
- package/tests/utils/scss-compiler.spec.ts +131 -0
- package/tests/utils/sd-config.spec.ts +77 -0
- package/tests/utils/tsc-build.spec.ts +358 -0
- package/tests/utils/tsconfig-angular.spec.ts +71 -0
- package/tests/utils/typecheck-non-package.spec.ts +120 -0
- package/tests/utils/worker-events.spec.ts +155 -0
- package/tests/utils/worker-utils.spec.ts +43 -0
- package/tests/vitest-plugin-cwd.spec.ts +68 -0
- package/tests/vitest-plugin.spec.ts +103 -0
- package/tests/workers/library-build-worker.spec.ts +258 -0
- package/tests/workers/ngtsc-build-worker.spec.ts +187 -0
- package/tests/workers/server-build-worker.spec.ts +566 -0
- package/tests/workers/server-runtime-worker.spec.ts +251 -0
- package/README.md +0 -295
- package/dist/builders/BaseBuilder.d.ts +0 -88
- package/dist/builders/BaseBuilder.d.ts.map +0 -1
- package/dist/builders/BaseBuilder.js +0 -142
- package/dist/builders/BaseBuilder.js.map +0 -6
- package/dist/builders/DtsBuilder.d.ts +0 -22
- package/dist/builders/DtsBuilder.d.ts.map +0 -1
- package/dist/builders/DtsBuilder.js +0 -72
- package/dist/builders/DtsBuilder.js.map +0 -6
- package/dist/builders/LibraryBuilder.d.ts +0 -22
- package/dist/builders/LibraryBuilder.d.ts.map +0 -1
- package/dist/builders/LibraryBuilder.js +0 -85
- package/dist/builders/LibraryBuilder.js.map +0 -6
- package/dist/builders/types.d.ts +0 -55
- package/dist/builders/types.d.ts.map +0 -1
- package/dist/builders/types.js +0 -1
- package/dist/builders/types.js.map +0 -6
- package/dist/capacitor/capacitor.d.ts +0 -151
- package/dist/capacitor/capacitor.d.ts.map +0 -1
- package/dist/capacitor/capacitor.js +0 -694
- package/dist/capacitor/capacitor.js.map +0 -6
- package/dist/commands/device.d.ts +0 -22
- package/dist/commands/device.d.ts.map +0 -1
- package/dist/commands/device.js +0 -98
- package/dist/commands/device.js.map +0 -6
- package/dist/commands/init.d.ts +0 -14
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -72
- package/dist/commands/init.js.map +0 -6
- package/dist/electron/electron.d.ts +0 -84
- package/dist/electron/electron.d.ts.map +0 -1
- package/dist/electron/electron.js +0 -263
- package/dist/electron/electron.js.map +0 -6
- package/dist/orchestrators/DevOrchestrator.d.ts +0 -83
- package/dist/orchestrators/DevOrchestrator.d.ts.map +0 -1
- package/dist/orchestrators/DevOrchestrator.js +0 -540
- package/dist/orchestrators/DevOrchestrator.js.map +0 -6
- package/dist/orchestrators/WatchOrchestrator.d.ts +0 -57
- package/dist/orchestrators/WatchOrchestrator.d.ts.map +0 -1
- package/dist/orchestrators/WatchOrchestrator.js +0 -199
- package/dist/orchestrators/WatchOrchestrator.js.map +0 -6
- package/dist/utils/tailwind-config-deps.d.ts +0 -8
- package/dist/utils/tailwind-config-deps.d.ts.map +0 -1
- package/dist/utils/tailwind-config-deps.js +0 -82
- package/dist/utils/tailwind-config-deps.js.map +0 -6
- package/dist/utils/template.d.ts +0 -14
- package/dist/utils/template.d.ts.map +0 -1
- package/dist/utils/template.js +0 -33
- package/dist/utils/template.js.map +0 -6
- package/dist/utils/vite-config.d.ts +0 -35
- package/dist/utils/vite-config.d.ts.map +0 -1
- package/dist/utils/vite-config.js +0 -259
- package/dist/utils/vite-config.js.map +0 -6
- package/dist/workers/client.worker.d.ts +0 -83
- package/dist/workers/client.worker.d.ts.map +0 -1
- package/dist/workers/client.worker.js +0 -111
- package/dist/workers/client.worker.js.map +0 -6
- package/dist/workers/dts.worker.d.ts +0 -75
- package/dist/workers/dts.worker.d.ts.map +0 -1
- package/dist/workers/dts.worker.js +0 -270
- package/dist/workers/dts.worker.js.map +0 -6
- package/dist/workers/library.worker.d.ts +0 -75
- package/dist/workers/library.worker.d.ts.map +0 -1
- package/dist/workers/library.worker.js +0 -166
- package/dist/workers/library.worker.js.map +0 -6
- package/dist/workers/server.worker.d.ts.map +0 -1
- package/dist/workers/server.worker.js +0 -482
- package/dist/workers/server.worker.js.map +0 -6
- package/src/builders/BaseBuilder.ts +0 -218
- package/src/builders/DtsBuilder.ts +0 -92
- package/src/builders/LibraryBuilder.ts +0 -110
- package/src/builders/types.ts +0 -60
- package/src/capacitor/capacitor.ts +0 -931
- package/src/commands/device.ts +0 -140
- package/src/commands/init.ts +0 -113
- package/src/electron/electron.ts +0 -362
- package/src/orchestrators/DevOrchestrator.ts +0 -744
- package/src/orchestrators/WatchOrchestrator.ts +0 -277
- package/src/utils/tailwind-config-deps.ts +0 -98
- package/src/utils/template.ts +0 -56
- package/src/utils/vite-config.ts +0 -390
- package/src/workers/client.worker.ts +0 -250
- package/src/workers/dts.worker.ts +0 -453
- package/src/workers/library.worker.ts +0 -316
- package/src/workers/server.worker.ts +0 -734
- package/templates/init/.gitignore.hbs +0 -34
- package/templates/init/.npmrc.hbs +0 -1
- package/templates/init/.prettierignore +0 -1
- package/templates/init/.prettierrc.yaml +0 -12
- package/templates/init/eslint.config.ts +0 -15
- package/templates/init/mise.toml +0 -3
- package/templates/init/package.json.hbs +0 -32
- package/templates/init/packages/client-admin/index.html.hbs +0 -144
- package/templates/init/packages/client-admin/package.json.hbs +0 -27
- package/templates/init/packages/client-admin/public/assets/logo-landscape.png +0 -0
- package/templates/init/packages/client-admin/public/assets/logo.png +0 -0
- package/templates/init/packages/client-admin/public/favicon.ico +0 -0
- package/templates/init/packages/client-admin/src/App.tsx +0 -42
- package/templates/init/packages/client-admin/src/dev/DevDialog.tsx +0 -34
- package/templates/init/packages/client-admin/src/events/AuthChangeEvent.ts +0 -3
- package/templates/init/packages/client-admin/src/main.css +0 -4
- package/templates/init/packages/client-admin/src/main.tsx.hbs +0 -146
- package/templates/init/packages/client-admin/src/providers/AppServiceProvider.tsx.hbs +0 -103
- package/templates/init/packages/client-admin/src/providers/AppStructureProvider.tsx +0 -84
- package/templates/init/packages/client-admin/src/providers/AuthProvider.tsx.hbs +0 -96
- package/templates/init/packages/client-admin/src/providers/configureSharedData.ts.hbs +0 -67
- package/templates/init/packages/client-admin/src/views/auth/LoginView.tsx +0 -132
- package/templates/init/packages/client-admin/src/views/home/HomeView.tsx +0 -108
- package/templates/init/packages/client-admin/src/views/home/base/employee/EmployeeDetail.tsx.hbs +0 -243
- package/templates/init/packages/client-admin/src/views/home/base/employee/EmployeeSheet.tsx.hbs +0 -271
- package/templates/init/packages/client-admin/src/views/home/base/role-permission/RoleDetail.tsx.hbs +0 -146
- package/templates/init/packages/client-admin/src/views/home/base/role-permission/RolePermissionDetail.tsx.hbs +0 -121
- package/templates/init/packages/client-admin/src/views/home/base/role-permission/RolePermissionView.tsx +0 -52
- package/templates/init/packages/client-admin/src/views/home/base/role-permission/RoleSheet.tsx.hbs +0 -125
- package/templates/init/packages/client-admin/src/views/home/main/MainView.tsx.hbs +0 -13
- package/templates/init/packages/client-admin/src/views/home/my-info/MyInfoDetail.tsx.hbs +0 -241
- package/templates/init/packages/client-admin/src/views/home/system/system-log/SystemLogSheet.tsx.hbs +0 -169
- package/templates/init/packages/client-admin/src/views/not-found/NotFoundView.tsx +0 -15
- package/templates/init/packages/client-admin/tailwind.config.ts +0 -10
- package/templates/init/packages/db-main/package.json.hbs +0 -13
- package/templates/init/packages/db-main/src/MainDbContext.ts +0 -22
- package/templates/init/packages/db-main/src/dataLogExt.ts +0 -127
- package/templates/init/packages/db-main/src/index.ts +0 -14
- package/templates/init/packages/db-main/src/tables/base/Employee.ts +0 -24
- package/templates/init/packages/db-main/src/tables/base/EmployeeConfig.ts +0 -13
- package/templates/init/packages/db-main/src/tables/base/Role.ts +0 -9
- package/templates/init/packages/db-main/src/tables/base/RolePermission.ts +0 -13
- package/templates/init/packages/db-main/src/tables/system/_DataLog.ts +0 -19
- package/templates/init/packages/db-main/src/tables/system/_Log.ts +0 -16
- package/templates/init/packages/server/package.json.hbs +0 -20
- package/templates/init/packages/server/public-dev/dev//354/264/210/352/270/260/355/231/224.xlsx +0 -0
- package/templates/init/packages/server/src/index.ts +0 -4
- package/templates/init/packages/server/src/main.ts.hbs +0 -34
- package/templates/init/packages/server/src/services/AuthService.ts.hbs +0 -171
- package/templates/init/packages/server/src/services/DevService.ts.hbs +0 -94
- package/templates/init/packages/server/src/services/EmployeeService.ts.hbs +0 -122
- package/templates/init/packages/server/src/services/RoleService.ts.hbs +0 -59
- package/templates/init/pnpm-workspace.yaml +0 -15
- package/templates/init/sd.config.ts.hbs +0 -48
- package/templates/init/tsconfig.json.hbs +0 -39
- package/templates/init/vitest.config.ts +0 -36
- package/tests/capacitor-exclude.spec.ts +0 -78
- package/tests/capacitor.spec.ts +0 -49
- package/tests/copy-src.spec.ts +0 -50
- package/tests/electron-exclude.spec.ts +0 -61
- package/tests/get-compiler-options-for-package.spec.ts +0 -80
- package/tests/get-package-source-files.spec.ts +0 -139
- package/tests/get-types-from-package-json.spec.ts +0 -92
- package/tests/infra/ResultCollector.spec.ts +0 -30
- package/tests/infra/SignalHandler.spec.ts +0 -38
- package/tests/infra/WorkerManager.spec.ts +0 -63
- package/tests/load-ignore-patterns.spec.ts +0 -163
- package/tests/load-sd-config.spec.ts +0 -100
- package/tests/package-utils.spec.ts +0 -188
- package/tests/parse-root-tsconfig.spec.ts +0 -89
- package/tests/publish-config-narrowing.spec.ts +0 -20
- package/tests/replace-deps.spec.ts +0 -308
- package/tests/run-lint.spec.ts +0 -366
- package/tests/run-typecheck.spec.ts +0 -544
- package/tests/run-watch.spec.ts +0 -76
- package/tests/sd-cli.spec.ts +0 -265
- package/tests/sd-public-dev-plugin-mime.spec.ts +0 -19
- package/tests/tailwind-config-deps.spec.ts +0 -30
- package/tests/template.spec.ts +0 -70
- package/tests/vite-config-exclude.spec.ts +0 -35
- package/tests/vite-config-outdir.spec.ts +0 -38
- package/tests/write-changed-output-files.spec.ts +0 -97
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { consola } from "consola";
|
|
2
|
-
import { WorkerManager } from "../infra/WorkerManager";
|
|
3
|
-
import type { BuildResult, ResultCollector } from "../infra/ResultCollector";
|
|
4
|
-
import type { RebuildManager } from "../utils/rebuild-manager";
|
|
5
|
-
import type { BuildEventData, ErrorEventData } from "../utils/worker-events";
|
|
6
|
-
import { formatBuildMessages } from "../utils/output-utils";
|
|
7
|
-
import type { IBuilder, PackageInfo } from "./types";
|
|
8
|
-
|
|
9
|
-
const baseBuilderLogger = consola.withTag("sd:cli:build");
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Abstract base class for Builder
|
|
13
|
-
*
|
|
14
|
-
* Provides common logic for all Builders and
|
|
15
|
-
* defines abstract methods that subclasses must implement.
|
|
16
|
-
*/
|
|
17
|
-
export abstract class BaseBuilder implements IBuilder {
|
|
18
|
-
protected readonly workerManager: WorkerManager;
|
|
19
|
-
protected readonly resultCollector: ResultCollector;
|
|
20
|
-
protected readonly rebuildManager: RebuildManager | undefined;
|
|
21
|
-
protected readonly packages: PackageInfo[];
|
|
22
|
-
protected readonly cwd: string;
|
|
23
|
-
protected isWatchMode = false;
|
|
24
|
-
|
|
25
|
-
/** Initial build Promise (per package) */
|
|
26
|
-
protected readonly initialBuildPromises = new Map<string, Promise<void>>();
|
|
27
|
-
/** Initial build resolver (per package) */
|
|
28
|
-
protected readonly buildResolvers = new Map<string, () => void>();
|
|
29
|
-
|
|
30
|
-
constructor(options: {
|
|
31
|
-
cwd: string;
|
|
32
|
-
packages: PackageInfo[];
|
|
33
|
-
resultCollector: ResultCollector;
|
|
34
|
-
rebuildManager?: RebuildManager;
|
|
35
|
-
}) {
|
|
36
|
-
this.cwd = options.cwd;
|
|
37
|
-
this.packages = options.packages;
|
|
38
|
-
this.resultCollector = options.resultCollector;
|
|
39
|
-
this.rebuildManager = options.rebuildManager;
|
|
40
|
-
this.workerManager = new WorkerManager();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Initialize Builder
|
|
45
|
-
*/
|
|
46
|
-
initialize(): Promise<void> {
|
|
47
|
-
// Create initial build Promises
|
|
48
|
-
for (const pkg of this.packages) {
|
|
49
|
-
const key = this.getPackageKey(pkg);
|
|
50
|
-
this.initialBuildPromises.set(
|
|
51
|
-
key,
|
|
52
|
-
new Promise<void>((resolve) => {
|
|
53
|
-
this.buildResolvers.set(key, resolve);
|
|
54
|
-
}),
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Create Workers
|
|
59
|
-
this.createWorkers();
|
|
60
|
-
|
|
61
|
-
// Register event handlers
|
|
62
|
-
this.registerEventHandlers();
|
|
63
|
-
|
|
64
|
-
return Promise.resolve();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* One-time build (production)
|
|
69
|
-
*/
|
|
70
|
-
async build(): Promise<void> {
|
|
71
|
-
await Promise.all(this.packages.map((pkg) => this.buildPackage(pkg)));
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Start watch mode
|
|
76
|
-
*/
|
|
77
|
-
async startWatch(): Promise<void> {
|
|
78
|
-
this.isWatchMode = true;
|
|
79
|
-
|
|
80
|
-
// Start watching all packages (without await - run in background)
|
|
81
|
-
for (const pkg of this.packages) {
|
|
82
|
-
this.startWatchPackage(pkg);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Wait until initial build is complete
|
|
86
|
-
await Promise.all(this.initialBuildPromises.values());
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Shutdown Builder
|
|
91
|
-
*/
|
|
92
|
-
async shutdown(): Promise<void> {
|
|
93
|
-
await this.workerManager.terminateAll();
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Get initial build Promise map
|
|
98
|
-
*/
|
|
99
|
-
getInitialBuildPromises(): Map<string, Promise<void>> {
|
|
100
|
-
return this.initialBuildPromises;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Generate package key (for result storage)
|
|
105
|
-
*/
|
|
106
|
-
protected getPackageKey(pkg: PackageInfo): string {
|
|
107
|
-
return `${pkg.name}:${this.getBuilderType()}`;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Handle build completion
|
|
112
|
-
*/
|
|
113
|
-
protected completeBuild(pkg: PackageInfo): void {
|
|
114
|
-
const key = this.getPackageKey(pkg);
|
|
115
|
-
const resolver = this.buildResolvers.get(key);
|
|
116
|
-
if (resolver != null) {
|
|
117
|
-
resolver();
|
|
118
|
-
this.buildResolvers.delete(key);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Register common Worker event handlers (buildStart, build, error)
|
|
124
|
-
*
|
|
125
|
-
* Provides common logic so LibraryBuilder and DtsBuilder can register
|
|
126
|
-
* event handlers with the same pattern without duplication.
|
|
127
|
-
*
|
|
128
|
-
* @param workerKey Worker identifier (e.g., "core-common:build")
|
|
129
|
-
* @param resultType BuildResult type field value
|
|
130
|
-
* @param listrTitle Title to display during rebuild
|
|
131
|
-
*/
|
|
132
|
-
protected registerEventHandlersForWorker(
|
|
133
|
-
pkg: PackageInfo,
|
|
134
|
-
workerKey: string,
|
|
135
|
-
resultType: BuildResult["type"],
|
|
136
|
-
listrTitle: string,
|
|
137
|
-
): void {
|
|
138
|
-
const worker = this.workerManager.get(workerKey)!;
|
|
139
|
-
|
|
140
|
-
// Track if this is initial build
|
|
141
|
-
let isInitialBuild = true;
|
|
142
|
-
|
|
143
|
-
// Build start (during rebuild)
|
|
144
|
-
worker.on("buildStart", () => {
|
|
145
|
-
if (!isInitialBuild && this.rebuildManager != null) {
|
|
146
|
-
const resolver = this.rebuildManager.registerBuild(workerKey, listrTitle);
|
|
147
|
-
this.buildResolvers.set(workerKey, resolver);
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
// Build complete
|
|
152
|
-
worker.on("build", (data) => {
|
|
153
|
-
const event = data as BuildEventData;
|
|
154
|
-
|
|
155
|
-
// Output warnings
|
|
156
|
-
if (event.warnings != null && event.warnings.length > 0) {
|
|
157
|
-
baseBuilderLogger.warn(formatBuildMessages(pkg.name, pkg.config.target, event.warnings));
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const result: BuildResult = {
|
|
161
|
-
name: pkg.name,
|
|
162
|
-
target: pkg.config.target,
|
|
163
|
-
type: resultType,
|
|
164
|
-
status: event.success ? "success" : "error",
|
|
165
|
-
message: event.errors?.join("\n"),
|
|
166
|
-
};
|
|
167
|
-
this.resultCollector.add(result);
|
|
168
|
-
|
|
169
|
-
if (isInitialBuild) {
|
|
170
|
-
isInitialBuild = false;
|
|
171
|
-
}
|
|
172
|
-
this.completeBuild(pkg);
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
// Error
|
|
176
|
-
worker.on("error", (data) => {
|
|
177
|
-
const event = data as ErrorEventData;
|
|
178
|
-
const result: BuildResult = {
|
|
179
|
-
name: pkg.name,
|
|
180
|
-
target: pkg.config.target,
|
|
181
|
-
type: resultType,
|
|
182
|
-
status: "error",
|
|
183
|
-
message: event.message,
|
|
184
|
-
};
|
|
185
|
-
this.resultCollector.add(result);
|
|
186
|
-
|
|
187
|
-
if (isInitialBuild) {
|
|
188
|
-
isInitialBuild = false;
|
|
189
|
-
}
|
|
190
|
-
this.completeBuild(pkg);
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Builder type (for result key generation)
|
|
196
|
-
*/
|
|
197
|
-
protected abstract getBuilderType(): string;
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Create Workers
|
|
201
|
-
*/
|
|
202
|
-
protected abstract createWorkers(): void;
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Register event handlers
|
|
206
|
-
*/
|
|
207
|
-
protected abstract registerEventHandlers(): void;
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Single package build (production)
|
|
211
|
-
*/
|
|
212
|
-
protected abstract buildPackage(pkg: PackageInfo): Promise<void>;
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Start watching single package
|
|
216
|
-
*/
|
|
217
|
-
protected abstract startWatchPackage(pkg: PackageInfo): void;
|
|
218
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import type * as DtsWorkerModule from "../workers/dts.worker";
|
|
2
|
-
import type { BuildResult } from "../infra/ResultCollector";
|
|
3
|
-
import { err as errNs } from "@simplysm/core-common";
|
|
4
|
-
import type { TypecheckEnv } from "../utils/tsconfig";
|
|
5
|
-
import { BaseBuilder } from "./BaseBuilder";
|
|
6
|
-
import type { PackageInfo } from "./types";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Builder responsible for generating .d.ts files
|
|
10
|
-
*
|
|
11
|
-
* Handles TypeScript declaration file generation for library packages.
|
|
12
|
-
* Supports both watch mode and production builds.
|
|
13
|
-
*/
|
|
14
|
-
export class DtsBuilder extends BaseBuilder {
|
|
15
|
-
private readonly _workerPath: string;
|
|
16
|
-
|
|
17
|
-
constructor(options: ConstructorParameters<typeof BaseBuilder>[0]) {
|
|
18
|
-
super(options);
|
|
19
|
-
this._workerPath = import.meta.resolve("../workers/dts.worker");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
protected getBuilderType(): string {
|
|
23
|
-
return "dts";
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Determine TypecheckEnv from package target
|
|
28
|
-
*/
|
|
29
|
-
private _getEnv(pkg: PackageInfo): TypecheckEnv {
|
|
30
|
-
const target = pkg.config.target;
|
|
31
|
-
if (target === "node") return "node";
|
|
32
|
-
return "browser"; // browser, neutral, client all use browser environment
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
protected createWorkers(): void {
|
|
36
|
-
for (const pkg of this.packages) {
|
|
37
|
-
this.workerManager.create<typeof DtsWorkerModule>(`${pkg.name}:dts`, this._workerPath);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
protected registerEventHandlers(): void {
|
|
42
|
-
for (const pkg of this.packages) {
|
|
43
|
-
const workerKey = `${pkg.name}:dts`;
|
|
44
|
-
const listrTitle = `${pkg.name} (dts)`;
|
|
45
|
-
this.registerEventHandlersForWorker(pkg, workerKey, "dts", listrTitle);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
protected async buildPackage(pkg: PackageInfo): Promise<void> {
|
|
50
|
-
const worker = this.workerManager.get<typeof DtsWorkerModule>(`${pkg.name}:dts`)!;
|
|
51
|
-
|
|
52
|
-
const buildPromise = new Promise<void>((resolve) => {
|
|
53
|
-
const originalResolver = this.buildResolvers.get(`${pkg.name}:dts`);
|
|
54
|
-
this.buildResolvers.set(`${pkg.name}:dts`, () => {
|
|
55
|
-
originalResolver?.();
|
|
56
|
-
resolve();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
void worker.startWatch({
|
|
61
|
-
name: pkg.name,
|
|
62
|
-
cwd: this.cwd,
|
|
63
|
-
pkgDir: pkg.dir,
|
|
64
|
-
env: this._getEnv(pkg),
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
await buildPromise;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
protected startWatchPackage(pkg: PackageInfo): void {
|
|
71
|
-
const worker = this.workerManager.get<typeof DtsWorkerModule>(`${pkg.name}:dts`)!;
|
|
72
|
-
|
|
73
|
-
worker
|
|
74
|
-
.startWatch({
|
|
75
|
-
name: pkg.name,
|
|
76
|
-
cwd: this.cwd,
|
|
77
|
-
pkgDir: pkg.dir,
|
|
78
|
-
env: this._getEnv(pkg),
|
|
79
|
-
})
|
|
80
|
-
.catch((err: unknown) => {
|
|
81
|
-
const result: BuildResult = {
|
|
82
|
-
name: pkg.name,
|
|
83
|
-
target: pkg.config.target,
|
|
84
|
-
type: "dts",
|
|
85
|
-
status: "error",
|
|
86
|
-
message: errNs.message(err),
|
|
87
|
-
};
|
|
88
|
-
this.resultCollector.add(result);
|
|
89
|
-
this.completeBuild(pkg);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import type * as LibraryWorkerModule from "../workers/library.worker";
|
|
2
|
-
import type { BuildResult } from "../infra/ResultCollector";
|
|
3
|
-
import { err as errNs } from "@simplysm/core-common";
|
|
4
|
-
import { BaseBuilder } from "./BaseBuilder";
|
|
5
|
-
import type { BuildPackageInfo } from "./types";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Builder responsible for Library package builds
|
|
9
|
-
*
|
|
10
|
-
* Handles esbuild compilation for node/browser/neutral target packages.
|
|
11
|
-
* Supports both watch mode and production builds.
|
|
12
|
-
*/
|
|
13
|
-
export class LibraryBuilder extends BaseBuilder {
|
|
14
|
-
private readonly _workerPath: string;
|
|
15
|
-
|
|
16
|
-
constructor(options: ConstructorParameters<typeof BaseBuilder>[0]) {
|
|
17
|
-
super(options);
|
|
18
|
-
this._workerPath = import.meta.resolve("../workers/library.worker");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
protected getBuilderType(): string {
|
|
22
|
-
return "build";
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
protected createWorkers(): void {
|
|
26
|
-
for (const pkg of this.packages) {
|
|
27
|
-
this.workerManager.create<typeof LibraryWorkerModule>(`${pkg.name}:build`, this._workerPath);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
protected registerEventHandlers(): void {
|
|
32
|
-
for (const pkg of this.packages) {
|
|
33
|
-
const workerKey = `${pkg.name}:build`;
|
|
34
|
-
const listrTitle = `${pkg.name} (${pkg.config.target})`;
|
|
35
|
-
this.registerEventHandlersForWorker(pkg, workerKey, "build", listrTitle);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
protected async buildPackage(pkg: BuildPackageInfo): Promise<void> {
|
|
40
|
-
const worker = this.workerManager.get<typeof LibraryWorkerModule>(`${pkg.name}:build`)!;
|
|
41
|
-
|
|
42
|
-
// Create build completion Promise
|
|
43
|
-
const buildPromise = new Promise<void>((resolve) => {
|
|
44
|
-
const originalResolver = this.buildResolvers.get(`${pkg.name}:build`);
|
|
45
|
-
this.buildResolvers.set(`${pkg.name}:build`, () => {
|
|
46
|
-
originalResolver?.();
|
|
47
|
-
resolve();
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
// Start build (without await - completion detected via events)
|
|
52
|
-
void worker.startWatch({
|
|
53
|
-
name: pkg.name,
|
|
54
|
-
config: pkg.config,
|
|
55
|
-
cwd: this.cwd,
|
|
56
|
-
pkgDir: pkg.dir,
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
await buildPromise;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
protected startWatchPackage(pkg: BuildPackageInfo): void {
|
|
63
|
-
const worker = this.workerManager.get<typeof LibraryWorkerModule>(`${pkg.name}:build`)!;
|
|
64
|
-
|
|
65
|
-
worker
|
|
66
|
-
.startWatch({
|
|
67
|
-
name: pkg.name,
|
|
68
|
-
config: pkg.config,
|
|
69
|
-
cwd: this.cwd,
|
|
70
|
-
pkgDir: pkg.dir,
|
|
71
|
-
})
|
|
72
|
-
.catch((err: unknown) => {
|
|
73
|
-
const result: BuildResult = {
|
|
74
|
-
name: pkg.name,
|
|
75
|
-
target: pkg.config.target,
|
|
76
|
-
type: "build",
|
|
77
|
-
status: "error",
|
|
78
|
-
message: errNs.message(err),
|
|
79
|
-
};
|
|
80
|
-
this.resultCollector.add(result);
|
|
81
|
-
this.completeBuild(pkg);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Graceful shutdown (esbuild context dispose)
|
|
87
|
-
*/
|
|
88
|
-
override async shutdown(): Promise<void> {
|
|
89
|
-
const shutdownTimeout = 3000;
|
|
90
|
-
|
|
91
|
-
// Call stopWatch method on each Worker, then terminate
|
|
92
|
-
await Promise.all(
|
|
93
|
-
this.workerManager.ids.map(async (id) => {
|
|
94
|
-
const worker = this.workerManager.get<typeof LibraryWorkerModule>(id);
|
|
95
|
-
if (worker != null) {
|
|
96
|
-
try {
|
|
97
|
-
await Promise.race([
|
|
98
|
-
worker.stopWatch(),
|
|
99
|
-
new Promise<void>((resolve) => setTimeout(resolve, shutdownTimeout)),
|
|
100
|
-
]);
|
|
101
|
-
} catch {
|
|
102
|
-
// Continue even if stopWatch fails
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}),
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
await super.shutdown();
|
|
109
|
-
}
|
|
110
|
-
}
|
package/src/builders/types.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { SdBuildPackageConfig, SdPackageConfig } from "../sd-config.types";
|
|
2
|
-
import type { ResultCollector } from "../infra/ResultCollector";
|
|
3
|
-
import type { RebuildManager } from "../utils/rebuild-manager";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Package information
|
|
7
|
-
*/
|
|
8
|
-
export interface PackageInfo {
|
|
9
|
-
name: string;
|
|
10
|
-
dir: string;
|
|
11
|
-
config: SdPackageConfig;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* PackageInfo narrowed for build packages (node/browser/neutral)
|
|
16
|
-
*/
|
|
17
|
-
export type BuildPackageInfo = PackageInfo & { config: SdBuildPackageConfig };
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Common Builder options
|
|
21
|
-
*/
|
|
22
|
-
export interface BuilderOptions {
|
|
23
|
-
cwd: string;
|
|
24
|
-
packages: PackageInfo[];
|
|
25
|
-
resultCollector: ResultCollector;
|
|
26
|
-
rebuildManager?: RebuildManager;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Builder interface
|
|
31
|
-
*
|
|
32
|
-
* Common interface that all Builders must implement
|
|
33
|
-
*/
|
|
34
|
-
export interface IBuilder {
|
|
35
|
-
/**
|
|
36
|
-
* Initialize Builder (create Workers, register event handlers)
|
|
37
|
-
*/
|
|
38
|
-
initialize(): Promise<void>;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* One-time build (for production builds)
|
|
42
|
-
*/
|
|
43
|
-
build(): Promise<void>;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Start watch mode
|
|
47
|
-
* Promise resolves when initial build is complete
|
|
48
|
-
*/
|
|
49
|
-
startWatch(): Promise<void>;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Shutdown Builder (clean up Workers)
|
|
53
|
-
*/
|
|
54
|
-
shutdown(): Promise<void>;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Get initial build Promise map (for Listr tasks)
|
|
58
|
-
*/
|
|
59
|
-
getInitialBuildPromises(): Map<string, Promise<void>>;
|
|
60
|
-
}
|