@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
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import ts from "typescript";
|
|
3
|
-
import { Worker,
|
|
4
|
-
import { err as errNs } from "@simplysm/core-common";
|
|
3
|
+
import { Worker, fsx } from "@simplysm/core-node";
|
|
5
4
|
import { consola } from "consola";
|
|
6
5
|
import type {
|
|
7
6
|
SdConfig,
|
|
@@ -11,18 +10,14 @@ import type {
|
|
|
11
10
|
} from "../sd-config.types";
|
|
12
11
|
import { loadSdConfig } from "../utils/sd-config";
|
|
13
12
|
import { getVersion } from "../utils/build-env";
|
|
14
|
-
import type { TypecheckEnv } from "../utils/tsconfig";
|
|
15
13
|
import { deserializeDiagnostic } from "../utils/typecheck-serialization";
|
|
16
14
|
import type { LintOptions } from "../commands/lint";
|
|
17
15
|
import type * as LintWorkerModule from "../workers/lint.worker";
|
|
18
|
-
import type * as LibraryWorkerModule from "../workers/library.worker";
|
|
19
|
-
import type * as ServerWorkerModule from "../workers/server.worker";
|
|
20
|
-
import type * as ClientWorkerModule from "../workers/client.worker";
|
|
21
|
-
import type * as DtsWorkerModule from "../workers/dts.worker";
|
|
22
|
-
import { Capacitor } from "../capacitor/capacitor";
|
|
23
|
-
import { Electron } from "../electron/electron";
|
|
24
16
|
import { copySrcFiles } from "../utils/copy-src";
|
|
25
17
|
import { formatBuildMessages } from "../utils/output-utils";
|
|
18
|
+
import { createBuildEngine } from "../engines/index";
|
|
19
|
+
import { runWithConcurrency, getMaxConcurrency } from "../utils/concurrency";
|
|
20
|
+
import { validateTargets } from "../utils/package-utils";
|
|
26
21
|
|
|
27
22
|
//#region Types
|
|
28
23
|
|
|
@@ -42,7 +37,7 @@ export interface BuildOrchestratorOptions {
|
|
|
42
37
|
interface BuildStepResult {
|
|
43
38
|
name: string;
|
|
44
39
|
target: string;
|
|
45
|
-
type: "js" | "dts"
|
|
40
|
+
type: "js" | "dts";
|
|
46
41
|
success: boolean;
|
|
47
42
|
errors?: string[];
|
|
48
43
|
warnings?: string[];
|
|
@@ -55,10 +50,10 @@ interface BuildStepResult {
|
|
|
55
50
|
interface ClassifiedPackages {
|
|
56
51
|
/** node/browser/neutral target (JS + dts) */
|
|
57
52
|
buildPackages: Array<{ name: string; config: SdBuildPackageConfig }>;
|
|
58
|
-
/** client target (Vite build + typecheck) */
|
|
59
|
-
clientPackages: Array<{ name: string; config: SdClientPackageConfig }>;
|
|
60
53
|
/** server target (JS build, no dts) */
|
|
61
54
|
serverPackages: Array<{ name: string; config: SdServerPackageConfig }>;
|
|
55
|
+
/** client target (Vite production build, no dts) */
|
|
56
|
+
clientPackages: Array<{ name: string; config: SdClientPackageConfig }>;
|
|
62
57
|
}
|
|
63
58
|
|
|
64
59
|
//#endregion
|
|
@@ -68,11 +63,11 @@ interface ClassifiedPackages {
|
|
|
68
63
|
/**
|
|
69
64
|
* Classify packages by target
|
|
70
65
|
* - node/browser/neutral: buildPackages (JS + dts)
|
|
71
|
-
* - client: clientPackages (Vite build + typecheck)
|
|
72
66
|
* - server: serverPackages (JS build, no dts)
|
|
67
|
+
* - client: clientPackages (Vite production build, no dts)
|
|
73
68
|
* - scripts: excluded
|
|
74
69
|
*/
|
|
75
|
-
function classifyPackages(
|
|
70
|
+
export function classifyPackages(
|
|
76
71
|
packages: Record<
|
|
77
72
|
string,
|
|
78
73
|
| SdBuildPackageConfig
|
|
@@ -84,8 +79,8 @@ function classifyPackages(
|
|
|
84
79
|
targets: string[],
|
|
85
80
|
): ClassifiedPackages {
|
|
86
81
|
const buildPackages: ClassifiedPackages["buildPackages"] = [];
|
|
87
|
-
const clientPackages: ClassifiedPackages["clientPackages"] = [];
|
|
88
82
|
const serverPackages: ClassifiedPackages["serverPackages"] = [];
|
|
83
|
+
const clientPackages: ClassifiedPackages["clientPackages"] = [];
|
|
89
84
|
|
|
90
85
|
for (const [name, config] of Object.entries(packages)) {
|
|
91
86
|
if (config == null) continue;
|
|
@@ -103,7 +98,7 @@ function classifyPackages(
|
|
|
103
98
|
}
|
|
104
99
|
}
|
|
105
100
|
|
|
106
|
-
return { buildPackages,
|
|
101
|
+
return { buildPackages, serverPackages, clientPackages };
|
|
107
102
|
}
|
|
108
103
|
|
|
109
104
|
/**
|
|
@@ -124,8 +119,8 @@ async function cleanDistFolders(cwd: string, packageNames: string[]): Promise<vo
|
|
|
124
119
|
* - Clean dist folders (clean build)
|
|
125
120
|
* - Run lint + build concurrently
|
|
126
121
|
* - node/browser/neutral targets: esbuild JS build + dts generation
|
|
127
|
-
* - client targets: Vite production build + typecheck + Capacitor/Electron builds
|
|
128
122
|
* - server targets: esbuild JS build
|
|
123
|
+
* - client targets: Vite production build
|
|
129
124
|
*/
|
|
130
125
|
export class BuildOrchestrator {
|
|
131
126
|
private readonly _cwd: string;
|
|
@@ -166,6 +161,9 @@ export class BuildOrchestrator {
|
|
|
166
161
|
throw err;
|
|
167
162
|
}
|
|
168
163
|
|
|
164
|
+
// Validate targets
|
|
165
|
+
validateTargets(this._options.targets, this._sdConfig.packages);
|
|
166
|
+
|
|
169
167
|
// Prepare VER and DEV environment variables
|
|
170
168
|
const version = await getVersion(this._cwd);
|
|
171
169
|
this._baseEnv = { VER: version, DEV: "false" };
|
|
@@ -174,8 +172,8 @@ export class BuildOrchestrator {
|
|
|
174
172
|
this._classified = classifyPackages(this._sdConfig.packages, this._options.targets);
|
|
175
173
|
this._allPackageNames = [
|
|
176
174
|
...this._classified.buildPackages.map((p) => p.name),
|
|
177
|
-
...this._classified.clientPackages.map((p) => p.name),
|
|
178
175
|
...this._classified.serverPackages.map((p) => p.name),
|
|
176
|
+
...this._classified.clientPackages.map((p) => p.name),
|
|
179
177
|
];
|
|
180
178
|
|
|
181
179
|
if (this._allPackageNames.length === 0) {
|
|
@@ -185,8 +183,8 @@ export class BuildOrchestrator {
|
|
|
185
183
|
|
|
186
184
|
this._logger.debug("package classification complete", {
|
|
187
185
|
buildPackages: this._classified.buildPackages.map((p) => p.name),
|
|
188
|
-
clientPackages: this._classified.clientPackages.map((p) => p.name),
|
|
189
186
|
serverPackages: this._classified.serverPackages.map((p) => p.name),
|
|
187
|
+
clientPackages: this._classified.clientPackages.map((p) => p.name),
|
|
190
188
|
});
|
|
191
189
|
}
|
|
192
190
|
|
|
@@ -211,11 +209,7 @@ export class BuildOrchestrator {
|
|
|
211
209
|
// Track errors (wrapped in object to allow mutation tracking in callbacks)
|
|
212
210
|
const state = { hasError: false };
|
|
213
211
|
|
|
214
|
-
// Worker
|
|
215
|
-
const libraryWorkerPath = import.meta.resolve("../workers/library.worker");
|
|
216
|
-
const serverWorkerPath = import.meta.resolve("../workers/server.worker");
|
|
217
|
-
const clientWorkerPath = import.meta.resolve("../workers/client.worker");
|
|
218
|
-
const dtsWorkerPath = import.meta.resolve("../workers/dts.worker");
|
|
212
|
+
// Worker path (lint only — library/server are handled by BuildEngine)
|
|
219
213
|
const lintWorkerPath = import.meta.resolve("../workers/lint.worker");
|
|
220
214
|
|
|
221
215
|
// File cache (for diagnostics output)
|
|
@@ -246,51 +240,44 @@ export class BuildOrchestrator {
|
|
|
246
240
|
// Create list of build tasks
|
|
247
241
|
const buildTasks: Array<() => Promise<void>> = [];
|
|
248
242
|
|
|
249
|
-
// buildPackages: JS build + dts generation
|
|
243
|
+
// buildPackages: JS build + dts generation via BuildEngine
|
|
250
244
|
for (const { name, config } of classified.buildPackages) {
|
|
251
245
|
const pkgDir = path.join(this._cwd, "packages", name);
|
|
252
|
-
const env: TypecheckEnv = config.target === "node" ? "node" : "browser";
|
|
253
246
|
|
|
254
247
|
buildTasks.push(async () => {
|
|
255
248
|
this._logger.debug(`${name} (${config.target}) started`);
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
Worker.create<typeof DtsWorkerModule>(dtsWorkerPath);
|
|
249
|
+
const engine = createBuildEngine(
|
|
250
|
+
{ name, dir: pkgDir, config },
|
|
251
|
+
{ cwd: this._cwd },
|
|
252
|
+
);
|
|
261
253
|
|
|
262
254
|
try {
|
|
263
|
-
const
|
|
264
|
-
// JS build
|
|
265
|
-
libraryWorker.build({ name, config, cwd: this._cwd, pkgDir }),
|
|
266
|
-
// DTS generation
|
|
267
|
-
dtsWorker.build({ name, cwd: this._cwd, pkgDir, env, emit: true }),
|
|
268
|
-
]);
|
|
255
|
+
const engineResult = await engine.run({ js: true, dts: true });
|
|
269
256
|
|
|
270
257
|
// Handle JS build results
|
|
271
258
|
results.push({
|
|
272
259
|
name,
|
|
273
260
|
target: config.target,
|
|
274
261
|
type: "js",
|
|
275
|
-
success:
|
|
276
|
-
errors:
|
|
277
|
-
warnings:
|
|
262
|
+
success: engineResult.js.success,
|
|
263
|
+
errors: engineResult.js.errors.length > 0 ? engineResult.js.errors : undefined,
|
|
264
|
+
warnings: engineResult.js.warnings.length > 0 ? engineResult.js.warnings : undefined,
|
|
278
265
|
});
|
|
279
|
-
if (!
|
|
266
|
+
if (!engineResult.js.success) state.hasError = true;
|
|
280
267
|
|
|
281
268
|
// Handle DTS results
|
|
282
|
-
const diagnostics =
|
|
269
|
+
const diagnostics = engineResult.dts.diagnostics.map((d) => deserializeDiagnostic(d, fileCache));
|
|
283
270
|
results.push({
|
|
284
271
|
name,
|
|
285
272
|
target: config.target,
|
|
286
273
|
type: "dts",
|
|
287
|
-
success:
|
|
288
|
-
errors:
|
|
274
|
+
success: engineResult.dts.success,
|
|
275
|
+
errors: engineResult.dts.errors.length > 0 ? engineResult.dts.errors : undefined,
|
|
289
276
|
diagnostics,
|
|
290
277
|
});
|
|
291
|
-
if (!
|
|
278
|
+
if (!engineResult.dts.success) state.hasError = true;
|
|
292
279
|
} finally {
|
|
293
|
-
await
|
|
280
|
+
await engine.stop();
|
|
294
281
|
}
|
|
295
282
|
|
|
296
283
|
// Copy copySrc files
|
|
@@ -301,152 +288,94 @@ export class BuildOrchestrator {
|
|
|
301
288
|
});
|
|
302
289
|
}
|
|
303
290
|
|
|
304
|
-
//
|
|
305
|
-
for (const { name, config } of classified.
|
|
291
|
+
// serverPackages: JS build + typecheck via BuildEngine
|
|
292
|
+
for (const { name, config } of classified.serverPackages) {
|
|
306
293
|
const pkgDir = path.join(this._cwd, "packages", name);
|
|
307
294
|
|
|
308
295
|
buildTasks.push(async () => {
|
|
309
|
-
this._logger.debug(`${name} (
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
Worker.create<typeof DtsWorkerModule>(dtsWorkerPath);
|
|
296
|
+
this._logger.debug(`${name} (server) started`);
|
|
297
|
+
const engine = createBuildEngine(
|
|
298
|
+
{ name, dir: pkgDir, config: { ...config, env: { ...baseEnv, ...config.env } } },
|
|
299
|
+
{ cwd: this._cwd },
|
|
300
|
+
);
|
|
315
301
|
|
|
316
302
|
try {
|
|
317
|
-
const
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
};
|
|
321
|
-
const [clientResult, dtsResult] = await Promise.all([
|
|
322
|
-
// Vite production build
|
|
323
|
-
clientWorker.build({ name, config: clientConfig, cwd: this._cwd, pkgDir }),
|
|
324
|
-
// typecheck (without dts)
|
|
325
|
-
dtsWorker.build({
|
|
326
|
-
name,
|
|
327
|
-
cwd: this._cwd,
|
|
328
|
-
pkgDir,
|
|
329
|
-
env: "browser",
|
|
330
|
-
emit: false,
|
|
331
|
-
}),
|
|
332
|
-
]);
|
|
333
|
-
|
|
334
|
-
// Handle Vite build results
|
|
303
|
+
const engineResult = await engine.run({ js: true, dts: false });
|
|
304
|
+
|
|
305
|
+
// Handle JS build results
|
|
335
306
|
results.push({
|
|
336
307
|
name,
|
|
337
|
-
target: "
|
|
338
|
-
type: "
|
|
339
|
-
success:
|
|
340
|
-
errors:
|
|
308
|
+
target: "server",
|
|
309
|
+
type: "js",
|
|
310
|
+
success: engineResult.js.success,
|
|
311
|
+
errors: engineResult.js.errors.length > 0 ? engineResult.js.errors : undefined,
|
|
312
|
+
warnings: engineResult.js.warnings.length > 0 ? engineResult.js.warnings : undefined,
|
|
341
313
|
});
|
|
342
|
-
if (!
|
|
314
|
+
if (!engineResult.js.success) state.hasError = true;
|
|
343
315
|
|
|
344
|
-
// Handle typecheck results
|
|
345
|
-
const diagnostics =
|
|
316
|
+
// Handle DTS/typecheck results
|
|
317
|
+
const diagnostics = engineResult.dts.diagnostics.map((d) => deserializeDiagnostic(d, fileCache));
|
|
346
318
|
results.push({
|
|
347
319
|
name,
|
|
348
|
-
target: "
|
|
320
|
+
target: "server",
|
|
349
321
|
type: "dts",
|
|
350
|
-
success:
|
|
351
|
-
errors:
|
|
322
|
+
success: engineResult.dts.success,
|
|
323
|
+
errors: engineResult.dts.errors.length > 0 ? engineResult.dts.errors : undefined,
|
|
352
324
|
diagnostics,
|
|
353
325
|
});
|
|
354
|
-
if (!
|
|
326
|
+
if (!engineResult.dts.success) state.hasError = true;
|
|
355
327
|
} finally {
|
|
356
|
-
await
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// Capacitor build (only if configured)
|
|
360
|
-
if (config.capacitor != null) {
|
|
361
|
-
const outPath = path.join(pkgDir, "dist");
|
|
362
|
-
try {
|
|
363
|
-
const cap = await Capacitor.create(pkgDir, config.capacitor, config.exclude);
|
|
364
|
-
await cap.initialize();
|
|
365
|
-
await cap.build(outPath);
|
|
366
|
-
results.push({
|
|
367
|
-
name,
|
|
368
|
-
target: "client",
|
|
369
|
-
type: "capacitor",
|
|
370
|
-
success: true,
|
|
371
|
-
});
|
|
372
|
-
} catch (err) {
|
|
373
|
-
results.push({
|
|
374
|
-
name,
|
|
375
|
-
target: "client",
|
|
376
|
-
type: "capacitor",
|
|
377
|
-
success: false,
|
|
378
|
-
errors: [errNs.message(err)],
|
|
379
|
-
});
|
|
380
|
-
state.hasError = true;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
// Electron build (only if configured)
|
|
385
|
-
if (config.electron != null) {
|
|
386
|
-
const outPath = path.join(pkgDir, "dist");
|
|
387
|
-
try {
|
|
388
|
-
const electron = await Electron.create(pkgDir, config.electron, config.exclude);
|
|
389
|
-
await electron.initialize();
|
|
390
|
-
await electron.build(outPath);
|
|
391
|
-
results.push({
|
|
392
|
-
name,
|
|
393
|
-
target: "client",
|
|
394
|
-
type: "electron",
|
|
395
|
-
success: true,
|
|
396
|
-
});
|
|
397
|
-
} catch (err) {
|
|
398
|
-
results.push({
|
|
399
|
-
name,
|
|
400
|
-
target: "client",
|
|
401
|
-
type: "electron",
|
|
402
|
-
success: false,
|
|
403
|
-
errors: [errNs.message(err)],
|
|
404
|
-
});
|
|
405
|
-
state.hasError = true;
|
|
406
|
-
}
|
|
328
|
+
await engine.stop();
|
|
407
329
|
}
|
|
408
|
-
this._logger.debug(`${name} (
|
|
330
|
+
this._logger.debug(`${name} (server) completed`);
|
|
409
331
|
});
|
|
410
332
|
}
|
|
411
333
|
|
|
412
|
-
//
|
|
413
|
-
for (const { name, config } of classified.
|
|
334
|
+
// clientPackages: Vite production build via ViteEngine (no dts, no env injection)
|
|
335
|
+
for (const { name, config } of classified.clientPackages) {
|
|
414
336
|
const pkgDir = path.join(this._cwd, "packages", name);
|
|
415
337
|
|
|
416
338
|
buildTasks.push(async () => {
|
|
417
|
-
this._logger.debug(`${name} (
|
|
418
|
-
const
|
|
419
|
-
|
|
339
|
+
this._logger.debug(`${name} (client) started`);
|
|
340
|
+
const engine = createBuildEngine(
|
|
341
|
+
{ name, dir: pkgDir, config },
|
|
342
|
+
{ cwd: this._cwd },
|
|
343
|
+
);
|
|
420
344
|
|
|
421
345
|
try {
|
|
422
|
-
const
|
|
346
|
+
const engineResult = await engine.run({ js: true, dts: false });
|
|
347
|
+
|
|
348
|
+
// Handle JS build results
|
|
349
|
+
results.push({
|
|
423
350
|
name,
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
pm2: config.pm2,
|
|
430
|
-
packageManager: config.packageManager,
|
|
351
|
+
target: "client",
|
|
352
|
+
type: "js",
|
|
353
|
+
success: engineResult.js.success,
|
|
354
|
+
errors: engineResult.js.errors.length > 0 ? engineResult.js.errors : undefined,
|
|
355
|
+
warnings: engineResult.js.warnings.length > 0 ? engineResult.js.warnings : undefined,
|
|
431
356
|
});
|
|
357
|
+
if (!engineResult.js.success) state.hasError = true;
|
|
432
358
|
|
|
359
|
+
// Handle DTS results (always success for client)
|
|
360
|
+
const diagnostics = engineResult.dts.diagnostics.map((d) => deserializeDiagnostic(d, fileCache));
|
|
433
361
|
results.push({
|
|
434
362
|
name,
|
|
435
|
-
target: "
|
|
436
|
-
type: "
|
|
437
|
-
success:
|
|
438
|
-
errors:
|
|
439
|
-
|
|
363
|
+
target: "client",
|
|
364
|
+
type: "dts",
|
|
365
|
+
success: engineResult.dts.success,
|
|
366
|
+
errors: engineResult.dts.errors.length > 0 ? engineResult.dts.errors : undefined,
|
|
367
|
+
diagnostics,
|
|
440
368
|
});
|
|
441
|
-
if (!
|
|
369
|
+
if (!engineResult.dts.success) state.hasError = true;
|
|
442
370
|
} finally {
|
|
443
|
-
await
|
|
371
|
+
await engine.stop();
|
|
444
372
|
}
|
|
445
|
-
this._logger.debug(`${name} (
|
|
373
|
+
this._logger.debug(`${name} (client) completed`);
|
|
446
374
|
});
|
|
447
375
|
}
|
|
448
376
|
|
|
449
377
|
// Run Lint + all builds in parallel
|
|
378
|
+
// Lint runs independently; build tasks use concurrency limit (PERF-001)
|
|
450
379
|
const lintWorker = Worker.create<typeof LintWorkerModule>(lintWorkerPath);
|
|
451
380
|
const lintTask = async (): Promise<void> => {
|
|
452
381
|
try {
|
|
@@ -456,7 +385,8 @@ export class BuildOrchestrator {
|
|
|
456
385
|
await lintWorker.terminate();
|
|
457
386
|
}
|
|
458
387
|
};
|
|
459
|
-
|
|
388
|
+
const buildPromise = runWithConcurrency(buildTasks, getMaxConcurrency());
|
|
389
|
+
await Promise.allSettled([lintTask(), buildPromise]);
|
|
460
390
|
this._logger.success("Lint + Build");
|
|
461
391
|
|
|
462
392
|
// Output results
|