@simplysm/sd-cli 12.16.27 → 13.0.0-beta.12
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 +529 -0
- package/dist/builders/BaseBuilder.js +86 -0
- package/dist/builders/BaseBuilder.js.map +7 -0
- package/dist/builders/DtsBuilder.js +109 -0
- package/dist/builders/DtsBuilder.js.map +7 -0
- package/dist/builders/LibraryBuilder.js +122 -0
- package/dist/builders/LibraryBuilder.js.map +7 -0
- package/dist/builders/index.js +9 -0
- package/dist/builders/index.js.map +7 -0
- package/dist/builders/types.js +1 -0
- package/dist/builders/types.js.map +7 -0
- package/dist/capacitor/capacitor.js +619 -0
- package/dist/capacitor/capacitor.js.map +7 -0
- package/dist/commands/add-client.js +83 -0
- package/dist/commands/add-client.js.map +7 -0
- package/dist/commands/add-server.js +91 -0
- package/dist/commands/add-server.js.map +7 -0
- package/dist/commands/build.js +310 -0
- package/dist/commands/build.js.map +7 -0
- package/dist/commands/dev.js +426 -0
- package/dist/commands/dev.js.map +7 -0
- package/dist/commands/device.js +107 -0
- package/dist/commands/device.js.map +7 -0
- package/dist/commands/init.js +58 -0
- package/dist/commands/init.js.map +7 -0
- package/dist/commands/lint.js +138 -0
- package/dist/commands/lint.js.map +7 -0
- package/dist/commands/publish.js +401 -0
- package/dist/commands/publish.js.map +7 -0
- package/dist/commands/typecheck.js +197 -0
- package/dist/commands/typecheck.js.map +7 -0
- package/dist/commands/watch.js +19 -0
- package/dist/commands/watch.js.map +7 -0
- package/dist/core-common/src/common.types.d.ts +74 -0
- package/dist/core-common/src/common.types.d.ts.map +1 -0
- package/dist/core-common/src/env.d.ts +6 -0
- package/dist/core-common/src/env.d.ts.map +1 -0
- package/dist/core-common/src/errors/argument-error.d.ts +25 -0
- package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/sd-error.d.ts +27 -0
- package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
- package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
- package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
- package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
- package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
- package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
- package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
- package/dist/core-common/src/features/event-emitter.d.ts +66 -0
- package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
- package/dist/core-common/src/features/serial-queue.d.ts +47 -0
- package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
- package/dist/core-common/src/index.d.ts +32 -0
- package/dist/core-common/src/index.d.ts.map +1 -0
- package/dist/core-common/src/types/date-only.d.ts +152 -0
- package/dist/core-common/src/types/date-only.d.ts.map +1 -0
- package/dist/core-common/src/types/date-time.d.ts +96 -0
- package/dist/core-common/src/types/date-time.d.ts.map +1 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
- package/dist/core-common/src/types/time.d.ts +68 -0
- package/dist/core-common/src/types/time.d.ts.map +1 -0
- package/dist/core-common/src/types/uuid.d.ts +35 -0
- package/dist/core-common/src/types/uuid.d.ts.map +1 -0
- package/dist/core-common/src/utils/bytes.d.ts +51 -0
- package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
- package/dist/core-common/src/utils/date-format.d.ts +90 -0
- package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
- package/dist/core-common/src/utils/json.d.ts +34 -0
- package/dist/core-common/src/utils/json.d.ts.map +1 -0
- package/dist/core-common/src/utils/num.d.ts +60 -0
- package/dist/core-common/src/utils/num.d.ts.map +1 -0
- package/dist/core-common/src/utils/obj.d.ts +258 -0
- package/dist/core-common/src/utils/obj.d.ts.map +1 -0
- package/dist/core-common/src/utils/path.d.ts +23 -0
- package/dist/core-common/src/utils/path.d.ts.map +1 -0
- package/dist/core-common/src/utils/primitive.d.ts +18 -0
- package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
- package/dist/core-common/src/utils/str.d.ts +103 -0
- package/dist/core-common/src/utils/str.d.ts.map +1 -0
- package/dist/core-common/src/utils/template-strings.d.ts +84 -0
- package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
- package/dist/core-common/src/utils/transferable.d.ts +47 -0
- package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
- package/dist/core-common/src/utils/wait.d.ts +19 -0
- package/dist/core-common/src/utils/wait.d.ts.map +1 -0
- package/dist/core-common/src/utils/xml.d.ts +36 -0
- package/dist/core-common/src/utils/xml.d.ts.map +1 -0
- package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
- package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
- package/dist/core-node/src/features/fs-watcher.d.ts +70 -0
- package/dist/core-node/src/features/fs-watcher.d.ts.map +1 -0
- package/dist/core-node/src/index.d.ts +7 -0
- package/dist/core-node/src/index.d.ts.map +1 -0
- package/dist/core-node/src/utils/fs.d.ts +197 -0
- package/dist/core-node/src/utils/fs.d.ts.map +1 -0
- package/dist/core-node/src/utils/path.d.ts +75 -0
- package/dist/core-node/src/utils/path.d.ts.map +1 -0
- package/dist/core-node/src/worker/create-worker.d.ts +23 -0
- package/dist/core-node/src/worker/create-worker.d.ts.map +1 -0
- package/dist/core-node/src/worker/types.d.ts +67 -0
- package/dist/core-node/src/worker/types.d.ts.map +1 -0
- package/dist/core-node/src/worker/worker.d.ts +27 -0
- package/dist/core-node/src/worker/worker.d.ts.map +1 -0
- package/dist/electron/electron.js +242 -0
- package/dist/electron/electron.js.map +7 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +7 -0
- package/dist/infra/ResultCollector.js +59 -0
- package/dist/infra/ResultCollector.js.map +7 -0
- package/dist/infra/SignalHandler.js +44 -0
- package/dist/infra/SignalHandler.js.map +7 -0
- package/dist/infra/WorkerManager.js +56 -0
- package/dist/infra/WorkerManager.js.map +7 -0
- package/dist/infra/index.js +9 -0
- package/dist/infra/index.js.map +7 -0
- package/dist/orchestrators/WatchOrchestrator.js +135 -0
- package/dist/orchestrators/WatchOrchestrator.js.map +7 -0
- package/dist/orchestrators/index.js +5 -0
- package/dist/orchestrators/index.js.map +7 -0
- package/dist/sd-cli/src/builders/BaseBuilder.d.ts +77 -0
- package/dist/sd-cli/src/builders/BaseBuilder.d.ts.map +1 -0
- package/dist/sd-cli/src/builders/DtsBuilder.d.ts +22 -0
- package/dist/sd-cli/src/builders/DtsBuilder.d.ts.map +1 -0
- package/dist/sd-cli/src/builders/LibraryBuilder.d.ts +22 -0
- package/dist/sd-cli/src/builders/LibraryBuilder.d.ts.map +1 -0
- package/dist/sd-cli/src/builders/index.d.ts +5 -0
- package/dist/sd-cli/src/builders/index.d.ts.map +1 -0
- package/dist/sd-cli/src/builders/types.d.ts +49 -0
- package/dist/sd-cli/src/builders/types.d.ts.map +1 -0
- package/dist/sd-cli/src/capacitor/capacitor.d.ts +131 -0
- package/dist/sd-cli/src/capacitor/capacitor.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/add-client.d.ts +18 -0
- package/dist/sd-cli/src/commands/add-client.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/add-server.d.ts +18 -0
- package/dist/sd-cli/src/commands/add-server.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/build.d.ts +25 -0
- package/dist/sd-cli/src/commands/build.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/dev.d.ts +23 -0
- package/dist/sd-cli/src/commands/dev.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/device.d.ts +22 -0
- package/dist/sd-cli/src/commands/device.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/init.d.ts +15 -0
- package/dist/sd-cli/src/commands/init.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/lint.d.ts +31 -0
- package/dist/sd-cli/src/commands/lint.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/publish.d.ts +27 -0
- package/dist/sd-cli/src/commands/publish.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/typecheck.d.ts +39 -0
- package/dist/sd-cli/src/commands/typecheck.d.ts.map +1 -0
- package/dist/sd-cli/src/commands/watch.d.ts +20 -0
- package/dist/sd-cli/src/commands/watch.d.ts.map +1 -0
- package/dist/sd-cli/src/electron/electron.d.ts +79 -0
- package/dist/sd-cli/src/electron/electron.d.ts.map +1 -0
- package/dist/sd-cli/src/index.d.ts +2 -0
- package/dist/sd-cli/src/index.d.ts.map +1 -0
- package/dist/sd-cli/src/infra/ResultCollector.d.ts +56 -0
- package/dist/sd-cli/src/infra/ResultCollector.d.ts.map +1 -0
- package/dist/sd-cli/src/infra/SignalHandler.d.ts +26 -0
- package/dist/sd-cli/src/infra/SignalHandler.d.ts.map +1 -0
- package/dist/sd-cli/src/infra/WorkerManager.d.ts +40 -0
- package/dist/sd-cli/src/infra/WorkerManager.d.ts.map +1 -0
- package/dist/sd-cli/src/infra/index.d.ts +4 -0
- package/dist/sd-cli/src/infra/index.d.ts.map +1 -0
- package/dist/sd-cli/src/orchestrators/WatchOrchestrator.d.ts +48 -0
- package/dist/sd-cli/src/orchestrators/WatchOrchestrator.d.ts.map +1 -0
- package/dist/sd-cli/src/orchestrators/index.d.ts +2 -0
- package/dist/sd-cli/src/orchestrators/index.d.ts.map +1 -0
- package/dist/sd-cli/src/sd-cli.d.ts +9 -0
- package/dist/sd-cli/src/sd-cli.d.ts.map +1 -0
- package/dist/sd-cli/src/sd-config.types.d.ts +222 -0
- package/dist/sd-cli/src/sd-config.types.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/build-env.d.ts +5 -0
- package/dist/sd-cli/src/utils/build-env.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/config-editor.d.ts +17 -0
- package/dist/sd-cli/src/utils/config-editor.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/esbuild-config.d.ts +49 -0
- package/dist/sd-cli/src/utils/esbuild-config.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/listr-manager.d.ts +37 -0
- package/dist/sd-cli/src/utils/listr-manager.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/output-utils.d.ts +21 -0
- package/dist/sd-cli/src/utils/output-utils.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/package-utils.d.ts +29 -0
- package/dist/sd-cli/src/utils/package-utils.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/sd-config.d.ts +12 -0
- package/dist/sd-cli/src/utils/sd-config.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/spawn.d.ts +26 -0
- package/dist/sd-cli/src/utils/spawn.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/tailwind-config-deps.d.ts +8 -0
- package/dist/sd-cli/src/utils/tailwind-config-deps.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/template.d.ts +14 -0
- package/dist/sd-cli/src/utils/template.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/tsconfig.d.ts +35 -0
- package/dist/sd-cli/src/utils/tsconfig.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/typecheck-serialization.d.ts +28 -0
- package/dist/sd-cli/src/utils/typecheck-serialization.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/vite-config.d.ts +25 -0
- package/dist/sd-cli/src/utils/vite-config.d.ts.map +1 -0
- package/dist/sd-cli/src/utils/worker-events.d.ts +53 -0
- package/dist/sd-cli/src/utils/worker-events.d.ts.map +1 -0
- package/dist/sd-cli/src/workers/client.worker.d.ts +82 -0
- package/dist/sd-cli/src/workers/client.worker.d.ts.map +1 -0
- package/dist/sd-cli/src/workers/dts.worker.d.ts +73 -0
- package/dist/sd-cli/src/workers/dts.worker.d.ts.map +1 -0
- package/dist/sd-cli/src/workers/library.worker.d.ts +73 -0
- package/dist/sd-cli/src/workers/library.worker.d.ts.map +1 -0
- package/dist/sd-cli/src/workers/server-runtime.worker.d.ts +40 -0
- package/dist/sd-cli/src/workers/server-runtime.worker.d.ts.map +1 -0
- package/dist/sd-cli/src/workers/server.worker.d.ts +76 -0
- package/dist/sd-cli/src/workers/server.worker.d.ts.map +1 -0
- package/dist/sd-cli.js +239 -76
- package/dist/sd-cli.js.map +7 -0
- package/dist/sd-config.types.js +1 -0
- package/dist/sd-config.types.js.map +7 -0
- package/dist/storage/src/clients/ftp-storage-client.d.ts +56 -0
- package/dist/storage/src/clients/ftp-storage-client.d.ts.map +1 -0
- package/dist/storage/src/clients/sftp-storage-client.d.ts +48 -0
- package/dist/storage/src/clients/sftp-storage-client.d.ts.map +1 -0
- package/dist/storage/src/index.d.ts +7 -0
- package/dist/storage/src/index.d.ts.map +1 -0
- package/dist/storage/src/storage-factory.d.ts +20 -0
- package/dist/storage/src/storage-factory.d.ts.map +1 -0
- package/dist/storage/src/types/storage-conn-config.d.ts +7 -0
- package/dist/storage/src/types/storage-conn-config.d.ts.map +1 -0
- package/dist/storage/src/types/storage-type.d.ts +2 -0
- package/dist/storage/src/types/storage-type.d.ts.map +1 -0
- package/dist/storage/src/types/storage.d.ts +19 -0
- package/dist/storage/src/types/storage.d.ts.map +1 -0
- package/dist/utils/build-env.js +12 -0
- package/dist/utils/build-env.js.map +7 -0
- package/dist/utils/config-editor.js +77 -0
- package/dist/utils/config-editor.js.map +7 -0
- package/dist/utils/esbuild-config.js +44 -0
- package/dist/utils/esbuild-config.js.map +7 -0
- package/dist/utils/listr-manager.js +59 -0
- package/dist/utils/listr-manager.js.map +7 -0
- package/dist/utils/output-utils.js +40 -0
- package/dist/utils/output-utils.js.map +7 -0
- package/dist/utils/package-utils.js +28 -0
- package/dist/utils/package-utils.js.map +7 -0
- package/dist/utils/sd-config.js +24 -0
- package/dist/utils/sd-config.js.map +7 -0
- package/dist/utils/spawn.js +49 -0
- package/dist/utils/spawn.js.map +7 -0
- package/dist/utils/tailwind-config-deps.js +80 -0
- package/dist/utils/tailwind-config-deps.js.map +7 -0
- package/dist/utils/template.js +28 -0
- package/dist/utils/template.js.map +7 -0
- package/dist/utils/tsconfig.js +62 -0
- package/dist/utils/tsconfig.js.map +7 -0
- package/dist/utils/typecheck-serialization.js +46 -0
- package/dist/utils/typecheck-serialization.js.map +7 -0
- package/dist/utils/vite-config.js +108 -0
- package/dist/utils/vite-config.js.map +7 -0
- package/dist/utils/worker-events.js +38 -0
- package/dist/utils/worker-events.js.map +7 -0
- package/dist/workers/client.worker.js +94 -0
- package/dist/workers/client.worker.js.map +7 -0
- package/dist/workers/dts.worker.js +210 -0
- package/dist/workers/dts.worker.js.map +7 -0
- package/dist/workers/library.worker.js +118 -0
- package/dist/workers/library.worker.js.map +7 -0
- package/dist/workers/server-runtime.worker.js +85 -0
- package/dist/workers/server-runtime.worker.js.map +7 -0
- package/dist/workers/server.worker.js +114 -42
- package/dist/workers/server.worker.js.map +7 -0
- package/package.json +32 -29
- package/dist/entry/SdCliAiCommand.d.ts +0 -3
- package/dist/entry/SdCliAiCommand.js +0 -91
- package/dist/entry/SdCliCapacitor.d.ts +0 -35
- package/dist/entry/SdCliCapacitor.js +0 -565
- package/dist/entry/SdCliCordova.d.ts +0 -49
- package/dist/entry/SdCliCordova.js +0 -394
- package/dist/entry/SdCliElectron.d.ts +0 -22
- package/dist/entry/SdCliElectron.js +0 -128
- package/dist/entry/SdCliLocalUpdate.d.ts +0 -11
- package/dist/entry/SdCliLocalUpdate.js +0 -83
- package/dist/entry/SdCliPostInstall.d.ts +0 -3
- package/dist/entry/SdCliPostInstall.js +0 -48
- package/dist/entry/SdCliProject.d.ts +0 -24
- package/dist/entry/SdCliProject.js +0 -336
- package/dist/pkg-builders/SdBuildRunnerBase.d.ts +0 -14
- package/dist/pkg-builders/SdBuildRunnerBase.js +0 -22
- package/dist/pkg-builders/SdProjectBuildRunner.d.ts +0 -25
- package/dist/pkg-builders/SdProjectBuildRunner.js +0 -264
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.d.ts +0 -9
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.js +0 -89
- package/dist/pkg-builders/client/SdClientBuildRunner.d.ts +0 -10
- package/dist/pkg-builders/client/SdClientBuildRunner.js +0 -113
- package/dist/pkg-builders/client/SdNgBundler.d.ts +0 -38
- package/dist/pkg-builders/client/SdNgBundler.js +0 -525
- package/dist/pkg-builders/client/SdNgBundlerContext.d.ts +0 -25
- package/dist/pkg-builders/client/SdNgBundlerContext.js +0 -104
- package/dist/pkg-builders/client/createSdNgPlugin.d.ts +0 -5
- package/dist/pkg-builders/client/createSdNgPlugin.js +0 -133
- package/dist/pkg-builders/commons/SdWorkerPathPlugin.d.ts +0 -2
- package/dist/pkg-builders/commons/SdWorkerPathPlugin.js +0 -91
- package/dist/pkg-builders/lib/SdCliDbContextFileGenerator.d.ts +0 -9
- package/dist/pkg-builders/lib/SdCliDbContextFileGenerator.js +0 -138
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.d.ts +0 -11
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.js +0 -79
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.d.ts +0 -8
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.js +0 -44
- package/dist/pkg-builders/lib/SdTsLibBuildRunner.d.ts +0 -8
- package/dist/pkg-builders/lib/SdTsLibBuildRunner.js +0 -34
- package/dist/pkg-builders/lib/SdTsLibBuilder.d.ts +0 -10
- package/dist/pkg-builders/lib/SdTsLibBuilder.js +0 -54
- package/dist/pkg-builders/server/SdServerBuildRunner.d.ts +0 -10
- package/dist/pkg-builders/server/SdServerBuildRunner.js +0 -228
- package/dist/pkg-builders/server/SdServerBundler.d.ts +0 -17
- package/dist/pkg-builders/server/SdServerBundler.js +0 -174
- package/dist/pkg-builders/server/createSdServerPlugin.d.ts +0 -5
- package/dist/pkg-builders/server/createSdServerPlugin.js +0 -53
- package/dist/sd-cli-entry.d.ts +0 -2
- package/dist/sd-cli-entry.js +0 -230
- package/dist/sd-cli.d.ts +0 -2
- package/dist/ts-compiler/ScopePathSet.d.ts +0 -7
- package/dist/ts-compiler/ScopePathSet.js +0 -12
- package/dist/ts-compiler/SdDepAnalyzer.d.ts +0 -15
- package/dist/ts-compiler/SdDepAnalyzer.js +0 -299
- package/dist/ts-compiler/SdDepCache.d.ts +0 -77
- package/dist/ts-compiler/SdDepCache.js +0 -248
- package/dist/ts-compiler/SdStyleBundler.d.ts +0 -23
- package/dist/ts-compiler/SdStyleBundler.js +0 -131
- package/dist/ts-compiler/SdTsCompiler.d.ts +0 -29
- package/dist/ts-compiler/SdTsCompiler.js +0 -420
- package/dist/types/build/ISdBuildMessage.d.ts +0 -10
- package/dist/types/build/ISdBuildMessage.js +0 -1
- package/dist/types/build/ISdBuildResult.d.ts +0 -8
- package/dist/types/build/ISdBuildResult.js +0 -1
- package/dist/types/build/ISdTsCompilerOptions.d.ts +0 -10
- package/dist/types/build/ISdTsCompilerOptions.js +0 -1
- package/dist/types/build/ISdTsCompilerResult.d.ts +0 -14
- package/dist/types/build/ISdTsCompilerResult.js +0 -1
- package/dist/types/build/TStylesheetBundlingResult.d.ts +0 -12
- package/dist/types/build/TStylesheetBundlingResult.js +0 -1
- package/dist/types/common-config/INpmConfig.d.ts +0 -17
- package/dist/types/common-config/INpmConfig.js +0 -1
- package/dist/types/common-config/ITsConfig.d.ts +0 -7
- package/dist/types/common-config/ITsConfig.js +0 -1
- package/dist/types/config/ISdProjectConfig.d.ts +0 -144
- package/dist/types/config/ISdProjectConfig.js +0 -1
- package/dist/types/plugin/ISdCliNgPluginResultCache.d.ts +0 -8
- package/dist/types/plugin/ISdCliNgPluginResultCache.js +0 -1
- package/dist/types/plugin/ISdCliServerPluginResultCache.d.ts +0 -8
- package/dist/types/plugin/ISdCliServerPluginResultCache.js +0 -1
- package/dist/types/worker/ISdBuildRunnerWorkerType.d.ts +0 -20
- package/dist/types/worker/ISdBuildRunnerWorkerType.js +0 -1
- package/dist/types/worker/IServerWorkerType.d.ts +0 -17
- package/dist/types/worker/IServerWorkerType.js +0 -1
- package/dist/utils/SdCliConvertMessageUtils.d.ts +0 -21
- package/dist/utils/SdCliConvertMessageUtils.js +0 -138
- package/dist/utils/SdCliPerformanceTimer.d.ts +0 -10
- package/dist/utils/SdCliPerformanceTimer.js +0 -50
- package/dist/utils/loadProjConfAsync.d.ts +0 -5
- package/dist/utils/loadProjConfAsync.js +0 -7
- package/dist/workers/build-runner.worker.d.ts +0 -1
- package/dist/workers/build-runner.worker.js +0 -37
- package/dist/workers/server.worker.d.ts +0 -1
- package/lib/cordova-entry.js +0 -29
- package/src/entry/SdCliAiCommand.ts +0 -105
- package/src/entry/SdCliCapacitor.ts +0 -760
- package/src/entry/SdCliCordova.ts +0 -550
- package/src/entry/SdCliElectron.ts +0 -197
- package/src/entry/SdCliLocalUpdate.ts +0 -106
- package/src/entry/SdCliPostInstall.ts +0 -51
- package/src/entry/SdCliProject.ts +0 -427
- package/src/pkg-builders/SdBuildRunnerBase.ts +0 -36
- package/src/pkg-builders/SdProjectBuildRunner.ts +0 -398
- package/src/pkg-builders/client/SdCliNgRoutesFileGenerator.ts +0 -112
- package/src/pkg-builders/client/SdClientBuildRunner.ts +0 -156
- package/src/pkg-builders/client/SdNgBundler.ts +0 -666
- package/src/pkg-builders/client/SdNgBundlerContext.ts +0 -138
- package/src/pkg-builders/client/createSdNgPlugin.ts +0 -186
- package/src/pkg-builders/commons/SdWorkerPathPlugin.ts +0 -117
- package/src/pkg-builders/lib/SdCliDbContextFileGenerator.ts +0 -177
- package/src/pkg-builders/lib/SdCliIndexFileGenerator.ts +0 -94
- package/src/pkg-builders/lib/SdJsLibBuildRunner.ts +0 -59
- package/src/pkg-builders/lib/SdTsLibBuildRunner.ts +0 -47
- package/src/pkg-builders/lib/SdTsLibBuilder.ts +0 -71
- package/src/pkg-builders/server/SdServerBuildRunner.ts +0 -299
- package/src/pkg-builders/server/SdServerBundler.ts +0 -208
- package/src/pkg-builders/server/createSdServerPlugin.ts +0 -80
- package/src/sd-cli-entry.ts +0 -292
- package/src/sd-cli.ts +0 -105
- package/src/ts-compiler/ScopePathSet.ts +0 -17
- package/src/ts-compiler/SdDepAnalyzer.ts +0 -372
- package/src/ts-compiler/SdDepCache.ts +0 -304
- package/src/ts-compiler/SdStyleBundler.ts +0 -169
- package/src/ts-compiler/SdTsCompiler.ts +0 -638
- package/src/types/build/ISdBuildMessage.ts +0 -11
- package/src/types/build/ISdBuildResult.ts +0 -9
- package/src/types/build/ISdTsCompilerOptions.ts +0 -11
- package/src/types/build/ISdTsCompilerResult.ts +0 -12
- package/src/types/build/TStylesheetBundlingResult.ts +0 -15
- package/src/types/common-config/INpmConfig.ts +0 -24
- package/src/types/common-config/ITsConfig.ts +0 -5
- package/src/types/config/ISdProjectConfig.ts +0 -174
- package/src/types/plugin/ISdCliNgPluginResultCache.ts +0 -9
- package/src/types/plugin/ISdCliServerPluginResultCache.ts +0 -9
- package/src/types/worker/ISdBuildRunnerWorkerType.ts +0 -19
- package/src/types/worker/IServerWorkerType.ts +0 -8
- package/src/utils/SdCliConvertMessageUtils.ts +0 -180
- package/src/utils/SdCliPerformanceTimer.ts +0 -62
- package/src/utils/loadProjConfAsync.ts +0 -16
- package/src/workers/build-runner.worker.ts +0 -54
- package/src/workers/server.worker.ts +0 -54
- package/tests/deps/sd-dependency-analyzer.spec.ts +0 -241
- package/tests/deps/sd-dependency-cache.spec.ts +0 -153
- package/tsconfig.json +0 -8
- package/tsconfig.test.json +0 -8
- package/vitest.config.js +0 -15
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { fsExists, fsReadJson } from "@simplysm/core-node";
|
|
4
|
+
import { SdError } from "@simplysm/core-common";
|
|
5
|
+
const DOM_LIB_PATTERNS = ["dom", "webworker"];
|
|
6
|
+
async function getTypesFromPackageJson(packageDir) {
|
|
7
|
+
const packageJsonPath = path.join(packageDir, "package.json");
|
|
8
|
+
if (!await fsExists(packageJsonPath)) {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
const packageJson = await fsReadJson(packageJsonPath);
|
|
12
|
+
const devDeps = packageJson.devDependencies ?? {};
|
|
13
|
+
return Object.keys(devDeps).filter((dep) => dep.startsWith("@types/")).map((dep) => dep.replace("@types/", ""));
|
|
14
|
+
}
|
|
15
|
+
async function getCompilerOptionsForPackage(baseOptions, env, packageDir) {
|
|
16
|
+
const options = { ...baseOptions };
|
|
17
|
+
const packageTypes = await getTypesFromPackageJson(packageDir);
|
|
18
|
+
options.typeRoots = [
|
|
19
|
+
path.join(packageDir, "node_modules", "@types"),
|
|
20
|
+
path.join(process.cwd(), "node_modules", "@types")
|
|
21
|
+
];
|
|
22
|
+
switch (env) {
|
|
23
|
+
case "node":
|
|
24
|
+
options.lib = options.lib?.filter(
|
|
25
|
+
(lib) => !DOM_LIB_PATTERNS.some((pattern) => lib.toLowerCase().includes(pattern))
|
|
26
|
+
);
|
|
27
|
+
options.types = [.../* @__PURE__ */ new Set([...packageTypes, "node"])];
|
|
28
|
+
break;
|
|
29
|
+
case "browser":
|
|
30
|
+
options.types = packageTypes.filter((t) => t !== "node");
|
|
31
|
+
break;
|
|
32
|
+
case "neutral":
|
|
33
|
+
options.types = [.../* @__PURE__ */ new Set([...packageTypes, "node"])];
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
return options;
|
|
37
|
+
}
|
|
38
|
+
function parseRootTsconfig(cwd) {
|
|
39
|
+
const tsconfigPath = path.join(cwd, "tsconfig.json");
|
|
40
|
+
const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
|
41
|
+
if (configFile.error) {
|
|
42
|
+
const message = ts.flattenDiagnosticMessageText(configFile.error.messageText, "\n");
|
|
43
|
+
throw new SdError(`tsconfig.json \uC77D\uAE30 \uC2E4\uD328: ${message}`);
|
|
44
|
+
}
|
|
45
|
+
const parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd);
|
|
46
|
+
if (parsed.errors.length > 0) {
|
|
47
|
+
const messages = parsed.errors.map((e) => ts.flattenDiagnosticMessageText(e.messageText, "\n"));
|
|
48
|
+
throw new SdError(`tsconfig.json \uD30C\uC2F1 \uC2E4\uD328: ${messages.join("; ")}`);
|
|
49
|
+
}
|
|
50
|
+
return parsed;
|
|
51
|
+
}
|
|
52
|
+
function getPackageSourceFiles(pkgDir, parsedConfig) {
|
|
53
|
+
const pkgSrcPrefix = path.join(pkgDir, "src") + path.sep;
|
|
54
|
+
return parsedConfig.fileNames.filter((f) => f.startsWith(pkgSrcPrefix));
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
getCompilerOptionsForPackage,
|
|
58
|
+
getPackageSourceFiles,
|
|
59
|
+
getTypesFromPackageJson,
|
|
60
|
+
parseRootTsconfig
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=tsconfig.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/tsconfig.ts"],
|
|
4
|
+
"sourcesContent": ["import ts from \"typescript\";\nimport path from \"path\";\nimport { fsExists, fsReadJson } from \"@simplysm/core-node\";\nimport { SdError } from \"@simplysm/core-common\";\n\n/**\n * DOM \uAD00\uB828 lib \uD328\uD134 - \uBE0C\uB77C\uC6B0\uC800 API\uB97C \uD3EC\uD568\uD558\uB294 lib\uB4E4\n * node \uD658\uACBD\uC5D0\uC11C \uC81C\uC678\uB418\uC5B4\uC57C \uD558\uB294 lib\uC744 \uD544\uD130\uB9C1\uD560 \uB54C \uC0AC\uC6A9 (lib.dom.d.ts, lib.webworker.d.ts \uB4F1)\n */\nconst DOM_LIB_PATTERNS = [\"dom\", \"webworker\"] as const;\n\n/**\n * \uD328\uD0A4\uC9C0\uC758 package.json\uC5D0\uC11C @types/* devDependencies\uB97C \uC77D\uC5B4 types \uBAA9\uB85D\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4.\n */\nexport async function getTypesFromPackageJson(packageDir: string): Promise<string[]> {\n const packageJsonPath = path.join(packageDir, \"package.json\");\n if (!(await fsExists(packageJsonPath))) {\n return [];\n }\n\n const packageJson = await fsReadJson<{ devDependencies?: Record<string, string> }>(packageJsonPath);\n const devDeps = packageJson.devDependencies ?? {};\n\n return Object.keys(devDeps)\n .filter((dep) => dep.startsWith(\"@types/\"))\n .map((dep) => dep.replace(\"@types/\", \"\"));\n}\n\n/**\n * \uD0C0\uC785\uCCB4\uD06C \uD658\uACBD\n * - node: DOM lib \uC81C\uAC70 + node \uD0C0\uC785 \uCD94\uAC00\n * - browser: node \uD0C0\uC785 \uC81C\uAC70\n * - neutral: DOM lib \uC720\uC9C0 + node \uD0C0\uC785 \uCD94\uAC00 (Node/\uBE0C\uB77C\uC6B0\uC800 \uACF5\uC6A9 \uD328\uD0A4\uC9C0\uC6A9)\n */\nexport type TypecheckEnv = \"node\" | \"browser\" | \"neutral\";\n\n/**\n * \uD328\uD0A4\uC9C0\uC6A9 \uCEF4\uD30C\uC77C\uB7EC \uC635\uC158 \uC0DD\uC131\n *\n * @param baseOptions \uB8E8\uD2B8 tsconfig\uC758 \uCEF4\uD30C\uC77C\uB7EC \uC635\uC158\n * @param env \uD0C0\uC785\uCCB4\uD06C \uD658\uACBD (node: DOM lib \uC81C\uAC70 + node \uD0C0\uC785 \uCD94\uAC00, browser: node \uD0C0\uC785 \uC81C\uAC70)\n * @param packageDir \uD328\uD0A4\uC9C0 \uB514\uB809\uD1A0\uB9AC \uACBD\uB85C\n *\n * @remarks\n * types \uC635\uC158\uC740 baseOptions.types\uB97C \uBB34\uC2DC\uD558\uACE0 \uD328\uD0A4\uC9C0\uBCC4\uB85C \uC0C8\uB85C \uAD6C\uC131\uD55C\uB2E4.\n * \uC774\uB294 \uB8E8\uD2B8 tsconfig\uC758 \uC804\uC5ED \uD0C0\uC785\uC774 \uD328\uD0A4\uC9C0 \uD658\uACBD\uC5D0 \uB9DE\uC9C0 \uC54A\uC744 \uC218 \uC788\uAE30 \uB54C\uBB38\uC774\uB2E4.\n * (\uC608: browser \uD328\uD0A4\uC9C0\uC5D0 node \uD0C0\uC785\uC774 \uD3EC\uD568\uB418\uB294 \uAC83\uC744 \uBC29\uC9C0)\n */\nexport async function getCompilerOptionsForPackage(\n baseOptions: ts.CompilerOptions,\n env: TypecheckEnv,\n packageDir: string,\n): Promise<ts.CompilerOptions> {\n const options = { ...baseOptions };\n const packageTypes = await getTypesFromPackageJson(packageDir);\n\n // pnpm \uD658\uACBD: \uD328\uD0A4\uC9C0\uBCC4 node_modules/@types\uC640 \uB8E8\uD2B8 node_modules/@types \uBAA8\uB450 \uAC80\uC0C9\n options.typeRoots = [\n path.join(packageDir, \"node_modules\", \"@types\"),\n path.join(process.cwd(), \"node_modules\", \"@types\"),\n ];\n\n switch (env) {\n case \"node\":\n options.lib = options.lib?.filter(\n (lib) => !DOM_LIB_PATTERNS.some((pattern) => lib.toLowerCase().includes(pattern)),\n );\n options.types = [...new Set([...packageTypes, \"node\"])];\n break;\n case \"browser\":\n options.types = packageTypes.filter((t) => t !== \"node\");\n break;\n case \"neutral\":\n options.types = [...new Set([...packageTypes, \"node\"])];\n break;\n }\n\n return options;\n}\n\n/**\n * \uB8E8\uD2B8 tsconfig \uD30C\uC2F1\n * @throws tsconfig.json\uC744 \uC77D\uAC70\uB098 \uD30C\uC2F1\uD560 \uC218 \uC5C6\uB294 \uACBD\uC6B0\n */\nexport function parseRootTsconfig(cwd: string): ts.ParsedCommandLine {\n const tsconfigPath = path.join(cwd, \"tsconfig.json\");\n const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);\n\n if (configFile.error) {\n const message = ts.flattenDiagnosticMessageText(configFile.error.messageText, \"\\n\");\n throw new SdError(`tsconfig.json \uC77D\uAE30 \uC2E4\uD328: ${message}`);\n }\n\n const parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd);\n\n if (parsed.errors.length > 0) {\n const messages = parsed.errors.map((e) => ts.flattenDiagnosticMessageText(e.messageText, \"\\n\"));\n throw new SdError(`tsconfig.json \uD30C\uC2F1 \uC2E4\uD328: ${messages.join(\"; \")}`);\n }\n\n return parsed;\n}\n\n/**\n * \uD328\uD0A4\uC9C0\uC758 \uC18C\uC2A4 \uD30C\uC77C \uBAA9\uB85D \uAC00\uC838\uC624\uAE30 (tsconfig \uAE30\uBC18)\n */\nexport function getPackageSourceFiles(pkgDir: string, parsedConfig: ts.ParsedCommandLine): string[] {\n // \uACBD\uB85C \uAD6C\uBD84\uC790\uAE4C\uC9C0 \uD3EC\uD568\uD558\uC5EC \uBE44\uAD50 (packages/core\uC640 packages/core-common \uAD6C\uBD84)\n const pkgSrcPrefix = path.join(pkgDir, \"src\") + path.sep;\n return parsedConfig.fileNames.filter((f) => f.startsWith(pkgSrcPrefix));\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,UAAU,kBAAkB;AACrC,SAAS,eAAe;AAMxB,MAAM,mBAAmB,CAAC,OAAO,WAAW;AAK5C,eAAsB,wBAAwB,YAAuC;AACnF,QAAM,kBAAkB,KAAK,KAAK,YAAY,cAAc;AAC5D,MAAI,CAAE,MAAM,SAAS,eAAe,GAAI;AACtC,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,cAAc,MAAM,WAAyD,eAAe;AAClG,QAAM,UAAU,YAAY,mBAAmB,CAAC;AAEhD,SAAO,OAAO,KAAK,OAAO,EACvB,OAAO,CAAC,QAAQ,IAAI,WAAW,SAAS,CAAC,EACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,WAAW,EAAE,CAAC;AAC5C;AAsBA,eAAsB,6BACpB,aACA,KACA,YAC6B;AAC7B,QAAM,UAAU,EAAE,GAAG,YAAY;AACjC,QAAM,eAAe,MAAM,wBAAwB,UAAU;AAG7D,UAAQ,YAAY;AAAA,IAClB,KAAK,KAAK,YAAY,gBAAgB,QAAQ;AAAA,IAC9C,KAAK,KAAK,QAAQ,IAAI,GAAG,gBAAgB,QAAQ;AAAA,EACnD;AAEA,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,cAAQ,MAAM,QAAQ,KAAK;AAAA,QACzB,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAC,YAAY,IAAI,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,MAClF;AACA,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,aAAa,OAAO,CAAC,MAAM,MAAM,MAAM;AACvD;AAAA,IACF,KAAK;AACH,cAAQ,QAAQ,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,cAAc,MAAM,CAAC,CAAC;AACtD;AAAA,EACJ;AAEA,SAAO;AACT;AAMO,SAAS,kBAAkB,KAAmC;AACnE,QAAM,eAAe,KAAK,KAAK,KAAK,eAAe;AACnD,QAAM,aAAa,GAAG,eAAe,cAAc,GAAG,IAAI,QAAQ;AAElE,MAAI,WAAW,OAAO;AACpB,UAAM,UAAU,GAAG,6BAA6B,WAAW,MAAM,aAAa,IAAI;AAClF,UAAM,IAAI,QAAQ,4CAAwB,OAAO,EAAE;AAAA,EACrD;AAEA,QAAM,SAAS,GAAG,2BAA2B,WAAW,QAAQ,GAAG,KAAK,GAAG;AAE3E,MAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,UAAM,WAAW,OAAO,OAAO,IAAI,CAAC,MAAM,GAAG,6BAA6B,EAAE,aAAa,IAAI,CAAC;AAC9F,UAAM,IAAI,QAAQ,4CAAwB,SAAS,KAAK,IAAI,CAAC,EAAE;AAAA,EACjE;AAEA,SAAO;AACT;AAKO,SAAS,sBAAsB,QAAgB,cAA8C;AAElG,QAAM,eAAe,KAAK,KAAK,QAAQ,KAAK,IAAI,KAAK;AACrD,SAAO,aAAa,UAAU,OAAO,CAAC,MAAM,EAAE,WAAW,YAAY,CAAC;AACxE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { fsExistsSync, fsReadSync } from "@simplysm/core-node";
|
|
3
|
+
function serializeDiagnostic(diagnostic) {
|
|
4
|
+
const messageText = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
|
|
5
|
+
return {
|
|
6
|
+
category: diagnostic.category,
|
|
7
|
+
code: diagnostic.code,
|
|
8
|
+
messageText,
|
|
9
|
+
file: diagnostic.file ? {
|
|
10
|
+
fileName: diagnostic.file.fileName
|
|
11
|
+
} : void 0,
|
|
12
|
+
start: diagnostic.start,
|
|
13
|
+
length: diagnostic.length
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function getScriptKind(fileName) {
|
|
17
|
+
if (fileName.endsWith(".tsx")) return ts.ScriptKind.TSX;
|
|
18
|
+
if (fileName.endsWith(".jsx")) return ts.ScriptKind.JSX;
|
|
19
|
+
if (fileName.endsWith(".js") || fileName.endsWith(".mjs") || fileName.endsWith(".cjs")) return ts.ScriptKind.JS;
|
|
20
|
+
return ts.ScriptKind.TS;
|
|
21
|
+
}
|
|
22
|
+
function deserializeDiagnostic(serialized, fileCache) {
|
|
23
|
+
let file;
|
|
24
|
+
if (serialized.file != null) {
|
|
25
|
+
const fileName = serialized.file.fileName;
|
|
26
|
+
if (!fileCache.has(fileName)) {
|
|
27
|
+
fileCache.set(fileName, fsExistsSync(fileName) ? fsReadSync(fileName) : "");
|
|
28
|
+
}
|
|
29
|
+
const content = fileCache.get(fileName);
|
|
30
|
+
const scriptKind = getScriptKind(fileName);
|
|
31
|
+
file = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, false, scriptKind);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
category: serialized.category,
|
|
35
|
+
code: serialized.code,
|
|
36
|
+
messageText: serialized.messageText,
|
|
37
|
+
file,
|
|
38
|
+
start: serialized.start,
|
|
39
|
+
length: serialized.length
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
deserializeDiagnostic,
|
|
44
|
+
serializeDiagnostic
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=typecheck-serialization.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/typecheck-serialization.ts"],
|
|
4
|
+
"sourcesContent": ["import ts from \"typescript\";\nimport { fsExistsSync, fsReadSync } from \"@simplysm/core-node\";\n\n/**\n * Worker\uB85C \uC804\uB2EC \uAC00\uB2A5\uD55C \uC9C1\uB82C\uD654\uB41C Diagnostic\n */\nexport interface SerializedDiagnostic {\n category: number;\n code: number;\n messageText: string;\n file?: {\n fileName: string;\n };\n start?: number;\n length?: number;\n}\n\n/**\n * Diagnostic\uC744 \uC9C1\uB82C\uD654 \uAC00\uB2A5\uD55C \uD615\uD0DC\uB85C \uBCC0\uD658\n * (Worker thread \uAC04 structured clone \uD1B5\uC2E0\uC744 \uC704\uD574 \uC21C\uD658 \uCC38\uC870/\uD568\uC218 \uC81C\uAC70)\n */\nexport function serializeDiagnostic(diagnostic: ts.Diagnostic): SerializedDiagnostic {\n // DiagnosticMessageChain\uC778 \uACBD\uC6B0 \uC804\uCCB4 \uCCB4\uC778\uC744 \uD3C9\uD0C4\uD654\uD558\uC5EC \uBAA8\uB4E0 \uCEE8\uD14D\uC2A4\uD2B8 \uC815\uBCF4 \uBCF4\uC874\n const messageText = ts.flattenDiagnosticMessageText(diagnostic.messageText, \"\\n\");\n\n return {\n category: diagnostic.category,\n code: diagnostic.code,\n messageText,\n file: diagnostic.file\n ? {\n fileName: diagnostic.file.fileName,\n }\n : undefined,\n start: diagnostic.start,\n length: diagnostic.length,\n };\n}\n\n/**\n * \uD30C\uC77C\uBA85\uC5D0\uC11C TypeScript ScriptKind \uACB0\uC815\n */\nfunction getScriptKind(fileName: string): ts.ScriptKind {\n if (fileName.endsWith(\".tsx\")) return ts.ScriptKind.TSX;\n if (fileName.endsWith(\".jsx\")) return ts.ScriptKind.JSX;\n if (fileName.endsWith(\".js\") || fileName.endsWith(\".mjs\") || fileName.endsWith(\".cjs\")) return ts.ScriptKind.JS;\n return ts.ScriptKind.TS;\n}\n\n/**\n * SerializedDiagnostic\uC744 ts.Diagnostic\uC73C\uB85C \uBCF5\uC6D0\n * \uC2E4\uC81C \uD30C\uC77C \uB0B4\uC6A9\uC744 \uC77D\uC5B4 formatDiagnosticsWithColorAndContext\uC5D0\uC11C \uC18C\uC2A4 \uCF54\uB4DC \uCEE8\uD14D\uC2A4\uD2B8\uAC00 \uD45C\uC2DC\uB418\uB3C4\uB85D \uD568\n * @param serialized \uC9C1\uB82C\uD654\uB41C \uC9C4\uB2E8 \uC815\uBCF4\n * @param fileCache \uD30C\uC77C \uB0B4\uC6A9 \uCE90\uC2DC (\uB3D9\uC77C \uD30C\uC77C \uC911\uBCF5 \uC77D\uAE30 \uBC29\uC9C0)\n * @returns \uBCF5\uC6D0\uB41C ts.Diagnostic \uAC1D\uCCB4\n */\nexport function deserializeDiagnostic(serialized: SerializedDiagnostic, fileCache: Map<string, string>): ts.Diagnostic {\n let file: ts.SourceFile | undefined;\n if (serialized.file != null) {\n const fileName = serialized.file.fileName;\n\n // \uCE90\uC2DC\uB41C \uD30C\uC77C \uB0B4\uC6A9 \uAC00\uC838\uC624\uAE30 (\uC5C6\uC73C\uBA74 \uC77D\uC5B4\uC11C \uCE90\uC2DC)\n // \uD30C\uC77C\uC774 \uC0AD\uC81C\uB418\uC5C8\uAC70\uB098 \uC811\uADFC \uBD88\uAC00\uB2A5\uD55C \uACBD\uC6B0 \uBE48 \uB0B4\uC6A9\uC73C\uB85C \uCC98\uB9AC\n // (\uC18C\uC2A4 \uCF54\uB4DC \uCEE8\uD14D\uC2A4\uD2B8\uB294 \uD45C\uC2DC\uB418\uC9C0 \uC54A\uC9C0\uB9CC \uC9C4\uB2E8 \uBA54\uC2DC\uC9C0\uB294 \uC815\uC0C1 \uCD9C\uB825\uB428)\n if (!fileCache.has(fileName)) {\n fileCache.set(fileName, fsExistsSync(fileName) ? fsReadSync(fileName) : \"\");\n }\n const content = fileCache.get(fileName)!;\n\n const scriptKind = getScriptKind(fileName);\n file = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, false, scriptKind);\n }\n\n return {\n category: serialized.category,\n code: serialized.code,\n messageText: serialized.messageText,\n file,\n start: serialized.start,\n length: serialized.length,\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,cAAc,kBAAkB;AAoBlC,SAAS,oBAAoB,YAAiD;AAEnF,QAAM,cAAc,GAAG,6BAA6B,WAAW,aAAa,IAAI;AAEhF,SAAO;AAAA,IACL,UAAU,WAAW;AAAA,IACrB,MAAM,WAAW;AAAA,IACjB;AAAA,IACA,MAAM,WAAW,OACb;AAAA,MACE,UAAU,WAAW,KAAK;AAAA,IAC5B,IACA;AAAA,IACJ,OAAO,WAAW;AAAA,IAClB,QAAQ,WAAW;AAAA,EACrB;AACF;AAKA,SAAS,cAAc,UAAiC;AACtD,MAAI,SAAS,SAAS,MAAM,EAAG,QAAO,GAAG,WAAW;AACpD,MAAI,SAAS,SAAS,MAAM,EAAG,QAAO,GAAG,WAAW;AACpD,MAAI,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,MAAM,KAAK,SAAS,SAAS,MAAM,EAAG,QAAO,GAAG,WAAW;AAC7G,SAAO,GAAG,WAAW;AACvB;AASO,SAAS,sBAAsB,YAAkC,WAA+C;AACrH,MAAI;AACJ,MAAI,WAAW,QAAQ,MAAM;AAC3B,UAAM,WAAW,WAAW,KAAK;AAKjC,QAAI,CAAC,UAAU,IAAI,QAAQ,GAAG;AAC5B,gBAAU,IAAI,UAAU,aAAa,QAAQ,IAAI,WAAW,QAAQ,IAAI,EAAE;AAAA,IAC5E;AACA,UAAM,UAAU,UAAU,IAAI,QAAQ;AAEtC,UAAM,aAAa,cAAc,QAAQ;AACzC,WAAO,GAAG,iBAAiB,UAAU,SAAS,GAAG,aAAa,QAAQ,OAAO,UAAU;AAAA,EACzF;AAEA,SAAO;AAAA,IACL,UAAU,WAAW;AAAA,IACrB,MAAM,WAAW;AAAA,IACjB,aAAa,WAAW;AAAA,IACxB;AAAA,IACA,OAAO,WAAW;AAAA,IAClB,QAAQ,WAAW;AAAA,EACrB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { createRequire } from "module";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import tsconfigPaths from "vite-tsconfig-paths";
|
|
5
|
+
import solidPlugin from "vite-plugin-solid";
|
|
6
|
+
import tailwindcss from "tailwindcss";
|
|
7
|
+
import { getTailwindConfigDeps } from "./tailwind-config-deps.js";
|
|
8
|
+
function sdTailwindConfigDepsPlugin(pkgDir) {
|
|
9
|
+
return {
|
|
10
|
+
name: "sd-tailwind-config-deps",
|
|
11
|
+
configureServer(server) {
|
|
12
|
+
const configPath = path.join(pkgDir, "tailwind.config.ts");
|
|
13
|
+
if (!fs.existsSync(configPath)) return;
|
|
14
|
+
const pkgJsonPath = path.join(pkgDir, "package.json");
|
|
15
|
+
const pkgName = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8")).name;
|
|
16
|
+
const pkgScope = pkgName.match(/^(@[^/]+)\//)?.[1];
|
|
17
|
+
const scopes = /* @__PURE__ */ new Set(["@simplysm"]);
|
|
18
|
+
if (pkgScope != null) {
|
|
19
|
+
scopes.add(pkgScope);
|
|
20
|
+
}
|
|
21
|
+
const allDeps = getTailwindConfigDeps(configPath, [...scopes]);
|
|
22
|
+
const configAbsolute = path.resolve(configPath);
|
|
23
|
+
const externalDeps = allDeps.filter((d) => d !== configAbsolute);
|
|
24
|
+
if (externalDeps.length === 0) return;
|
|
25
|
+
for (const dep of externalDeps) {
|
|
26
|
+
server.watcher.add(dep);
|
|
27
|
+
}
|
|
28
|
+
server.watcher.on("change", (changed) => {
|
|
29
|
+
if (externalDeps.some((d) => path.normalize(d) === path.normalize(changed))) {
|
|
30
|
+
const _require = createRequire(import.meta.url);
|
|
31
|
+
for (const dep of allDeps) {
|
|
32
|
+
delete _require.cache[dep];
|
|
33
|
+
}
|
|
34
|
+
const now = /* @__PURE__ */ new Date();
|
|
35
|
+
fs.utimesSync(configPath, now, now);
|
|
36
|
+
server.ws.send({ type: "full-reload" });
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function sdScopeWatchPlugin(pkgDir, scopes) {
|
|
43
|
+
return {
|
|
44
|
+
name: "sd-scope-watch",
|
|
45
|
+
config() {
|
|
46
|
+
return {
|
|
47
|
+
optimizeDeps: {
|
|
48
|
+
exclude: scopes.flatMap((s) => {
|
|
49
|
+
const scopeDir = path.join(pkgDir, "node_modules", s);
|
|
50
|
+
if (!fs.existsSync(scopeDir)) return [];
|
|
51
|
+
return fs.readdirSync(scopeDir).map((name) => `${s}/${name}`);
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
configureServer(server) {
|
|
57
|
+
for (const scope of scopes) {
|
|
58
|
+
const scopeDir = path.join(pkgDir, "node_modules", scope);
|
|
59
|
+
if (!fs.existsSync(scopeDir)) continue;
|
|
60
|
+
for (const pkgName of fs.readdirSync(scopeDir)) {
|
|
61
|
+
const distDir = path.join(scopeDir, pkgName, "dist");
|
|
62
|
+
if (fs.existsSync(distDir)) {
|
|
63
|
+
server.watcher.add(distDir);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function createViteConfig(options) {
|
|
71
|
+
const { pkgDir, name, tsconfigPath, compilerOptions, env, mode, serverPort, watchScopes } = options;
|
|
72
|
+
const envDefine = {};
|
|
73
|
+
if (env != null) {
|
|
74
|
+
envDefine["process.env"] = JSON.stringify(env);
|
|
75
|
+
}
|
|
76
|
+
const config = {
|
|
77
|
+
root: pkgDir,
|
|
78
|
+
base: `/${name}/`,
|
|
79
|
+
plugins: [
|
|
80
|
+
tsconfigPaths({ projects: [tsconfigPath] }),
|
|
81
|
+
solidPlugin(),
|
|
82
|
+
sdTailwindConfigDepsPlugin(pkgDir),
|
|
83
|
+
...watchScopes != null && watchScopes.length > 0 ? [sdScopeWatchPlugin(pkgDir, watchScopes)] : []
|
|
84
|
+
],
|
|
85
|
+
css: {
|
|
86
|
+
postcss: {
|
|
87
|
+
plugins: [tailwindcss({ config: path.join(pkgDir, "tailwind.config.ts") })]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
esbuild: {
|
|
91
|
+
tsconfigRaw: { compilerOptions }
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
if (mode === "build") {
|
|
95
|
+
config.logLevel = "silent";
|
|
96
|
+
} else {
|
|
97
|
+
config.define = envDefine;
|
|
98
|
+
config.server = {
|
|
99
|
+
port: serverPort === 0 ? void 0 : serverPort,
|
|
100
|
+
strictPort: serverPort !== 0 && serverPort !== void 0
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return config;
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
createViteConfig
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=vite-config.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/vite-config.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from \"fs\";\nimport { createRequire } from \"module\";\nimport path from \"path\";\nimport type { Plugin, UserConfig as ViteUserConfig } from \"vite\";\nimport tsconfigPaths from \"vite-tsconfig-paths\";\nimport solidPlugin from \"vite-plugin-solid\";\nimport tailwindcss from \"tailwindcss\";\nimport type esbuild from \"esbuild\";\nimport { getTailwindConfigDeps } from \"./tailwind-config-deps.js\";\n\n/**\n * Tailwind config\uC758 scope \uD328\uD0A4\uC9C0 \uC758\uC874\uC131\uC744 watch\uD558\uB294 Vite \uD50C\uB7EC\uADF8\uC778.\n *\n * Tailwind CSS\uC758 \uB0B4\uC7A5 \uC758\uC874\uC131 \uCD94\uC801\uC740 \uC0C1\uB300 \uACBD\uB85C import\uB9CC \uCC98\uB9AC\uD558\uBBC0\uB85C,\n * preset \uB4F1\uC73C\uB85C \uCC38\uC870\uD558\uB294 scope \uD328\uD0A4\uC9C0\uC758 config \uBCC0\uACBD\uC744 \uAC10\uC9C0\uD558\uC9C0 \uBABB\uD55C\uB2E4.\n * \uC774 \uD50C\uB7EC\uADF8\uC778\uC774 \uD574\uB2F9 \uD30C\uC77C\uB4E4\uC744 watch\uD558\uACE0, \uBCC0\uACBD \uC2DC Tailwind \uCE90\uC2DC\uB97C \uBB34\uD6A8\uD654\uD55C\uB2E4.\n */\nfunction sdTailwindConfigDepsPlugin(pkgDir: string): Plugin {\n return {\n name: \"sd-tailwind-config-deps\",\n configureServer(server) {\n const configPath = path.join(pkgDir, \"tailwind.config.ts\");\n if (!fs.existsSync(configPath)) return;\n\n // \uD604\uC7AC \uD328\uD0A4\uC9C0\uC758 scope + @simplysm \uC744 \uD56D\uC0C1 \uD3EC\uD568\n const pkgJsonPath = path.join(pkgDir, \"package.json\");\n const pkgName = JSON.parse(fs.readFileSync(pkgJsonPath, \"utf-8\")).name as string;\n const pkgScope = pkgName.match(/^(@[^/]+)\\//)?.[1];\n const scopes = new Set([\"@simplysm\"]);\n if (pkgScope != null) {\n scopes.add(pkgScope);\n }\n\n const allDeps = getTailwindConfigDeps(configPath, [...scopes]);\n const configAbsolute = path.resolve(configPath);\n const externalDeps = allDeps.filter((d) => d !== configAbsolute);\n if (externalDeps.length === 0) return;\n\n for (const dep of externalDeps) {\n server.watcher.add(dep);\n }\n\n server.watcher.on(\"change\", (changed) => {\n if (externalDeps.some((d) => path.normalize(d) === path.normalize(changed))) {\n // jiti (Tailwind\uC758 config \uB85C\uB354)\uAC00 \uC0AC\uC6A9\uD558\uB294 require \uCE90\uC2DC\uB97C \uC815\uB9AC\uD558\uC5EC\n // config \uC7AC\uB85C\uB4DC \uC2DC \uBCC0\uACBD\uB41C \uD30C\uC77C\uC774 \uC0C8\uB85C \uC77D\uD788\uB3C4\uB85D \uD55C\uB2E4\n const _require = createRequire(import.meta.url);\n for (const dep of allDeps) {\n delete _require.cache[dep];\n }\n\n // Tailwind \uCE90\uC2DC \uBB34\uD6A8\uD654: config\uC758 mtime\uC744 \uAC31\uC2E0\uD558\uC5EC \uC7AC\uB85C\uB4DC \uC720\uB3C4\n const now = new Date();\n fs.utimesSync(configPath, now, now);\n server.ws.send({ type: \"full-reload\" });\n }\n });\n },\n };\n}\n\n/**\n * scope \uD328\uD0A4\uC9C0\uC758 dist \uB514\uB809\uD1A0\uB9AC \uBCC0\uACBD\uC744 \uAC10\uC9C0\uD558\uB294 Vite \uD50C\uB7EC\uADF8\uC778.\n *\n * Vite\uB294 node_modules\uB97C \uAE30\uBCF8\uC801\uC73C\uB85C watch\uC5D0\uC11C \uC81C\uC678\uD558\uBBC0\uB85C,\n * scope \uD328\uD0A4\uC9C0\uC758 dist \uD30C\uC77C\uC774 \uBCC0\uACBD\uB418\uC5B4\uB3C4 HMR/\uB9AC\uBE4C\uB4DC\uAC00 \uD2B8\uB9AC\uAC70\uB418\uC9C0 \uC54A\uB294\uB2E4.\n * \uC774 \uD50C\uB7EC\uADF8\uC778\uC740 scope \uD328\uD0A4\uC9C0\uC758 dist \uB514\uB809\uD1A0\uB9AC\uB97C watcher\uC5D0 \uBA85\uC2DC\uC801\uC73C\uB85C \uCD94\uAC00\uD558\uACE0,\n * optimizeDeps\uC5D0\uC11C \uC81C\uC678\uD558\uC5EC pre-bundled \uCE90\uC2DC\uB85C \uC778\uD55C \uBCC0\uACBD \uBB34\uC2DC\uB97C \uBC29\uC9C0\uD55C\uB2E4.\n */\nfunction sdScopeWatchPlugin(pkgDir: string, scopes: string[]): Plugin {\n return {\n name: \"sd-scope-watch\",\n config() {\n return {\n optimizeDeps: {\n exclude: scopes.flatMap((s) => {\n // scope \uD328\uD0A4\uC9C0\uB97C pre-bundling\uC5D0\uC11C \uC81C\uC678\uD558\uC5EC \uC18C\uC2A4 \uCF54\uB4DC\uB85C \uCDE8\uAE09\n const scopeDir = path.join(pkgDir, \"node_modules\", s);\n if (!fs.existsSync(scopeDir)) return [];\n return fs.readdirSync(scopeDir).map((name) => `${s}/${name}`);\n }),\n },\n };\n },\n configureServer(server) {\n for (const scope of scopes) {\n const scopeDir = path.join(pkgDir, \"node_modules\", scope);\n if (!fs.existsSync(scopeDir)) continue;\n\n for (const pkgName of fs.readdirSync(scopeDir)) {\n const distDir = path.join(scopeDir, pkgName, \"dist\");\n if (fs.existsSync(distDir)) {\n server.watcher.add(distDir);\n }\n }\n }\n },\n };\n}\n\n/**\n * Vite \uC124\uC815 \uC0DD\uC131 \uC635\uC158\n */\nexport interface ViteConfigOptions {\n pkgDir: string;\n name: string;\n tsconfigPath: string;\n compilerOptions: Record<string, unknown>;\n env?: Record<string, string>;\n mode: \"build\" | \"dev\";\n /** dev \uBAA8\uB4DC\uC77C \uB54C \uC11C\uBC84 \uD3EC\uD2B8 (0\uC774\uBA74 \uC790\uB3D9 \uD560\uB2F9) */\n serverPort?: number;\n /** watch \uB300\uC0C1 scope \uBAA9\uB85D (\uC608: [\"@myapp\", \"@simplysm\"]) */\n watchScopes?: string[];\n}\n\n/**\n * Vite \uC124\uC815 \uC0DD\uC131\n *\n * SolidJS + TailwindCSS \uAE30\uBC18\uC758 client \uD328\uD0A4\uC9C0 \uBE4C\uB4DC/\uAC1C\uBC1C \uC11C\uBC84\uC6A9 \uC124\uC815\uC785\uB2C8\uB2E4.\n * - build \uBAA8\uB4DC: production \uBE4C\uB4DC (logLevel: silent)\n * - dev \uBAA8\uB4DC: dev server (define\uC73C\uB85C env \uCE58\uD658, server \uC124\uC815)\n */\nexport function createViteConfig(options: ViteConfigOptions): ViteUserConfig {\n const { pkgDir, name, tsconfigPath, compilerOptions, env, mode, serverPort, watchScopes } = options;\n\n // process.env \uCE58\uD658 (dev \uBAA8\uB4DC\uC5D0\uC11C\uB9CC \uC0AC\uC6A9, build \uBAA8\uB4DC\uB294 inline\uC73C\uB85C \uCC98\uB9AC\uB428)\n const envDefine: Record<string, string> = {};\n if (env != null) {\n envDefine[\"process.env\"] = JSON.stringify(env);\n }\n\n const config: ViteUserConfig = {\n root: pkgDir,\n base: `/${name}/`,\n plugins: [\n tsconfigPaths({ projects: [tsconfigPath] }),\n solidPlugin(),\n sdTailwindConfigDepsPlugin(pkgDir),\n ...(watchScopes != null && watchScopes.length > 0 ? [sdScopeWatchPlugin(pkgDir, watchScopes)] : []),\n ],\n css: {\n postcss: {\n plugins: [tailwindcss({ config: path.join(pkgDir, \"tailwind.config.ts\") })],\n },\n },\n esbuild: {\n tsconfigRaw: { compilerOptions: compilerOptions as esbuild.TsconfigRaw[\"compilerOptions\"] },\n },\n };\n\n if (mode === \"build\") {\n config.logLevel = \"silent\";\n } else {\n // dev \uBAA8\uB4DC\n config.define = envDefine;\n config.server = {\n port: serverPort === 0 ? undefined : serverPort,\n strictPort: serverPort !== 0 && serverPort !== undefined,\n };\n }\n\n return config;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAC9B,OAAO,UAAU;AAEjB,OAAO,mBAAmB;AAC1B,OAAO,iBAAiB;AACxB,OAAO,iBAAiB;AAExB,SAAS,6BAA6B;AAStC,SAAS,2BAA2B,QAAwB;AAC1D,SAAO;AAAA,IACL,MAAM;AAAA,IACN,gBAAgB,QAAQ;AACtB,YAAM,aAAa,KAAK,KAAK,QAAQ,oBAAoB;AACzD,UAAI,CAAC,GAAG,WAAW,UAAU,EAAG;AAGhC,YAAM,cAAc,KAAK,KAAK,QAAQ,cAAc;AACpD,YAAM,UAAU,KAAK,MAAM,GAAG,aAAa,aAAa,OAAO,CAAC,EAAE;AAClE,YAAM,WAAW,QAAQ,MAAM,aAAa,IAAI,CAAC;AACjD,YAAM,SAAS,oBAAI,IAAI,CAAC,WAAW,CAAC;AACpC,UAAI,YAAY,MAAM;AACpB,eAAO,IAAI,QAAQ;AAAA,MACrB;AAEA,YAAM,UAAU,sBAAsB,YAAY,CAAC,GAAG,MAAM,CAAC;AAC7D,YAAM,iBAAiB,KAAK,QAAQ,UAAU;AAC9C,YAAM,eAAe,QAAQ,OAAO,CAAC,MAAM,MAAM,cAAc;AAC/D,UAAI,aAAa,WAAW,EAAG;AAE/B,iBAAW,OAAO,cAAc;AAC9B,eAAO,QAAQ,IAAI,GAAG;AAAA,MACxB;AAEA,aAAO,QAAQ,GAAG,UAAU,CAAC,YAAY;AACvC,YAAI,aAAa,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,KAAK,UAAU,OAAO,CAAC,GAAG;AAG3E,gBAAM,WAAW,cAAc,YAAY,GAAG;AAC9C,qBAAW,OAAO,SAAS;AACzB,mBAAO,SAAS,MAAM,GAAG;AAAA,UAC3B;AAGA,gBAAM,MAAM,oBAAI,KAAK;AACrB,aAAG,WAAW,YAAY,KAAK,GAAG;AAClC,iBAAO,GAAG,KAAK,EAAE,MAAM,cAAc,CAAC;AAAA,QACxC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAUA,SAAS,mBAAmB,QAAgB,QAA0B;AACpE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AACP,aAAO;AAAA,QACL,cAAc;AAAA,UACZ,SAAS,OAAO,QAAQ,CAAC,MAAM;AAE7B,kBAAM,WAAW,KAAK,KAAK,QAAQ,gBAAgB,CAAC;AACpD,gBAAI,CAAC,GAAG,WAAW,QAAQ,EAAG,QAAO,CAAC;AACtC,mBAAO,GAAG,YAAY,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE;AAAA,UAC9D,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,IACA,gBAAgB,QAAQ;AACtB,iBAAW,SAAS,QAAQ;AAC1B,cAAM,WAAW,KAAK,KAAK,QAAQ,gBAAgB,KAAK;AACxD,YAAI,CAAC,GAAG,WAAW,QAAQ,EAAG;AAE9B,mBAAW,WAAW,GAAG,YAAY,QAAQ,GAAG;AAC9C,gBAAM,UAAU,KAAK,KAAK,UAAU,SAAS,MAAM;AACnD,cAAI,GAAG,WAAW,OAAO,GAAG;AAC1B,mBAAO,QAAQ,IAAI,OAAO;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAyBO,SAAS,iBAAiB,SAA4C;AAC3E,QAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB,KAAK,MAAM,YAAY,YAAY,IAAI;AAG5F,QAAM,YAAoC,CAAC;AAC3C,MAAI,OAAO,MAAM;AACf,cAAU,aAAa,IAAI,KAAK,UAAU,GAAG;AAAA,EAC/C;AAEA,QAAM,SAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,MAAM,IAAI,IAAI;AAAA,IACd,SAAS;AAAA,MACP,cAAc,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;AAAA,MAC1C,YAAY;AAAA,MACZ,2BAA2B,MAAM;AAAA,MACjC,GAAI,eAAe,QAAQ,YAAY,SAAS,IAAI,CAAC,mBAAmB,QAAQ,WAAW,CAAC,IAAI,CAAC;AAAA,IACnG;AAAA,IACA,KAAK;AAAA,MACH,SAAS;AAAA,QACP,SAAS,CAAC,YAAY,EAAE,QAAQ,KAAK,KAAK,QAAQ,oBAAoB,EAAE,CAAC,CAAC;AAAA,MAC5E;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,aAAa,EAAE,gBAA2E;AAAA,IAC5F;AAAA,EACF;AAEA,MAAI,SAAS,SAAS;AACpB,WAAO,WAAW;AAAA,EACpB,OAAO;AAEL,WAAO,SAAS;AAChB,WAAO,SAAS;AAAA,MACd,MAAM,eAAe,IAAI,SAAY;AAAA,MACrC,YAAY,eAAe,KAAK,eAAe;AAAA,IACjD;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function registerWorkerEventHandlers(workerInfo, opts, results, rebuildManager) {
|
|
2
|
+
const completeTask = (result) => {
|
|
3
|
+
results.set(opts.resultKey, result);
|
|
4
|
+
workerInfo.buildResolver?.();
|
|
5
|
+
workerInfo.buildResolver = void 0;
|
|
6
|
+
workerInfo.isInitialBuild = false;
|
|
7
|
+
};
|
|
8
|
+
workerInfo.worker.on("buildStart", () => {
|
|
9
|
+
if (!workerInfo.isInitialBuild) {
|
|
10
|
+
workerInfo.buildResolver = rebuildManager.registerBuild(opts.resultKey, opts.listrTitle);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
workerInfo.worker.on("build", (data) => {
|
|
14
|
+
const event = data;
|
|
15
|
+
completeTask({
|
|
16
|
+
name: workerInfo.name,
|
|
17
|
+
target: workerInfo.config.target,
|
|
18
|
+
type: opts.resultType,
|
|
19
|
+
status: event.success ? "success" : "error",
|
|
20
|
+
message: event.errors?.join("\n")
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
workerInfo.worker.on("error", (data) => {
|
|
24
|
+
const event = data;
|
|
25
|
+
completeTask({
|
|
26
|
+
name: workerInfo.name,
|
|
27
|
+
target: workerInfo.config.target,
|
|
28
|
+
type: opts.resultType,
|
|
29
|
+
status: "error",
|
|
30
|
+
message: event.message
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
return completeTask;
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
registerWorkerEventHandlers
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=worker-events.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/worker-events.ts"],
|
|
4
|
+
"sourcesContent": ["import type { PackageResult } from \"./package-utils\";\nimport type { SdPackageConfig } from \"../sd-config.types\";\nimport type { RebuildListrManager } from \"./listr-manager\";\n\n/** Worker \uBE4C\uB4DC \uC644\uB8CC \uC774\uBCA4\uD2B8 \uB370\uC774\uD130 */\nexport interface BuildEventData {\n success: boolean;\n errors?: string[];\n}\n\n/** Worker \uC5D0\uB7EC \uC774\uBCA4\uD2B8 \uB370\uC774\uD130 */\nexport interface ErrorEventData {\n message: string;\n}\n\n/** Worker \uC11C\uBC84 \uC900\uBE44 \uC774\uBCA4\uD2B8 \uB370\uC774\uD130 */\nexport interface ServerReadyEventData {\n port: number;\n}\n\n/** Server Build \uC644\uB8CC \uC774\uBCA4\uD2B8 \uB370\uC774\uD130 */\nexport interface ServerBuildEventData {\n success: boolean;\n mainJsPath: string;\n errors?: string[];\n}\n\n/**\n * \uAE30\uBCF8 Worker \uC815\uBCF4 \uD0C0\uC785\n */\nexport interface BaseWorkerInfo {\n name: string;\n config: SdPackageConfig;\n worker: { on: (event: string, handler: (data: unknown) => void) => void };\n isInitialBuild: boolean;\n buildResolver: (() => void) | undefined;\n}\n\n/**\n * Worker \uC774\uBCA4\uD2B8 \uD578\uB4E4\uB7EC \uC635\uC158\n */\nexport interface WorkerEventHandlerOptions {\n resultKey: string;\n listrTitle: string;\n resultType: \"build\" | \"dts\";\n}\n\n/**\n * \uACF5\uD1B5 Worker \uC774\uBCA4\uD2B8 \uD578\uB4E4\uB7EC \uB4F1\uB85D (buildStart, build, error\uB9CC - serverReady\uB294 \uD3EC\uD568\uD558\uC9C0 \uC54A\uC74C)\n *\n * @param workerInfo Worker \uC815\uBCF4\n * @param opts \uD578\uB4E4\uB7EC \uC635\uC158\n * @param results \uACB0\uACFC \uB9F5\n * @param rebuildManager \uB9AC\uBE4C\uB4DC \uB9E4\uB2C8\uC800\n * @returns completeTask \uD568\uC218 (\uACB0\uACFC\uB97C \uC800\uC7A5\uD558\uACE0 \uBE4C\uB4DC \uC644\uB8CC\uB97C \uC54C\uB9BC)\n */\nexport function registerWorkerEventHandlers<T extends BaseWorkerInfo>(\n workerInfo: T,\n opts: WorkerEventHandlerOptions,\n results: Map<string, PackageResult>,\n rebuildManager: RebuildListrManager,\n): (result: PackageResult) => void {\n const completeTask = (result: PackageResult): void => {\n results.set(opts.resultKey, result);\n workerInfo.buildResolver?.();\n workerInfo.buildResolver = undefined;\n workerInfo.isInitialBuild = false;\n };\n\n // \uBE4C\uB4DC \uC2DC\uC791 (\uB9AC\uBE4C\uB4DC \uC2DC)\n workerInfo.worker.on(\"buildStart\", () => {\n if (!workerInfo.isInitialBuild) {\n workerInfo.buildResolver = rebuildManager.registerBuild(opts.resultKey, opts.listrTitle);\n }\n });\n\n // \uBE4C\uB4DC \uC644\uB8CC\n workerInfo.worker.on(\"build\", (data) => {\n const event = data as BuildEventData;\n completeTask({\n name: workerInfo.name,\n target: workerInfo.config.target,\n type: opts.resultType,\n status: event.success ? \"success\" : \"error\",\n message: event.errors?.join(\"\\n\"),\n });\n });\n\n // \uC5D0\uB7EC\n workerInfo.worker.on(\"error\", (data) => {\n const event = data as ErrorEventData;\n completeTask({\n name: workerInfo.name,\n target: workerInfo.config.target,\n type: opts.resultType,\n status: \"error\",\n message: event.message,\n });\n });\n\n return completeTask;\n}\n"],
|
|
5
|
+
"mappings": "AAwDO,SAAS,4BACd,YACA,MACA,SACA,gBACiC;AACjC,QAAM,eAAe,CAAC,WAAgC;AACpD,YAAQ,IAAI,KAAK,WAAW,MAAM;AAClC,eAAW,gBAAgB;AAC3B,eAAW,gBAAgB;AAC3B,eAAW,iBAAiB;AAAA,EAC9B;AAGA,aAAW,OAAO,GAAG,cAAc,MAAM;AACvC,QAAI,CAAC,WAAW,gBAAgB;AAC9B,iBAAW,gBAAgB,eAAe,cAAc,KAAK,WAAW,KAAK,UAAU;AAAA,IACzF;AAAA,EACF,CAAC;AAGD,aAAW,OAAO,GAAG,SAAS,CAAC,SAAS;AACtC,UAAM,QAAQ;AACd,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ,MAAM,UAAU,YAAY;AAAA,MACpC,SAAS,MAAM,QAAQ,KAAK,IAAI;AAAA,IAClC,CAAC;AAAA,EACH,CAAC;AAGD,aAAW,OAAO,GAAG,SAAS,CAAC,SAAS;AACtC,UAAM,QAAQ;AACd,iBAAa;AAAA,MACX,MAAM,WAAW;AAAA,MACjB,QAAQ,WAAW,OAAO;AAAA,MAC1B,MAAM,KAAK;AAAA,MACX,QAAQ;AAAA,MACR,SAAS,MAAM;AAAA,IACjB,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { build as viteBuild, createServer } from "vite";
|
|
3
|
+
import { createWorker } from "@simplysm/core-node";
|
|
4
|
+
import { consola } from "consola";
|
|
5
|
+
import { parseRootTsconfig, getCompilerOptionsForPackage } from "../utils/tsconfig";
|
|
6
|
+
import { createViteConfig } from "../utils/vite-config";
|
|
7
|
+
const logger = consola.withTag("sd:cli:client:worker");
|
|
8
|
+
let viteServer;
|
|
9
|
+
async function cleanup() {
|
|
10
|
+
const serverToClose = viteServer;
|
|
11
|
+
viteServer = void 0;
|
|
12
|
+
if (serverToClose != null) {
|
|
13
|
+
await serverToClose.close();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
process.on("SIGTERM", () => {
|
|
17
|
+
cleanup().catch((err) => {
|
|
18
|
+
logger.error("cleanup \uC2E4\uD328", err);
|
|
19
|
+
}).finally(() => {
|
|
20
|
+
process.exit(0);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
process.on("SIGINT", () => {
|
|
24
|
+
cleanup().catch((err) => {
|
|
25
|
+
logger.error("cleanup \uC2E4\uD328", err);
|
|
26
|
+
}).finally(() => {
|
|
27
|
+
process.exit(0);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
async function build(info) {
|
|
31
|
+
try {
|
|
32
|
+
const parsedConfig = parseRootTsconfig(info.cwd);
|
|
33
|
+
const tsconfigPath = path.join(info.cwd, "tsconfig.json");
|
|
34
|
+
const compilerOptions = await getCompilerOptionsForPackage(parsedConfig.options, "browser", info.pkgDir);
|
|
35
|
+
const viteConfig = createViteConfig({
|
|
36
|
+
pkgDir: info.pkgDir,
|
|
37
|
+
name: info.name,
|
|
38
|
+
tsconfigPath,
|
|
39
|
+
compilerOptions,
|
|
40
|
+
env: info.config.env,
|
|
41
|
+
mode: "build"
|
|
42
|
+
});
|
|
43
|
+
await viteBuild(viteConfig);
|
|
44
|
+
return { success: true };
|
|
45
|
+
} catch (err) {
|
|
46
|
+
return {
|
|
47
|
+
success: false,
|
|
48
|
+
errors: [err instanceof Error ? err.message : String(err)]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
let isWatchStarted = false;
|
|
53
|
+
async function startWatch(info) {
|
|
54
|
+
if (isWatchStarted) {
|
|
55
|
+
throw new Error("startWatch\uB294 Worker\uB2F9 \uD55C \uBC88\uB9CC \uD638\uCD9C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");
|
|
56
|
+
}
|
|
57
|
+
isWatchStarted = true;
|
|
58
|
+
try {
|
|
59
|
+
const parsedConfig = parseRootTsconfig(info.cwd);
|
|
60
|
+
const tsconfigPath = path.join(info.cwd, "tsconfig.json");
|
|
61
|
+
const compilerOptions = await getCompilerOptionsForPackage(parsedConfig.options, "browser", info.pkgDir);
|
|
62
|
+
const serverPort = typeof info.config.server === "number" ? info.config.server : 0;
|
|
63
|
+
const viteConfig = createViteConfig({
|
|
64
|
+
pkgDir: info.pkgDir,
|
|
65
|
+
name: info.name,
|
|
66
|
+
tsconfigPath,
|
|
67
|
+
compilerOptions,
|
|
68
|
+
env: info.config.env,
|
|
69
|
+
mode: "dev",
|
|
70
|
+
serverPort,
|
|
71
|
+
watchScopes: info.watchScopes
|
|
72
|
+
});
|
|
73
|
+
viteServer = await createServer(viteConfig);
|
|
74
|
+
await viteServer.listen();
|
|
75
|
+
sender.send("serverReady", { port: viteServer.config.server.port });
|
|
76
|
+
} catch (err) {
|
|
77
|
+
sender.send("error", {
|
|
78
|
+
message: err instanceof Error ? err.message : String(err)
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async function stopWatch() {
|
|
83
|
+
await cleanup();
|
|
84
|
+
}
|
|
85
|
+
const sender = createWorker({
|
|
86
|
+
build,
|
|
87
|
+
startWatch,
|
|
88
|
+
stopWatch
|
|
89
|
+
});
|
|
90
|
+
var client_worker_default = sender;
|
|
91
|
+
export {
|
|
92
|
+
client_worker_default as default
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=client.worker.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/workers/client.worker.ts"],
|
|
4
|
+
"sourcesContent": ["import path from \"path\";\nimport { build as viteBuild, createServer, type ViteDevServer } from \"vite\";\nimport { createWorker } from \"@simplysm/core-node\";\nimport { consola } from \"consola\";\nimport type { SdClientPackageConfig } from \"../sd-config.types\";\nimport { parseRootTsconfig, getCompilerOptionsForPackage } from \"../utils/tsconfig\";\nimport { createViteConfig } from \"../utils/vite-config\";\n\n//#region Types\n\n/**\n * Client \uBE4C\uB4DC \uC815\uBCF4 (\uC77C\uD68C\uC131 \uBE4C\uB4DC\uC6A9)\n */\nexport interface ClientBuildInfo {\n name: string;\n config: SdClientPackageConfig;\n cwd: string;\n pkgDir: string;\n}\n\n/**\n * Client \uBE4C\uB4DC \uACB0\uACFC\n */\nexport interface ClientBuildResult {\n success: boolean;\n errors?: string[];\n}\n\n/**\n * Client Watch \uC815\uBCF4\n */\nexport interface ClientWatchInfo {\n name: string;\n config: SdClientPackageConfig;\n cwd: string;\n pkgDir: string;\n /** watch \uB300\uC0C1 scope \uBAA9\uB85D */\n watchScopes?: string[];\n}\n\n/**\n * \uBE4C\uB4DC \uC774\uBCA4\uD2B8\n */\nexport interface ClientBuildEvent {\n success: boolean;\n errors?: string[];\n}\n\n/**\n * \uC11C\uBC84 \uC900\uBE44 \uC774\uBCA4\uD2B8\n */\nexport interface ClientServerReadyEvent {\n port: number;\n}\n\n/**\n * \uC5D0\uB7EC \uC774\uBCA4\uD2B8\n */\nexport interface ClientErrorEvent {\n message: string;\n}\n\n/**\n * Worker \uC774\uBCA4\uD2B8 \uD0C0\uC785\n */\nexport interface ClientWorkerEvents extends Record<string, unknown> {\n buildStart: Record<string, never>;\n build: ClientBuildEvent;\n serverReady: ClientServerReadyEvent;\n error: ClientErrorEvent;\n}\n\n//#endregion\n\n//#region \uB9AC\uC18C\uC2A4 \uAD00\uB9AC\n\nconst logger = consola.withTag(\"sd:cli:client:worker\");\n\n/** Vite dev server (\uC815\uB9AC \uB300\uC0C1) */\nlet viteServer: ViteDevServer | undefined;\n\n/**\n * \uB9AC\uC18C\uC2A4 \uC815\uB9AC\n */\nasync function cleanup(): Promise<void> {\n // \uC804\uC5ED \uBCC0\uC218\uB97C \uC784\uC2DC \uBCC0\uC218\uB85C \uCEA1\uCC98 \uD6C4 \uCD08\uAE30\uD654\n // (Promise.all \uB300\uAE30 \uC911 \uB2E4\uB978 \uD638\uCD9C\uC5D0\uC11C \uC804\uC5ED \uBCC0\uC218\uB97C \uC218\uC815\uD560 \uC218 \uC788\uC73C\uBBC0\uB85C)\n const serverToClose = viteServer;\n viteServer = undefined;\n\n if (serverToClose != null) {\n await serverToClose.close();\n }\n}\n\n// \uD504\uB85C\uC138\uC2A4 \uC885\uB8CC \uC804 \uB9AC\uC18C\uC2A4 \uC815\uB9AC (SIGTERM/SIGINT)\n// \uC8FC\uC758: worker.terminate()\uB294 \uC774 \uD578\uB4E4\uB7EC\uB4E4\uC744 \uD638\uCD9C\uD558\uC9C0 \uC54A\uACE0 \uC989\uC2DC \uC885\uB8CC\uB428.\n// \uADF8\uB7EC\uB098 watch \uBAA8\uB4DC\uC5D0\uC11C \uC815\uC0C1 \uC885\uB8CC\uB294 \uBA54\uC778 \uD504\uB85C\uC138\uC2A4\uC758 SIGINT/SIGTERM\uC744 \uD1B5\uD574 \uC774\uB8E8\uC5B4\uC9C0\uBBC0\uB85C \uBB38\uC81C\uC5C6\uC74C.\nprocess.on(\"SIGTERM\", () => {\n cleanup()\n .catch((err) => {\n logger.error(\"cleanup \uC2E4\uD328\", err);\n })\n .finally(() => {\n process.exit(0);\n });\n});\n\nprocess.on(\"SIGINT\", () => {\n cleanup()\n .catch((err) => {\n logger.error(\"cleanup \uC2E4\uD328\", err);\n })\n .finally(() => {\n process.exit(0);\n });\n});\n\n//#endregion\n\n//#region Worker\n\n/**\n * \uC77C\uD68C\uC131 \uBE4C\uB4DC\n */\nasync function build(info: ClientBuildInfo): Promise<ClientBuildResult> {\n try {\n // tsconfig \uD30C\uC2F1\n const parsedConfig = parseRootTsconfig(info.cwd);\n const tsconfigPath = path.join(info.cwd, \"tsconfig.json\");\n\n // browser \uD0C0\uAC9F\uC6A9 compilerOptions \uC0DD\uC131\n const compilerOptions = await getCompilerOptionsForPackage(parsedConfig.options, \"browser\", info.pkgDir);\n\n // Vite \uC124\uC815 \uC0DD\uC131 \uBC0F \uBE4C\uB4DC\n const viteConfig = createViteConfig({\n pkgDir: info.pkgDir,\n name: info.name,\n tsconfigPath,\n compilerOptions,\n env: info.config.env,\n mode: \"build\",\n });\n\n await viteBuild(viteConfig);\n\n return { success: true };\n } catch (err) {\n return {\n success: false,\n errors: [err instanceof Error ? err.message : String(err)],\n };\n }\n}\n\n/** startWatch \uD638\uCD9C \uC5EC\uBD80 \uD50C\uB798\uADF8 */\nlet isWatchStarted = false;\n\n/**\n * watch \uC2DC\uC791 (Vite dev server)\n * @remarks \uC774 \uD568\uC218\uB294 Worker\uB2F9 \uD55C \uBC88\uB9CC \uD638\uCD9C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n * @throws \uC774\uBBF8 watch\uAC00 \uC2DC\uC791\uB41C \uACBD\uC6B0\n */\nasync function startWatch(info: ClientWatchInfo): Promise<void> {\n if (isWatchStarted) {\n throw new Error(\"startWatch\uB294 Worker\uB2F9 \uD55C \uBC88\uB9CC \uD638\uCD9C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\");\n }\n isWatchStarted = true;\n\n try {\n // tsconfig \uD30C\uC2F1\n const parsedConfig = parseRootTsconfig(info.cwd);\n const tsconfigPath = path.join(info.cwd, \"tsconfig.json\");\n\n // browser \uD0C0\uAC9F\uC6A9 compilerOptions \uC0DD\uC131\n const compilerOptions = await getCompilerOptionsForPackage(parsedConfig.options, \"browser\", info.pkgDir);\n\n // server\uAC00 0\uC774\uBA74 \uC790\uB3D9 \uD3EC\uD2B8 \uD560\uB2F9 (\uC11C\uBC84 \uC5F0\uACB0 \uD074\uB77C\uC774\uC5B8\uD2B8)\n // server\uAC00 \uC22B\uC790\uBA74 \uD574\uB2F9 \uD3EC\uD2B8\uB85C \uACE0\uC815 (standalone \uD074\uB77C\uC774\uC5B8\uD2B8)\n const serverPort = typeof info.config.server === \"number\" ? info.config.server : 0;\n\n // Vite \uC124\uC815 \uC0DD\uC131\n const viteConfig = createViteConfig({\n pkgDir: info.pkgDir,\n name: info.name,\n tsconfigPath,\n compilerOptions,\n env: info.config.env,\n mode: \"dev\",\n serverPort,\n watchScopes: info.watchScopes,\n });\n\n // Vite dev server \uC2DC\uC791\n viteServer = await createServer(viteConfig);\n await viteServer.listen();\n\n // \uC2E4\uC81C \uD560\uB2F9\uB41C \uD3EC\uD2B8 \uBC18\uD658\n sender.send(\"serverReady\", { port: viteServer.config.server.port });\n } catch (err) {\n sender.send(\"error\", {\n message: err instanceof Error ? err.message : String(err),\n });\n }\n}\n\n/**\n * watch \uC911\uC9C0\n * @remarks Vite dev server\uB97C \uC815\uB9AC\uD569\uB2C8\uB2E4.\n */\nasync function stopWatch(): Promise<void> {\n await cleanup();\n}\n\nconst sender = createWorker<\n { build: typeof build; startWatch: typeof startWatch; stopWatch: typeof stopWatch },\n ClientWorkerEvents\n>({\n build,\n startWatch,\n stopWatch,\n});\n\nexport default sender;\n\n//#endregion\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,SAAS,WAAW,oBAAwC;AACrE,SAAS,oBAAoB;AAC7B,SAAS,eAAe;AAExB,SAAS,mBAAmB,oCAAoC;AAChE,SAAS,wBAAwB;AAsEjC,MAAM,SAAS,QAAQ,QAAQ,sBAAsB;AAGrD,IAAI;AAKJ,eAAe,UAAyB;AAGtC,QAAM,gBAAgB;AACtB,eAAa;AAEb,MAAI,iBAAiB,MAAM;AACzB,UAAM,cAAc,MAAM;AAAA,EAC5B;AACF;AAKA,QAAQ,GAAG,WAAW,MAAM;AAC1B,UAAQ,EACL,MAAM,CAAC,QAAQ;AACd,WAAO,MAAM,wBAAc,GAAG;AAAA,EAChC,CAAC,EACA,QAAQ,MAAM;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACL,CAAC;AAED,QAAQ,GAAG,UAAU,MAAM;AACzB,UAAQ,EACL,MAAM,CAAC,QAAQ;AACd,WAAO,MAAM,wBAAc,GAAG;AAAA,EAChC,CAAC,EACA,QAAQ,MAAM;AACb,YAAQ,KAAK,CAAC;AAAA,EAChB,CAAC;AACL,CAAC;AASD,eAAe,MAAM,MAAmD;AACtE,MAAI;AAEF,UAAM,eAAe,kBAAkB,KAAK,GAAG;AAC/C,UAAM,eAAe,KAAK,KAAK,KAAK,KAAK,eAAe;AAGxD,UAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,WAAW,KAAK,MAAM;AAGvG,UAAM,aAAa,iBAAiB;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,MAAM;AAAA,IACR,CAAC;AAED,UAAM,UAAU,UAAU;AAE1B,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB,SAAS,KAAK;AACZ,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ,CAAC,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,IAC3D;AAAA,EACF;AACF;AAGA,IAAI,iBAAiB;AAOrB,eAAe,WAAW,MAAsC;AAC9D,MAAI,gBAAgB;AAClB,UAAM,IAAI,MAAM,uGAAsC;AAAA,EACxD;AACA,mBAAiB;AAEjB,MAAI;AAEF,UAAM,eAAe,kBAAkB,KAAK,GAAG;AAC/C,UAAM,eAAe,KAAK,KAAK,KAAK,KAAK,eAAe;AAGxD,UAAM,kBAAkB,MAAM,6BAA6B,aAAa,SAAS,WAAW,KAAK,MAAM;AAIvG,UAAM,aAAa,OAAO,KAAK,OAAO,WAAW,WAAW,KAAK,OAAO,SAAS;AAGjF,UAAM,aAAa,iBAAiB;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX;AAAA,MACA;AAAA,MACA,KAAK,KAAK,OAAO;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,MACA,aAAa,KAAK;AAAA,IACpB,CAAC;AAGD,iBAAa,MAAM,aAAa,UAAU;AAC1C,UAAM,WAAW,OAAO;AAGxB,WAAO,KAAK,eAAe,EAAE,MAAM,WAAW,OAAO,OAAO,KAAK,CAAC;AAAA,EACpE,SAAS,KAAK;AACZ,WAAO,KAAK,SAAS;AAAA,MACnB,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAMA,eAAe,YAA2B;AACxC,QAAM,QAAQ;AAChB;AAEA,MAAM,SAAS,aAGb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|