nuclie 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +516 -0
- package/dist/ai/analyzer.d.ts +29 -0
- package/dist/ai/analyzer.js +202 -0
- package/dist/ai/chat/cli.d.ts +3 -0
- package/dist/ai/chat/cli.js +38 -0
- package/dist/ai/client.d.ts +17 -0
- package/dist/ai/client.js +68 -0
- package/dist/ai/cloud/api.d.ts +28 -0
- package/dist/ai/cloud/api.js +118 -0
- package/dist/ai/cloud/modelSync.d.ts +18 -0
- package/dist/ai/cloud/modelSync.js +104 -0
- package/dist/ai/cloud/telemetry.d.ts +14 -0
- package/dist/ai/cloud/telemetry.js +23 -0
- package/dist/ai/config.d.ts +14 -0
- package/dist/ai/config.js +9 -0
- package/dist/ai/core/errorMemory.d.ts +14 -0
- package/dist/ai/core/errorMemory.js +36 -0
- package/dist/ai/dashboard/cli.d.ts +3 -0
- package/dist/ai/dashboard/cli.js +32 -0
- package/dist/ai/healer/applier.d.ts +9 -0
- package/dist/ai/healer/applier.js +74 -0
- package/dist/ai/healer/cli.d.ts +3 -0
- package/dist/ai/healer/cli.js +57 -0
- package/dist/ai/healer/collector.d.ts +16 -0
- package/dist/ai/healer/collector.js +41 -0
- package/dist/ai/healer/fixer.d.ts +12 -0
- package/dist/ai/healer/fixer.js +40 -0
- package/dist/ai/healer/llm.d.ts +9 -0
- package/dist/ai/healer/llm.js +20 -0
- package/dist/ai/healer/parser.d.ts +16 -0
- package/dist/ai/healer/parser.js +67 -0
- package/dist/ai/learning/evolver.d.ts +8 -0
- package/dist/ai/learning/evolver.js +24 -0
- package/dist/ai/llm/fixGenerator.d.ts +9 -0
- package/dist/ai/llm/fixGenerator.js +21 -0
- package/dist/ai/llm/ollama.d.ts +10 -0
- package/dist/ai/llm/ollama.js +56 -0
- package/dist/ai/local/fixStore.d.ts +19 -0
- package/dist/ai/local/fixStore.js +105 -0
- package/dist/ai/optimizer/analyzer.d.ts +9 -0
- package/dist/ai/optimizer/analyzer.js +65 -0
- package/dist/ai/optimizer/engine.d.ts +16 -0
- package/dist/ai/optimizer/engine.js +51 -0
- package/dist/ai/optimizer/llm.d.ts +8 -0
- package/dist/ai/optimizer/llm.js +14 -0
- package/dist/ai/optimizer/profiler.d.ts +11 -0
- package/dist/ai/optimizer/profiler.js +111 -0
- package/dist/ai/optimizer/rules.d.ts +12 -0
- package/dist/ai/optimizer/rules.js +37 -0
- package/dist/ai/patterns/common.d.ts +8 -0
- package/dist/ai/patterns/common.js +181 -0
- package/dist/ai/reporter/assembler.d.ts +11 -0
- package/dist/ai/reporter/assembler.js +10 -0
- package/dist/ai/reporter/generator.d.ts +4 -0
- package/dist/ai/reporter/generator.js +42 -0
- package/dist/ai/reporter/narrator.d.ts +8 -0
- package/dist/ai/reporter/narrator.js +29 -0
- package/dist/ai/schema.d.ts +104 -0
- package/dist/ai/schema.js +45 -0
- package/dist/ai/telemetry.d.ts +14 -0
- package/dist/ai/telemetry.js +96 -0
- package/dist/audit/a11y.d.ts +5 -0
- package/dist/audit/a11y.js +123 -0
- package/dist/audit/best-practices.d.ts +5 -0
- package/dist/audit/best-practices.js +68 -0
- package/dist/audit/build-integration.d.ts +59 -0
- package/dist/audit/build-integration.js +138 -0
- package/dist/audit/core.d.ts +62 -0
- package/dist/audit/core.js +327 -0
- package/dist/audit/index.d.ts +4 -0
- package/dist/audit/index.js +60 -0
- package/dist/audit/perf.d.ts +5 -0
- package/dist/audit/perf.js +69 -0
- package/dist/audit/seo.d.ts +5 -0
- package/dist/audit/seo.js +63 -0
- package/dist/audit/types.d.ts +35 -0
- package/dist/audit/types.js +1 -0
- package/dist/audit-stub/types.d.ts +25 -0
- package/dist/audit-stub/types.js +1 -0
- package/dist/build/bundle-stats.d.ts +2 -0
- package/dist/build/bundle-stats.js +42 -0
- package/dist/build/bundler.d.ts +46 -0
- package/dist/build/bundler.js +31 -0
- package/dist/build/index.d.ts +36 -0
- package/dist/build/index.js +69 -0
- package/dist/build/pipeline.d.ts +31 -0
- package/dist/build/pipeline.js +68 -0
- package/dist/builder/server.d.ts +11 -0
- package/dist/builder/server.js +253 -0
- package/dist/cache/incremental.d.ts +75 -0
- package/dist/cache/incremental.js +200 -0
- package/dist/cache/index.d.ts +17 -0
- package/dist/cache/index.js +186 -0
- package/dist/cache/rocksdb.d.ts +18 -0
- package/dist/cache/rocksdb.js +63 -0
- package/dist/cli/css-cli.d.ts +5 -0
- package/dist/cli/css-cli.js +112 -0
- package/dist/cli/inspect.d.ts +1 -0
- package/dist/cli/inspect.js +94 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +586 -0
- package/dist/commands/analyze.d.ts +1 -0
- package/dist/commands/analyze.js +295 -0
- package/dist/commands/doctor.d.ts +21 -0
- package/dist/commands/doctor.js +364 -0
- package/dist/commands/ssr.d.ts +12 -0
- package/dist/commands/ssr.js +30 -0
- package/dist/commands/verify.d.ts +38 -0
- package/dist/commands/verify.js +459 -0
- package/dist/config/index.d.ts +145 -0
- package/dist/config/index.js +227 -0
- package/dist/config/live-config.d.ts +22 -0
- package/dist/config/live-config.js +88 -0
- package/dist/core/__tests__/permissions.test.d.ts +1 -0
- package/dist/core/__tests__/permissions.test.js +16 -0
- package/dist/core/__tests__/universal-transformer.test.d.ts +1 -0
- package/dist/core/__tests__/universal-transformer.test.js +27 -0
- package/dist/core/build/globalOptimizer.d.ts +8 -0
- package/dist/core/build/globalOptimizer.js +21 -0
- package/dist/core/build/incremental.d.ts +13 -0
- package/dist/core/build/incremental.js +29 -0
- package/dist/core/bundler-rolldown.d.ts +42 -0
- package/dist/core/bundler-rolldown.js +100 -0
- package/dist/core/cache/lazy-init.d.ts +50 -0
- package/dist/core/cache/lazy-init.js +153 -0
- package/dist/core/cache-manager.d.ts +51 -0
- package/dist/core/cache-manager.js +149 -0
- package/dist/core/css/engine.d.ts +37 -0
- package/dist/core/css/engine.js +113 -0
- package/dist/core/css-framework-detector.d.ts +10 -0
- package/dist/core/css-framework-detector.js +169 -0
- package/dist/core/detection/files.d.ts +2 -0
- package/dist/core/detection/files.js +77 -0
- package/dist/core/detection/index.d.ts +8 -0
- package/dist/core/detection/index.js +39 -0
- package/dist/core/detection/resolver.d.ts +2 -0
- package/dist/core/detection/resolver.js +116 -0
- package/dist/core/detection/scanner.d.ts +4 -0
- package/dist/core/detection/scanner.js +145 -0
- package/dist/core/detection/types.d.ts +33 -0
- package/dist/core/detection/types.js +12 -0
- package/dist/core/engine/cache.d.ts +18 -0
- package/dist/core/engine/cache.js +72 -0
- package/dist/core/engine/config.d.ts +11 -0
- package/dist/core/engine/config.js +158 -0
- package/dist/core/engine/emit.d.ts +8 -0
- package/dist/core/engine/emit.js +60 -0
- package/dist/core/engine/events.d.ts +13 -0
- package/dist/core/engine/events.js +35 -0
- package/dist/core/engine/execute.d.ts +5 -0
- package/dist/core/engine/execute.js +226 -0
- package/dist/core/engine/hash.d.ts +8 -0
- package/dist/core/engine/hash.js +39 -0
- package/dist/core/engine/index.d.ts +49 -0
- package/dist/core/engine/index.js +156 -0
- package/dist/core/engine/optimize.d.ts +2 -0
- package/dist/core/engine/optimize.js +99 -0
- package/dist/core/engine/plan.d.ts +9 -0
- package/dist/core/engine/plan.js +196 -0
- package/dist/core/engine/types.d.ts +120 -0
- package/dist/core/engine/types.js +1 -0
- package/dist/core/errors/hero-errors.d.ts +57 -0
- package/dist/core/errors/hero-errors.js +269 -0
- package/dist/core/framework-detector.d.ts +20 -0
- package/dist/core/framework-detector.js +148 -0
- package/dist/core/graph/js-graph-analyzer.d.ts +51 -0
- package/dist/core/graph/js-graph-analyzer.js +178 -0
- package/dist/core/graph/serializer.d.ts +7 -0
- package/dist/core/graph/serializer.js +24 -0
- package/dist/core/interop/analyze.d.ts +8 -0
- package/dist/core/interop/analyze.js +82 -0
- package/dist/core/interop/analyze_ast.d.ts +9 -0
- package/dist/core/interop/analyze_ast.js +174 -0
- package/dist/core/interop/index.d.ts +19 -0
- package/dist/core/interop/index.js +36 -0
- package/dist/core/interop/resolve.d.ts +9 -0
- package/dist/core/interop/resolve.js +55 -0
- package/dist/core/interop/types.d.ts +28 -0
- package/dist/core/interop/types.js +2 -0
- package/dist/core/interop/wrapper.d.ts +11 -0
- package/dist/core/interop/wrapper.js +50 -0
- package/dist/core/parser-bun.d.ts +54 -0
- package/dist/core/parser-bun.js +86 -0
- package/dist/core/permissions.d.ts +16 -0
- package/dist/core/permissions.js +47 -0
- package/dist/core/pipeline/framework-pipeline.d.ts +71 -0
- package/dist/core/pipeline/framework-pipeline.js +113 -0
- package/dist/core/plugins/index.d.ts +5 -0
- package/dist/core/plugins/index.js +5 -0
- package/dist/core/plugins/manager.d.ts +30 -0
- package/dist/core/plugins/manager.js +123 -0
- package/dist/core/plugins/sandbox_js.d.ts +9 -0
- package/dist/core/plugins/sandbox_js.js +37 -0
- package/dist/core/plugins/sandbox_wasm.d.ts +10 -0
- package/dist/core/plugins/sandbox_wasm.js +68 -0
- package/dist/core/plugins/types.d.ts +37 -0
- package/dist/core/plugins/types.js +2 -0
- package/dist/core/plugins/validation.d.ts +8 -0
- package/dist/core/plugins/validation.js +30 -0
- package/dist/core/sandbox.d.ts +9 -0
- package/dist/core/sandbox.js +79 -0
- package/dist/core/steps/css-optimization.d.ts +65 -0
- package/dist/core/steps/css-optimization.js +318 -0
- package/dist/core/steps.d.ts +7 -0
- package/dist/core/steps.js +17 -0
- package/dist/core/transform/batchTransformer.d.ts +12 -0
- package/dist/core/transform/batchTransformer.js +24 -0
- package/dist/core/transform/transformer.d.ts +9 -0
- package/dist/core/transform/transformer.js +189 -0
- package/dist/core/universal-transformer.d.ts +81 -0
- package/dist/core/universal-transformer.js +780 -0
- package/dist/create/index.d.ts +25 -0
- package/dist/create/index.js +584 -0
- package/dist/create/ui.d.ts +13 -0
- package/dist/create/ui.js +218 -0
- package/dist/create-nuclie/cli.d.ts +7 -0
- package/dist/create-nuclie/cli.js +73 -0
- package/dist/create-nuclie/templates.d.ts +18 -0
- package/dist/create-nuclie/templates.js +73 -0
- package/dist/create-nuclie.d.ts +2 -0
- package/dist/create-nuclie.js +7 -0
- package/dist/dashboard/metrics.d.ts +31 -0
- package/dist/dashboard/metrics.js +59 -0
- package/dist/dashboard/server/router.d.ts +52 -0
- package/dist/dashboard/server/router.js +36 -0
- package/dist/dev/__tests__/preBundler.test.d.ts +1 -0
- package/dist/dev/__tests__/preBundler.test.js +51 -0
- package/dist/dev/configWatcher.d.ts +10 -0
- package/dist/dev/configWatcher.js +42 -0
- package/dist/dev/devServer.d.ts +2 -0
- package/dist/dev/devServer.js +1398 -0
- package/dist/dev/devServer.minimal.d.ts +8 -0
- package/dist/dev/devServer.minimal.js +122 -0
- package/dist/dev/federation-dev.d.ts +14 -0
- package/dist/dev/federation-dev.js +69 -0
- package/dist/dev/hmr-engine.d.ts +12 -0
- package/dist/dev/hmr-engine.js +66 -0
- package/dist/dev/hmr-v2.d.ts +40 -0
- package/dist/dev/hmr-v2.js +87 -0
- package/dist/dev/hmrThrottle.d.ts +13 -0
- package/dist/dev/hmrThrottle.js +56 -0
- package/dist/dev/overlay/overlay-client.d.ts +7 -0
- package/dist/dev/overlay/overlay-client.js +53 -0
- package/dist/dev/overlay/overlay-ui.d.ts +17 -0
- package/dist/dev/overlay/overlay-ui.js +133 -0
- package/dist/dev/preBundler.d.ts +17 -0
- package/dist/dev/preBundler.js +343 -0
- package/dist/dev/statusHandler.d.ts +11 -0
- package/dist/dev/statusHandler.js +44 -0
- package/dist/dev/types.d.ts +30 -0
- package/dist/dev/types.js +1 -0
- package/dist/dev/watcher.d.ts +11 -0
- package/dist/dev/watcher.js +40 -0
- package/dist/dev-server-manual.d.ts +5 -0
- package/dist/dev-server-manual.js +24 -0
- package/dist/dev-server.d.ts +25 -0
- package/dist/dev-server.js +255 -0
- package/dist/env/api.d.ts +27 -0
- package/dist/env/api.js +36 -0
- package/dist/fix/ast-transforms.d.ts +81 -0
- package/dist/fix/ast-transforms.js +449 -0
- package/dist/hmr/classifier.d.ts +51 -0
- package/dist/hmr/classifier.js +232 -0
- package/dist/hmr/index.d.ts +5 -0
- package/dist/hmr/index.js +5 -0
- package/dist/hmr/overlay.d.ts +39 -0
- package/dist/hmr/overlay.js +285 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +57 -0
- package/dist/init/bootstrap.d.ts +1 -0
- package/dist/init/bootstrap.js +106 -0
- package/dist/init/index.d.ts +1 -0
- package/dist/init/index.js +74 -0
- package/dist/init/templates.d.ts +2 -0
- package/dist/init/templates.js +227 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +3 -0
- package/dist/marketplace/client.d.ts +25 -0
- package/dist/marketplace/client.js +73 -0
- package/dist/marketplace/db.d.ts +24 -0
- package/dist/marketplace/db.js +57 -0
- package/dist/marketplace/plugin-adapter.d.ts +14 -0
- package/dist/marketplace/plugin-adapter.js +85 -0
- package/dist/marketplace/server.d.ts +66 -0
- package/dist/marketplace/server.js +97 -0
- package/dist/meta-frameworks/base-router.d.ts +63 -0
- package/dist/meta-frameworks/base-router.js +259 -0
- package/dist/meta-frameworks/index.d.ts +8 -0
- package/dist/meta-frameworks/index.js +8 -0
- package/dist/meta-frameworks/nextjs/router.d.ts +35 -0
- package/dist/meta-frameworks/nextjs/router.js +176 -0
- package/dist/meta-frameworks/nuxt/router.d.ts +22 -0
- package/dist/meta-frameworks/nuxt/router.js +84 -0
- package/dist/meta-frameworks/remix/router.d.ts +28 -0
- package/dist/meta-frameworks/remix/router.js +136 -0
- package/dist/meta-frameworks/ssr/react-renderer.d.ts +24 -0
- package/dist/meta-frameworks/ssr/react-renderer.js +53 -0
- package/dist/meta-frameworks/ssr/server.d.ts +92 -0
- package/dist/meta-frameworks/ssr/server.js +312 -0
- package/dist/meta-frameworks/ssr/vue-renderer.d.ts +11 -0
- package/dist/meta-frameworks/ssr/vue-renderer.js +35 -0
- package/dist/meta-frameworks/types.d.ts +76 -0
- package/dist/meta-frameworks/types.js +5 -0
- package/dist/migrate/analyzer.d.ts +46 -0
- package/dist/migrate/analyzer.js +254 -0
- package/dist/migrate/cli.d.ts +10 -0
- package/dist/migrate/cli.js +63 -0
- package/dist/migrate/generator.d.ts +32 -0
- package/dist/migrate/generator.js +214 -0
- package/dist/native/cache.d.ts +86 -0
- package/dist/native/cache.js +154 -0
- package/dist/native/index.d.ts +4 -0
- package/dist/native/index.js +56 -0
- package/dist/native/orchestrator.d.ts +78 -0
- package/dist/native/orchestrator.js +107 -0
- package/dist/native/wasm.d.ts +22 -0
- package/dist/native/wasm.js +33 -0
- package/dist/nuclie_native.node +0 -0
- package/dist/plugins/assets.d.ts +2 -0
- package/dist/plugins/assets.js +50 -0
- package/dist/plugins/compat/adapter.d.ts +33 -0
- package/dist/plugins/compat/adapter.js +102 -0
- package/dist/plugins/compat/deferred.d.ts +17 -0
- package/dist/plugins/compat/deferred.js +28 -0
- package/dist/plugins/compat/index.d.ts +11 -0
- package/dist/plugins/compat/index.js +11 -0
- package/dist/plugins/compat/rollup.d.ts +19 -0
- package/dist/plugins/compat/rollup.js +76 -0
- package/dist/plugins/compat/tier-a.d.ts +60 -0
- package/dist/plugins/compat/tier-a.js +132 -0
- package/dist/plugins/compat/tier-b.d.ts +34 -0
- package/dist/plugins/compat/tier-b.js +90 -0
- package/dist/plugins/compat/tier-c.d.ts +48 -0
- package/dist/plugins/compat/tier-c.js +49 -0
- package/dist/plugins/compat/webpack.d.ts +26 -0
- package/dist/plugins/compat/webpack.js +77 -0
- package/dist/plugins/core/linker.d.ts +8 -0
- package/dist/plugins/core/linker.js +51 -0
- package/dist/plugins/css/bootstrap.d.ts +25 -0
- package/dist/plugins/css/bootstrap.js +110 -0
- package/dist/plugins/css/bulma.d.ts +23 -0
- package/dist/plugins/css/bulma.js +75 -0
- package/dist/plugins/css/css-modules.d.ts +19 -0
- package/dist/plugins/css/css-modules.js +96 -0
- package/dist/plugins/css/css-optimizer.d.ts +43 -0
- package/dist/plugins/css/css-optimizer.js +155 -0
- package/dist/plugins/css/emotion.d.ts +35 -0
- package/dist/plugins/css/emotion.js +109 -0
- package/dist/plugins/css/less.d.ts +6 -0
- package/dist/plugins/css/less.js +33 -0
- package/dist/plugins/css/material.d.ts +24 -0
- package/dist/plugins/css/material.js +97 -0
- package/dist/plugins/css/postcss.d.ts +2 -0
- package/dist/plugins/css/postcss.js +96 -0
- package/dist/plugins/css/sass.d.ts +6 -0
- package/dist/plugins/css/sass.js +36 -0
- package/dist/plugins/css/styled-components.d.ts +33 -0
- package/dist/plugins/css/styled-components.js +94 -0
- package/dist/plugins/css/stylus.d.ts +6 -0
- package/dist/plugins/css/stylus.js +41 -0
- package/dist/plugins/css/tailwind.d.ts +9 -0
- package/dist/plugins/css/tailwind.js +132 -0
- package/dist/plugins/css-in-js.d.ts +10 -0
- package/dist/plugins/css-in-js.js +24 -0
- package/dist/plugins/edge.d.ts +7 -0
- package/dist/plugins/edge.js +38 -0
- package/dist/plugins/esbuildAdapter.d.ts +3 -0
- package/dist/plugins/esbuildAdapter.js +77 -0
- package/dist/plugins/federation_next.d.ts +16 -0
- package/dist/plugins/federation_next.js +78 -0
- package/dist/plugins/framework-plugins.d.ts +3 -0
- package/dist/plugins/framework-plugins.js +40 -0
- package/dist/plugins/frameworks/index.d.ts +8 -0
- package/dist/plugins/frameworks/index.js +10 -0
- package/dist/plugins/frameworks/lit.d.ts +36 -0
- package/dist/plugins/frameworks/lit.js +114 -0
- package/dist/plugins/frameworks/react.d.ts +38 -0
- package/dist/plugins/frameworks/react.js +144 -0
- package/dist/plugins/frameworks/solid.d.ts +36 -0
- package/dist/plugins/frameworks/solid.js +108 -0
- package/dist/plugins/frameworks/svelte.d.ts +43 -0
- package/dist/plugins/frameworks/svelte.js +144 -0
- package/dist/plugins/frameworks/vue.d.ts +43 -0
- package/dist/plugins/frameworks/vue.js +240 -0
- package/dist/plugins/governance.d.ts +36 -0
- package/dist/plugins/governance.js +50 -0
- package/dist/plugins/html.d.ts +2 -0
- package/dist/plugins/html.js +49 -0
- package/dist/plugins/implementations/analytics.d.ts +7 -0
- package/dist/plugins/implementations/analytics.js +15 -0
- package/dist/plugins/implementations/apollo.d.ts +7 -0
- package/dist/plugins/implementations/apollo.js +15 -0
- package/dist/plugins/implementations/audit.d.ts +7 -0
- package/dist/plugins/implementations/audit.js +30 -0
- package/dist/plugins/implementations/auto-fix.d.ts +7 -0
- package/dist/plugins/implementations/auto-fix.js +15 -0
- package/dist/plugins/implementations/avif.d.ts +7 -0
- package/dist/plugins/implementations/avif.js +27 -0
- package/dist/plugins/implementations/babel.d.ts +7 -0
- package/dist/plugins/implementations/babel.js +15 -0
- package/dist/plugins/implementations/bundle-analyzer.d.ts +7 -0
- package/dist/plugins/implementations/bundle-analyzer.js +21 -0
- package/dist/plugins/implementations/bundle-size.d.ts +7 -0
- package/dist/plugins/implementations/bundle-size.js +21 -0
- package/dist/plugins/implementations/checker.d.ts +7 -0
- package/dist/plugins/implementations/checker.js +15 -0
- package/dist/plugins/implementations/chromatic.d.ts +7 -0
- package/dist/plugins/implementations/chromatic.js +15 -0
- package/dist/plugins/implementations/cloudflare.d.ts +7 -0
- package/dist/plugins/implementations/cloudflare.js +15 -0
- package/dist/plugins/implementations/code-split.d.ts +7 -0
- package/dist/plugins/implementations/code-split.js +21 -0
- package/dist/plugins/implementations/compression.d.ts +7 -0
- package/dist/plugins/implementations/compression.js +21 -0
- package/dist/plugins/implementations/copy.d.ts +7 -0
- package/dist/plugins/implementations/copy.js +15 -0
- package/dist/plugins/implementations/critical-css.d.ts +7 -0
- package/dist/plugins/implementations/critical-css.js +25 -0
- package/dist/plugins/implementations/crypto-sign.d.ts +7 -0
- package/dist/plugins/implementations/crypto-sign.js +30 -0
- package/dist/plugins/implementations/css-framework.d.ts +7 -0
- package/dist/plugins/implementations/css-framework.js +25 -0
- package/dist/plugins/implementations/css.d.ts +7 -0
- package/dist/plugins/implementations/css.js +25 -0
- package/dist/plugins/implementations/cypress.d.ts +7 -0
- package/dist/plugins/implementations/cypress.js +15 -0
- package/dist/plugins/implementations/determinism.d.ts +7 -0
- package/dist/plugins/implementations/determinism.js +21 -0
- package/dist/plugins/implementations/edge.d.ts +8 -0
- package/dist/plugins/implementations/edge.js +35 -0
- package/dist/plugins/implementations/env-validation.d.ts +7 -0
- package/dist/plugins/implementations/env-validation.js +30 -0
- package/dist/plugins/implementations/eslint.d.ts +7 -0
- package/dist/plugins/implementations/eslint.js +15 -0
- package/dist/plugins/implementations/federation.d.ts +7 -0
- package/dist/plugins/implementations/federation.js +15 -0
- package/dist/plugins/implementations/file.d.ts +7 -0
- package/dist/plugins/implementations/file.js +27 -0
- package/dist/plugins/implementations/font-subset.d.ts +7 -0
- package/dist/plugins/implementations/font-subset.js +27 -0
- package/dist/plugins/implementations/fonts.d.ts +7 -0
- package/dist/plugins/implementations/fonts.js +27 -0
- package/dist/plugins/implementations/formatjs.d.ts +7 -0
- package/dist/plugins/implementations/formatjs.js +18 -0
- package/dist/plugins/implementations/graphql.d.ts +7 -0
- package/dist/plugins/implementations/graphql.js +15 -0
- package/dist/plugins/implementations/hmr-classify.d.ts +7 -0
- package/dist/plugins/implementations/hmr-classify.js +21 -0
- package/dist/plugins/implementations/html.d.ts +7 -0
- package/dist/plugins/implementations/html.js +15 -0
- package/dist/plugins/implementations/i18n.d.ts +7 -0
- package/dist/plugins/implementations/i18n.js +15 -0
- package/dist/plugins/implementations/icon.d.ts +7 -0
- package/dist/plugins/implementations/icon.js +27 -0
- package/dist/plugins/implementations/imagemin.d.ts +7 -0
- package/dist/plugins/implementations/imagemin.js +27 -0
- package/dist/plugins/implementations/inspect.d.ts +7 -0
- package/dist/plugins/implementations/inspect.js +15 -0
- package/dist/plugins/implementations/jest.d.ts +7 -0
- package/dist/plugins/implementations/jest.js +19 -0
- package/dist/plugins/implementations/jotai.d.ts +8 -0
- package/dist/plugins/implementations/jotai.js +35 -0
- package/dist/plugins/implementations/lazy-load.d.ts +7 -0
- package/dist/plugins/implementations/lazy-load.js +21 -0
- package/dist/plugins/implementations/legacy.d.ts +7 -0
- package/dist/plugins/implementations/legacy.js +15 -0
- package/dist/plugins/implementations/lighthouse.d.ts +7 -0
- package/dist/plugins/implementations/lighthouse.js +21 -0
- package/dist/plugins/implementations/manifest.d.ts +7 -0
- package/dist/plugins/implementations/manifest.js +15 -0
- package/dist/plugins/implementations/markdown.d.ts +7 -0
- package/dist/plugins/implementations/markdown.js +15 -0
- package/dist/plugins/implementations/md.d.ts +7 -0
- package/dist/plugins/implementations/md.js +15 -0
- package/dist/plugins/implementations/mdx.d.ts +7 -0
- package/dist/plugins/implementations/mdx.js +15 -0
- package/dist/plugins/implementations/meta-tags.d.ts +7 -0
- package/dist/plugins/implementations/meta-tags.js +15 -0
- package/dist/plugins/implementations/mini-css-extract-plugin.d.ts +7 -0
- package/dist/plugins/implementations/mini-css-extract-plugin.js +25 -0
- package/dist/plugins/implementations/mobx.d.ts +8 -0
- package/dist/plugins/implementations/mobx.js +35 -0
- package/dist/plugins/implementations/mock.d.ts +7 -0
- package/dist/plugins/implementations/mock.js +15 -0
- package/dist/plugins/implementations/msw.d.ts +7 -0
- package/dist/plugins/implementations/msw.js +19 -0
- package/dist/plugins/implementations/nanostores.d.ts +7 -0
- package/dist/plugins/implementations/nanostores.js +18 -0
- package/dist/plugins/implementations/netlify.d.ts +7 -0
- package/dist/plugins/implementations/netlify.js +15 -0
- package/dist/plugins/implementations/observability.d.ts +7 -0
- package/dist/plugins/implementations/observability.js +15 -0
- package/dist/plugins/implementations/og-image.d.ts +7 -0
- package/dist/plugins/implementations/og-image.js +15 -0
- package/dist/plugins/implementations/pages.d.ts +7 -0
- package/dist/plugins/implementations/pages.js +15 -0
- package/dist/plugins/implementations/pinia.d.ts +8 -0
- package/dist/plugins/implementations/pinia.js +35 -0
- package/dist/plugins/implementations/plausible.d.ts +7 -0
- package/dist/plugins/implementations/plausible.js +18 -0
- package/dist/plugins/implementations/playwright.d.ts +7 -0
- package/dist/plugins/implementations/playwright.js +15 -0
- package/dist/plugins/implementations/postcss.d.ts +7 -0
- package/dist/plugins/implementations/postcss.js +25 -0
- package/dist/plugins/implementations/posthog.d.ts +7 -0
- package/dist/plugins/implementations/posthog.js +18 -0
- package/dist/plugins/implementations/prebundle.d.ts +7 -0
- package/dist/plugins/implementations/prebundle.js +21 -0
- package/dist/plugins/implementations/prefetch.d.ts +7 -0
- package/dist/plugins/implementations/prefetch.js +21 -0
- package/dist/plugins/implementations/preload.d.ts +7 -0
- package/dist/plugins/implementations/preload.js +21 -0
- package/dist/plugins/implementations/prisma.d.ts +7 -0
- package/dist/plugins/implementations/prisma.js +15 -0
- package/dist/plugins/implementations/pwa.d.ts +7 -0
- package/dist/plugins/implementations/pwa.js +15 -0
- package/dist/plugins/implementations/qr-code.d.ts +7 -0
- package/dist/plugins/implementations/qr-code.js +19 -0
- package/dist/plugins/implementations/razorpay.d.ts +7 -0
- package/dist/plugins/implementations/razorpay.js +19 -0
- package/dist/plugins/implementations/react-i18next.d.ts +7 -0
- package/dist/plugins/implementations/react-i18next.js +18 -0
- package/dist/plugins/implementations/react-query.d.ts +8 -0
- package/dist/plugins/implementations/react-query.js +35 -0
- package/dist/plugins/implementations/react.d.ts +8 -0
- package/dist/plugins/implementations/react.js +35 -0
- package/dist/plugins/implementations/recoil.d.ts +8 -0
- package/dist/plugins/implementations/recoil.js +35 -0
- package/dist/plugins/implementations/redux.d.ts +8 -0
- package/dist/plugins/implementations/redux.js +35 -0
- package/dist/plugins/implementations/relay.d.ts +7 -0
- package/dist/plugins/implementations/relay.js +15 -0
- package/dist/plugins/implementations/repro.d.ts +7 -0
- package/dist/plugins/implementations/repro.js +15 -0
- package/dist/plugins/implementations/robots.d.ts +7 -0
- package/dist/plugins/implementations/robots.js +15 -0
- package/dist/plugins/implementations/root-cause.d.ts +7 -0
- package/dist/plugins/implementations/root-cause.js +15 -0
- package/dist/plugins/implementations/rss.d.ts +7 -0
- package/dist/plugins/implementations/rss.js +15 -0
- package/dist/plugins/implementations/sass.d.ts +7 -0
- package/dist/plugins/implementations/sass.js +25 -0
- package/dist/plugins/implementations/sentry.d.ts +7 -0
- package/dist/plugins/implementations/sentry.js +15 -0
- package/dist/plugins/implementations/sitemap.d.ts +7 -0
- package/dist/plugins/implementations/sitemap.js +15 -0
- package/dist/plugins/implementations/solid.d.ts +8 -0
- package/dist/plugins/implementations/solid.js +35 -0
- package/dist/plugins/implementations/sprite.d.ts +7 -0
- package/dist/plugins/implementations/sprite.js +27 -0
- package/dist/plugins/implementations/ssr.d.ts +8 -0
- package/dist/plugins/implementations/ssr.js +35 -0
- package/dist/plugins/implementations/storybook.d.ts +7 -0
- package/dist/plugins/implementations/storybook.js +15 -0
- package/dist/plugins/implementations/stripe.d.ts +7 -0
- package/dist/plugins/implementations/stripe.js +19 -0
- package/dist/plugins/implementations/style.d.ts +7 -0
- package/dist/plugins/implementations/style.js +25 -0
- package/dist/plugins/implementations/svelte.d.ts +8 -0
- package/dist/plugins/implementations/svelte.js +35 -0
- package/dist/plugins/implementations/tailwind.d.ts +7 -0
- package/dist/plugins/implementations/tailwind.js +25 -0
- package/dist/plugins/implementations/tanstack-query.d.ts +7 -0
- package/dist/plugins/implementations/tanstack-query.js +18 -0
- package/dist/plugins/implementations/terser.d.ts +7 -0
- package/dist/plugins/implementations/terser.js +21 -0
- package/dist/plugins/implementations/testing-library-react.d.ts +7 -0
- package/dist/plugins/implementations/testing-library-react.js +19 -0
- package/dist/plugins/implementations/testing-library.d.ts +7 -0
- package/dist/plugins/implementations/testing-library.js +15 -0
- package/dist/plugins/implementations/tree-shake.d.ts +7 -0
- package/dist/plugins/implementations/tree-shake.js +21 -0
- package/dist/plugins/implementations/trpc.d.ts +7 -0
- package/dist/plugins/implementations/trpc.js +15 -0
- package/dist/plugins/implementations/ts.d.ts +7 -0
- package/dist/plugins/implementations/ts.js +15 -0
- package/dist/plugins/implementations/typescript.d.ts +7 -0
- package/dist/plugins/implementations/typescript.js +15 -0
- package/dist/plugins/implementations/unocss.d.ts +7 -0
- package/dist/plugins/implementations/unocss.js +25 -0
- package/dist/plugins/implementations/upi-payment.d.ts +7 -0
- package/dist/plugins/implementations/upi-payment.js +19 -0
- package/dist/plugins/implementations/url.d.ts +7 -0
- package/dist/plugins/implementations/url.js +27 -0
- package/dist/plugins/implementations/vercel.d.ts +7 -0
- package/dist/plugins/implementations/vercel.js +15 -0
- package/dist/plugins/implementations/visualizer.d.ts +7 -0
- package/dist/plugins/implementations/visualizer.js +15 -0
- package/dist/plugins/implementations/vite-svg-loader.d.ts +7 -0
- package/dist/plugins/implementations/vite-svg-loader.js +27 -0
- package/dist/plugins/implementations/vitest.d.ts +7 -0
- package/dist/plugins/implementations/vitest.js +15 -0
- package/dist/plugins/implementations/vue-i18n-next.d.ts +7 -0
- package/dist/plugins/implementations/vue-i18n-next.js +18 -0
- package/dist/plugins/implementations/vue-i18n.d.ts +7 -0
- package/dist/plugins/implementations/vue-i18n.js +15 -0
- package/dist/plugins/implementations/vue-layouts.d.ts +8 -0
- package/dist/plugins/implementations/vue-layouts.js +35 -0
- package/dist/plugins/implementations/vue.d.ts +8 -0
- package/dist/plugins/implementations/vue.js +35 -0
- package/dist/plugins/implementations/vuex.d.ts +8 -0
- package/dist/plugins/implementations/vuex.js +35 -0
- package/dist/plugins/implementations/wasm-sandbox.d.ts +7 -0
- package/dist/plugins/implementations/wasm-sandbox.js +30 -0
- package/dist/plugins/implementations/webp.d.ts +7 -0
- package/dist/plugins/implementations/webp.js +27 -0
- package/dist/plugins/implementations/windicss.d.ts +7 -0
- package/dist/plugins/implementations/windicss.js +25 -0
- package/dist/plugins/implementations/workbox.d.ts +7 -0
- package/dist/plugins/implementations/workbox.js +15 -0
- package/dist/plugins/implementations/xstate.d.ts +7 -0
- package/dist/plugins/implementations/xstate.js +18 -0
- package/dist/plugins/implementations/zod.d.ts +7 -0
- package/dist/plugins/implementations/zod.js +15 -0
- package/dist/plugins/implementations/zustand-devtools.d.ts +7 -0
- package/dist/plugins/implementations/zustand-devtools.js +18 -0
- package/dist/plugins/implementations/zustand.d.ts +8 -0
- package/dist/plugins/implementations/zustand.js +35 -0
- package/dist/plugins/index.d.ts +49 -0
- package/dist/plugins/index.js +117 -0
- package/dist/plugins/js-transform.d.ts +2 -0
- package/dist/plugins/js-transform.js +49 -0
- package/dist/plugins/json.d.ts +2 -0
- package/dist/plugins/json.js +34 -0
- package/dist/plugins/pluginWorker.mjs +95 -0
- package/dist/plugins/ported/adapter.d.ts +92 -0
- package/dist/plugins/ported/adapter.js +226 -0
- package/dist/plugins/registry.d.ts +51 -0
- package/dist/plugins/registry.js +151 -0
- package/dist/plugins/reporter.d.ts +5 -0
- package/dist/plugins/reporter.js +47 -0
- package/dist/plugins/samplePlugin.mjs +4 -0
- package/dist/plugins/sandbox.d.ts +12 -0
- package/dist/plugins/sandbox.js +126 -0
- package/dist/plugins/signer.d.ts +53 -0
- package/dist/plugins/signer.js +109 -0
- package/dist/plugins/static.d.ts +2 -0
- package/dist/plugins/static.js +47 -0
- package/dist/plugins/svelte.d.ts +7 -0
- package/dist/plugins/svelte.js +27 -0
- package/dist/plugins/testSandbox.d.ts +1 -0
- package/dist/plugins/testSandbox.js +14 -0
- package/dist/plugins/verify.d.ts +3 -0
- package/dist/plugins/verify.js +113 -0
- package/dist/plugins/vue.d.ts +7 -0
- package/dist/plugins/vue.js +86 -0
- package/dist/plugins/wasm-runtime.d.ts +15 -0
- package/dist/plugins/wasm-runtime.js +33 -0
- package/dist/plugins/wasm.d.ts +5 -0
- package/dist/plugins/wasm.js +44 -0
- package/dist/polyfills/corejs.d.ts +9 -0
- package/dist/polyfills/corejs.js +18 -0
- package/dist/presets/core.d.ts +111 -0
- package/dist/presets/core.js +239 -0
- package/dist/presets/frameworks.d.ts +34 -0
- package/dist/presets/frameworks.js +270 -0
- package/dist/presets/index.d.ts +8 -0
- package/dist/presets/index.js +3 -0
- package/dist/presets/infrastructure.d.ts +2 -0
- package/dist/presets/infrastructure.js +33 -0
- package/dist/presets/spa.d.ts +2 -0
- package/dist/presets/spa.js +15 -0
- package/dist/presets/ssg.d.ts +2 -0
- package/dist/presets/ssg.js +9 -0
- package/dist/presets/ssr.d.ts +2 -0
- package/dist/presets/ssr.js +13 -0
- package/dist/repro/dashboard.d.ts +83 -0
- package/dist/repro/dashboard.js +251 -0
- package/dist/repro/github.d.ts +26 -0
- package/dist/repro/github.js +73 -0
- package/dist/resolve/css-precedence.d.ts +16 -0
- package/dist/resolve/css-precedence.js +56 -0
- package/dist/resolve/graph.d.ts +48 -0
- package/dist/resolve/graph.js +232 -0
- package/dist/resolve/utils.d.ts +13 -0
- package/dist/resolve/utils.js +53 -0
- package/dist/runtime/client.d.ts +9 -0
- package/dist/runtime/client.js +218 -0
- package/dist/runtime/error-overlay.d.ts +15 -0
- package/dist/runtime/error-overlay.js +327 -0
- package/dist/runtime/federation-fallback.d.ts +67 -0
- package/dist/runtime/federation-fallback.js +225 -0
- package/dist/runtime/federation.d.ts +27 -0
- package/dist/runtime/federation.js +210 -0
- package/dist/runtime/federation_runtime.js +90 -0
- package/dist/runtime/hmr-client.d.ts +5 -0
- package/dist/runtime/hmr-client.js +70 -0
- package/dist/security/anomaly.d.ts +41 -0
- package/dist/security/anomaly.js +77 -0
- package/dist/server/security-headers.d.ts +37 -0
- package/dist/server/security-headers.js +110 -0
- package/dist/ssr/adapters/edge.d.ts +12 -0
- package/dist/ssr/adapters/edge.js +26 -0
- package/dist/ssr/adapters/index.d.ts +23 -0
- package/dist/ssr/adapters/index.js +58 -0
- package/dist/ssr/app-router.d.ts +24 -0
- package/dist/ssr/app-router.js +70 -0
- package/dist/ssr/edge/handlers.d.ts +24 -0
- package/dist/ssr/edge/handlers.js +48 -0
- package/dist/ssr/image.d.ts +24 -0
- package/dist/ssr/image.js +38 -0
- package/dist/ssr/isr.d.ts +14 -0
- package/dist/ssr/isr.js +29 -0
- package/dist/ssr/rsc.d.ts +19 -0
- package/dist/ssr/rsc.js +33 -0
- package/dist/ssr/streaming.d.ts +31 -0
- package/dist/ssr/streaming.js +78 -0
- package/dist/ssr/universal-engine.d.ts +36 -0
- package/dist/ssr/universal-engine.js +139 -0
- package/dist/templates/manager.d.ts +28 -0
- package/dist/templates/manager.js +162 -0
- package/dist/templates/starters/angular-spa.d.ts +6 -0
- package/dist/templates/starters/angular-spa.js +149 -0
- package/dist/templates/starters/edge.d.ts +6 -0
- package/dist/templates/starters/edge.js +93 -0
- package/dist/templates/starters/fintech.d.ts +6 -0
- package/dist/templates/starters/fintech.js +211 -0
- package/dist/templates/starters/monorepo.d.ts +6 -0
- package/dist/templates/starters/monorepo.js +133 -0
- package/dist/templates/starters/nextjs-app.d.ts +13 -0
- package/dist/templates/starters/nextjs-app.js +116 -0
- package/dist/templates/starters/preact-spa.d.ts +6 -0
- package/dist/templates/starters/preact-spa.js +97 -0
- package/dist/templates/starters/premium-dashboard.d.ts +6 -0
- package/dist/templates/starters/premium-dashboard.js +762 -0
- package/dist/templates/starters/react-spa.d.ts +6 -0
- package/dist/templates/starters/react-spa.js +152 -0
- package/dist/templates/starters/react-ssr.d.ts +6 -0
- package/dist/templates/starters/react-ssr.js +190 -0
- package/dist/templates/starters/remix-app.d.ts +12 -0
- package/dist/templates/starters/remix-app.js +108 -0
- package/dist/templates/starters/solid-spa.d.ts +6 -0
- package/dist/templates/starters/solid-spa.js +158 -0
- package/dist/templates/starters/svelte-spa.d.ts +6 -0
- package/dist/templates/starters/svelte-spa.js +147 -0
- package/dist/templates/starters/vue-spa.d.ts +6 -0
- package/dist/templates/starters/vue-spa.js +136 -0
- package/dist/test/api.d.ts +58 -0
- package/dist/test/api.js +154 -0
- package/dist/test/coverage.d.ts +1 -0
- package/dist/test/coverage.js +134 -0
- package/dist/test/determinism.d.ts +1 -0
- package/dist/test/determinism.js +122 -0
- package/dist/test/regression.d.ts +1 -0
- package/dist/test/regression.js +30 -0
- package/dist/test/runner.d.ts +1 -0
- package/dist/test/runner.js +159 -0
- package/dist/test-server.d.ts +1 -0
- package/dist/test-server.js +22 -0
- package/dist/ui/terminal-warnings.d.ts +10 -0
- package/dist/ui/terminal-warnings.js +26 -0
- package/dist/ui/types.d.ts +13 -0
- package/dist/ui/types.js +5 -0
- package/dist/ui/warning-detector.d.ts +46 -0
- package/dist/ui/warning-detector.js +178 -0
- package/dist/ui/warning-library.d.ts +51 -0
- package/dist/ui/warning-library.js +283 -0
- package/dist/utils/interactive.d.ts +2 -0
- package/dist/utils/interactive.js +37 -0
- package/dist/utils/logger.d.ts +26 -0
- package/dist/utils/logger.js +130 -0
- package/dist/utils/path-normalize.d.ts +24 -0
- package/dist/utils/path-normalize.js +37 -0
- package/dist/visual/chart-generator.d.ts +11 -0
- package/dist/visual/chart-generator.js +30 -0
- package/dist/visual/client/renderer.d.ts +31 -0
- package/dist/visual/client/renderer.js +98 -0
- package/dist/visual/federation-editor.d.ts +1 -0
- package/dist/visual/federation-editor.js +231 -0
- package/dist/visual/graph-engine.d.ts +38 -0
- package/dist/visual/graph-engine.js +64 -0
- package/dist/visual/graph-ui.d.ts +2 -0
- package/dist/visual/graph-ui.js +119 -0
- package/dist/visual/graph-visualizer.d.ts +69 -0
- package/dist/visual/graph-visualizer.js +282 -0
- package/dist/visual/root-cause.d.ts +83 -0
- package/dist/visual/root-cause.js +265 -0
- package/package.json +169 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createRequire } from 'module';
|
|
2
|
+
const require = createRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* Nuclie Compress Plugin (nuclie-compress)
|
|
5
|
+
* Mocks compression-webpack-plugin using a simple status message.
|
|
6
|
+
* In a real V1, this would actually gzip/brotli the assets in `dist`.
|
|
7
|
+
*/
|
|
8
|
+
export function nuclieCompress(options = {}) {
|
|
9
|
+
return {
|
|
10
|
+
name: 'nuclie-compress',
|
|
11
|
+
async buildEnd() {
|
|
12
|
+
// Nuclie v1 - Placeholder for Asset Compression
|
|
13
|
+
// Real implementation would iterate dist/ and gzip
|
|
14
|
+
// console.log('[nuclie-compress] Compression enabled (Placeholder)');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Nuclie CSS Extract Plugin (nuclie-css-extract)
|
|
20
|
+
* Mocks mini-css-extract-plugin.
|
|
21
|
+
* Nuclie extracts CSS by default, so this is mostly a no-op compatibility shim.
|
|
22
|
+
*/
|
|
23
|
+
export function nuclieCssExtract(options = {}) {
|
|
24
|
+
return {
|
|
25
|
+
name: 'nuclie-css-extract',
|
|
26
|
+
// No-op
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nuclie/rollup-compat - Plugin Compatibility Layer
|
|
3
|
+
*
|
|
4
|
+
* This module provides adapters to use Rollup/Vite plugins within Nuclie.
|
|
5
|
+
*/
|
|
6
|
+
export { rollupAdapter } from './rollup.js';
|
|
7
|
+
export { nuclieBabel, nuclieTerser, nuclieJson, nuclieYaml, nuclieMdx, nuclieSvgr, TierA } from './tier-a.js';
|
|
8
|
+
export { webpackLoaderAdapter } from './webpack.js';
|
|
9
|
+
export * from './tier-b.js';
|
|
10
|
+
export * from './tier-c.js';
|
|
11
|
+
export * from './deferred.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @nuclie/rollup-compat - Plugin Compatibility Layer
|
|
3
|
+
*
|
|
4
|
+
* This module provides adapters to use Rollup/Vite plugins within Nuclie.
|
|
5
|
+
*/
|
|
6
|
+
export { rollupAdapter } from './rollup.js';
|
|
7
|
+
export { nuclieBabel, nuclieTerser, nuclieJson, nuclieYaml, nuclieMdx, nuclieSvgr, TierA } from './tier-a.js';
|
|
8
|
+
export { webpackLoaderAdapter } from './webpack.js';
|
|
9
|
+
export * from './tier-b.js'; // nuclieCopy, nuclieHtml
|
|
10
|
+
export * from './tier-c.js'; // nuclieReact, nuclieVue, nuclieSvelte
|
|
11
|
+
export * from './deferred.js'; // nuclieCompress, nuclieCssExtract
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Plugin } from '../index.js';
|
|
2
|
+
interface RollupPlugin {
|
|
3
|
+
name: string;
|
|
4
|
+
resolveId?: (source: string, importer?: string, options?: any) => Promise<any> | any;
|
|
5
|
+
load?: (id: string) => Promise<any> | any;
|
|
6
|
+
transform?: (code: string, id: string) => Promise<any> | any;
|
|
7
|
+
renderChunk?: (code: string, chunk: any, options?: any) => Promise<any> | any;
|
|
8
|
+
buildStart?: (options?: any) => Promise<void> | void;
|
|
9
|
+
buildEnd?: (err?: any) => Promise<void> | void;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Adapter to use Rollup plugins within Nuclie
|
|
14
|
+
* @param plugin The Rollup plugin instance
|
|
15
|
+
* @returns A Nuclie-compatible plugin
|
|
16
|
+
*/
|
|
17
|
+
export declare function rollupAdapter(plugin: RollupPlugin): Plugin;
|
|
18
|
+
export declare const createRollupAdapter: typeof rollupAdapter;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter to use Rollup plugins within Nuclie
|
|
3
|
+
* @param plugin The Rollup plugin instance
|
|
4
|
+
* @returns A Nuclie-compatible plugin
|
|
5
|
+
*/
|
|
6
|
+
export function rollupAdapter(plugin) {
|
|
7
|
+
return {
|
|
8
|
+
name: plugin.name,
|
|
9
|
+
async resolveId(source, importer) {
|
|
10
|
+
if (!plugin.resolveId)
|
|
11
|
+
return undefined;
|
|
12
|
+
const ctx = {
|
|
13
|
+
meta: {},
|
|
14
|
+
resolve: async () => null
|
|
15
|
+
};
|
|
16
|
+
const res = await plugin.resolveId.call(ctx, source, importer);
|
|
17
|
+
if (!res)
|
|
18
|
+
return undefined;
|
|
19
|
+
if (typeof res === 'string')
|
|
20
|
+
return res;
|
|
21
|
+
if (typeof res === 'object' && res.id)
|
|
22
|
+
return res.id;
|
|
23
|
+
return undefined;
|
|
24
|
+
},
|
|
25
|
+
async load(id) {
|
|
26
|
+
if (!plugin.load)
|
|
27
|
+
return undefined;
|
|
28
|
+
const ctx = { meta: {} };
|
|
29
|
+
const res = await plugin.load.call(ctx, id);
|
|
30
|
+
if (!res)
|
|
31
|
+
return undefined;
|
|
32
|
+
if (typeof res === 'string')
|
|
33
|
+
return res;
|
|
34
|
+
if (typeof res === 'object' && res.code)
|
|
35
|
+
return res.code;
|
|
36
|
+
return undefined;
|
|
37
|
+
},
|
|
38
|
+
async transform(code, id) {
|
|
39
|
+
if (!plugin.transform)
|
|
40
|
+
return undefined;
|
|
41
|
+
const ctx = { meta: {} };
|
|
42
|
+
const res = await plugin.transform.call(ctx, code, id);
|
|
43
|
+
if (!res)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (typeof res === 'string')
|
|
46
|
+
return res;
|
|
47
|
+
if (typeof res === 'object' && res.code)
|
|
48
|
+
return { code: res.code, map: res.map };
|
|
49
|
+
return undefined;
|
|
50
|
+
},
|
|
51
|
+
async renderChunk(code, chunk) {
|
|
52
|
+
if (!plugin.renderChunk)
|
|
53
|
+
return undefined;
|
|
54
|
+
const ctx = { meta: {} };
|
|
55
|
+
const res = await plugin.renderChunk.call(ctx, code, chunk);
|
|
56
|
+
if (!res)
|
|
57
|
+
return undefined;
|
|
58
|
+
if (typeof res === 'string')
|
|
59
|
+
return res;
|
|
60
|
+
if (typeof res === 'object' && res.code)
|
|
61
|
+
return { code: res.code, map: res.map };
|
|
62
|
+
return undefined;
|
|
63
|
+
},
|
|
64
|
+
async buildStart() {
|
|
65
|
+
if (plugin.buildStart) {
|
|
66
|
+
await plugin.buildStart();
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
async buildEnd() {
|
|
70
|
+
if (plugin.buildEnd) {
|
|
71
|
+
await plugin.buildEnd();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export const createRollupAdapter = rollupAdapter;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier-A Plugin Wrappers for Nuclie
|
|
3
|
+
*
|
|
4
|
+
* These are pre-configured wrappers for popular Rollup plugins.
|
|
5
|
+
* Users can import these directly or use the rollupAdapter for custom plugins.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { nuclieBabel, nuclieTerser } from 'nuclie/plugins/compat/tier-a';
|
|
10
|
+
*
|
|
11
|
+
* export default {
|
|
12
|
+
* plugins: [
|
|
13
|
+
* nuclieBabel({ presets: ['@babel/preset-react'] }),
|
|
14
|
+
* nuclieTerser()
|
|
15
|
+
* ]
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { Plugin } from '../index.js';
|
|
20
|
+
/**
|
|
21
|
+
* Babel plugin wrapper
|
|
22
|
+
* Requires: npm install @rollup/plugin-babel @babel/core
|
|
23
|
+
*/
|
|
24
|
+
export declare function nuclieBabel(options?: any): Plugin;
|
|
25
|
+
/**
|
|
26
|
+
* Terser (minification) plugin wrapper
|
|
27
|
+
* Requires: npm install @rollup/plugin-terser
|
|
28
|
+
*/
|
|
29
|
+
export declare function nuclieTerser(options?: any): Plugin;
|
|
30
|
+
/**
|
|
31
|
+
* JSON plugin wrapper
|
|
32
|
+
* Requires: npm install @rollup/plugin-json
|
|
33
|
+
*/
|
|
34
|
+
export declare function nuclieJson(options?: any): Plugin;
|
|
35
|
+
/**
|
|
36
|
+
* YAML plugin wrapper
|
|
37
|
+
* Requires: npm install @rollup/plugin-yaml
|
|
38
|
+
*/
|
|
39
|
+
export declare function nuclieYaml(options?: any): Plugin;
|
|
40
|
+
/**
|
|
41
|
+
* MDX plugin wrapper
|
|
42
|
+
* Requires: npm install @mdx-js/rollup
|
|
43
|
+
*/
|
|
44
|
+
export declare function nuclieMdx(options?: any): Plugin;
|
|
45
|
+
/**
|
|
46
|
+
* SVGR plugin wrapper (SVG to React components)
|
|
47
|
+
* Requires: npm install rollup-plugin-svgr
|
|
48
|
+
*/
|
|
49
|
+
export declare function nuclieSvgr(options?: any): Plugin;
|
|
50
|
+
/**
|
|
51
|
+
* Export all Tier-A plugins
|
|
52
|
+
*/
|
|
53
|
+
export declare const TierA: {
|
|
54
|
+
babel: typeof nuclieBabel;
|
|
55
|
+
terser: typeof nuclieTerser;
|
|
56
|
+
json: typeof nuclieJson;
|
|
57
|
+
yaml: typeof nuclieYaml;
|
|
58
|
+
mdx: typeof nuclieMdx;
|
|
59
|
+
svgr: typeof nuclieSvgr;
|
|
60
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier-A Plugin Wrappers for Nuclie
|
|
3
|
+
*
|
|
4
|
+
* These are pre-configured wrappers for popular Rollup plugins.
|
|
5
|
+
* Users can import these directly or use the rollupAdapter for custom plugins.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { nuclieBabel, nuclieTerser } from 'nuclie/plugins/compat/tier-a';
|
|
10
|
+
*
|
|
11
|
+
* export default {
|
|
12
|
+
* plugins: [
|
|
13
|
+
* nuclieBabel({ presets: ['@babel/preset-react'] }),
|
|
14
|
+
* nuclieTerser()
|
|
15
|
+
* ]
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { rollupAdapter } from './rollup.js';
|
|
20
|
+
function createStub(name) {
|
|
21
|
+
return {
|
|
22
|
+
name,
|
|
23
|
+
async transform(code) {
|
|
24
|
+
return code;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Babel plugin wrapper
|
|
30
|
+
* Requires: npm install @rollup/plugin-babel @babel/core
|
|
31
|
+
*/
|
|
32
|
+
export function nuclieBabel(options = {}) {
|
|
33
|
+
try {
|
|
34
|
+
// Dynamic import to avoid hard dependency
|
|
35
|
+
const babel = require('@rollup/plugin-babel');
|
|
36
|
+
return rollupAdapter(babel.default ? babel.default(options) : babel(options));
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.warn('[@nuclie/babel] @rollup/plugin-babel not found. Install with: npm install @rollup/plugin-babel @babel/core');
|
|
40
|
+
return createStub('nuclie-babel-stub');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Terser (minification) plugin wrapper
|
|
45
|
+
* Requires: npm install @rollup/plugin-terser
|
|
46
|
+
*/
|
|
47
|
+
export function nuclieTerser(options = {}) {
|
|
48
|
+
try {
|
|
49
|
+
const terser = require('@rollup/plugin-terser');
|
|
50
|
+
return rollupAdapter(terser.default ? terser.default(options) : terser(options));
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.warn('[@nuclie/terser] @rollup/plugin-terser not found. Install with: npm install @rollup/plugin-terser');
|
|
54
|
+
return createStub('nuclie-terser-stub');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* JSON plugin wrapper
|
|
59
|
+
* Requires: npm install @rollup/plugin-json
|
|
60
|
+
*/
|
|
61
|
+
export function nuclieJson(options = {}) {
|
|
62
|
+
try {
|
|
63
|
+
const json = require('@rollup/plugin-json');
|
|
64
|
+
return rollupAdapter(json.default ? json.default(options) : json(options));
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
console.warn('[@nuclie/json] @rollup/plugin-json not found. Install with: npm install @rollup/plugin-json');
|
|
68
|
+
// Provide basic fallback
|
|
69
|
+
return {
|
|
70
|
+
name: 'nuclie-json-fallback',
|
|
71
|
+
async transform(code, id) {
|
|
72
|
+
if (id.endsWith('.json')) {
|
|
73
|
+
return `export default ${code}`;
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* YAML plugin wrapper
|
|
82
|
+
* Requires: npm install @rollup/plugin-yaml
|
|
83
|
+
*/
|
|
84
|
+
export function nuclieYaml(options = {}) {
|
|
85
|
+
try {
|
|
86
|
+
const yaml = require('@rollup/plugin-yaml');
|
|
87
|
+
return rollupAdapter(yaml.default ? yaml.default(options) : yaml(options));
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.warn('[@nuclie/yaml] @rollup/plugin-yaml not found. Install with: npm install @rollup/plugin-yaml');
|
|
91
|
+
return createStub('nuclie-yaml-stub');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* MDX plugin wrapper
|
|
96
|
+
* Requires: npm install @mdx-js/rollup
|
|
97
|
+
*/
|
|
98
|
+
export function nuclieMdx(options = {}) {
|
|
99
|
+
try {
|
|
100
|
+
const mdx = require('@mdx-js/rollup');
|
|
101
|
+
return rollupAdapter(mdx.default ? mdx.default(options) : mdx(options));
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
console.warn('[@nuclie/mdx] @mdx-js/rollup not found. Install with: npm install @mdx-js/rollup');
|
|
105
|
+
return createStub('nuclie-mdx-stub');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* SVGR plugin wrapper (SVG to React components)
|
|
110
|
+
* Requires: npm install rollup-plugin-svgr
|
|
111
|
+
*/
|
|
112
|
+
export function nuclieSvgr(options = {}) {
|
|
113
|
+
try {
|
|
114
|
+
const svgr = require('rollup-plugin-svgr');
|
|
115
|
+
return rollupAdapter(svgr.default ? svgr.default(options) : svgr(options));
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
console.warn('[@nuclie/svgr] rollup-plugin-svgr not found. Install with: npm install rollup-plugin-svgr');
|
|
119
|
+
return createStub('nuclie-svgr-stub');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Export all Tier-A plugins
|
|
124
|
+
*/
|
|
125
|
+
export const TierA = {
|
|
126
|
+
babel: nuclieBabel,
|
|
127
|
+
terser: nuclieTerser,
|
|
128
|
+
json: nuclieJson,
|
|
129
|
+
yaml: nuclieYaml,
|
|
130
|
+
mdx: nuclieMdx,
|
|
131
|
+
svgr: nuclieSvgr
|
|
132
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Plugin } from '../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* NUCLIE TIER B PLUGINS (IO / ASSETS)
|
|
4
|
+
*
|
|
5
|
+
* Includes:
|
|
6
|
+
* - nuclieCopy (copy-webpack-plugin)
|
|
7
|
+
* - nuclieHtml (html-webpack-plugin)
|
|
8
|
+
*/
|
|
9
|
+
export interface CopyTarget {
|
|
10
|
+
src: string;
|
|
11
|
+
dest: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CopyOptions {
|
|
14
|
+
targets: CopyTarget[];
|
|
15
|
+
verbose?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Copy Plugin (nuclie-copy)
|
|
19
|
+
* Copies files or directories from src to dest at build end.
|
|
20
|
+
*/
|
|
21
|
+
export declare function nuclieCopy(options: CopyOptions): Plugin;
|
|
22
|
+
export interface HtmlOptions {
|
|
23
|
+
title?: string;
|
|
24
|
+
filename?: string;
|
|
25
|
+
template?: string;
|
|
26
|
+
inject?: boolean;
|
|
27
|
+
templateParameters?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* HTML Plugin (nuclie-html)
|
|
31
|
+
* Generates an index.html file in the output directory.
|
|
32
|
+
* Advanced: Supports variable interpolation (e.g., %PUBLIC_URL%, %TITLE%)
|
|
33
|
+
*/
|
|
34
|
+
export declare function nuclieHtml(options?: HtmlOptions): Plugin;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Copy Plugin (nuclie-copy)
|
|
5
|
+
* Copies files or directories from src to dest at build end.
|
|
6
|
+
*/
|
|
7
|
+
export function nuclieCopy(options) {
|
|
8
|
+
return {
|
|
9
|
+
name: 'nuclie-copy',
|
|
10
|
+
async buildEnd() {
|
|
11
|
+
if (!options.targets || options.targets.length === 0)
|
|
12
|
+
return;
|
|
13
|
+
for (const target of options.targets) {
|
|
14
|
+
try {
|
|
15
|
+
// Resolve paths (naive resolution relative to CWD if not absolute)
|
|
16
|
+
const srcPath = path.isAbsolute(target.src) ? target.src : path.resolve(process.cwd(), target.src);
|
|
17
|
+
const destPath = path.isAbsolute(target.dest) ? target.dest : path.resolve(process.cwd(), 'dist', target.dest);
|
|
18
|
+
await fs.cp(srcPath, destPath, { recursive: true, force: true });
|
|
19
|
+
if (options.verbose) {
|
|
20
|
+
console.log(`[nuclie-copy] Copied ${target.src} -> ${target.dest}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
console.warn(`[nuclie-copy] Failed to copy ${target.src}: ${e.message}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* HTML Plugin (nuclie-html)
|
|
32
|
+
* Generates an index.html file in the output directory.
|
|
33
|
+
* Advanced: Supports variable interpolation (e.g., %PUBLIC_URL%, %TITLE%)
|
|
34
|
+
*/
|
|
35
|
+
export function nuclieHtml(options = {}) {
|
|
36
|
+
return {
|
|
37
|
+
name: 'nuclie-html',
|
|
38
|
+
stability: 'stable',
|
|
39
|
+
async buildEnd() {
|
|
40
|
+
const filename = options.filename || 'index.html';
|
|
41
|
+
const title = options.title || 'Nuclie App';
|
|
42
|
+
const destPath = path.resolve(process.cwd(), 'dist', filename);
|
|
43
|
+
let content = '';
|
|
44
|
+
if (options.template) {
|
|
45
|
+
try {
|
|
46
|
+
const templatePath = path.resolve(process.cwd(), options.template);
|
|
47
|
+
content = await fs.readFile(templatePath, 'utf-8');
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
console.warn(`[nuclie-html] Template not found: ${options.template}`);
|
|
51
|
+
content = getDefaultHtml(title);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
content = getDefaultHtml(title);
|
|
56
|
+
}
|
|
57
|
+
// Advanced: Template Interpolation
|
|
58
|
+
const data = {
|
|
59
|
+
PUBLIC_URL: '.',
|
|
60
|
+
TITLE: title,
|
|
61
|
+
...options.templateParameters
|
|
62
|
+
};
|
|
63
|
+
// Replace %VAR% patterns
|
|
64
|
+
Object.entries(data).forEach(([key, value]) => {
|
|
65
|
+
content = content.replace(new RegExp(`%${key}%`, 'g'), value);
|
|
66
|
+
});
|
|
67
|
+
try {
|
|
68
|
+
await fs.mkdir(path.dirname(destPath), { recursive: true });
|
|
69
|
+
await fs.writeFile(destPath, content);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
console.error(`[nuclie-html] Failed to generate HTML: ${e.message}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function getDefaultHtml(title) {
|
|
78
|
+
return `<!DOCTYPE html>
|
|
79
|
+
<html lang="en">
|
|
80
|
+
<head>
|
|
81
|
+
<meta charset="UTF-8">
|
|
82
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
83
|
+
<title>${title}</title>
|
|
84
|
+
</head>
|
|
85
|
+
<body>
|
|
86
|
+
<div id="root"></div>
|
|
87
|
+
<script type="module" src="/index.js"></script>
|
|
88
|
+
</body>
|
|
89
|
+
</html>`;
|
|
90
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Plugin } from '../index.js';
|
|
2
|
+
/**
|
|
3
|
+
* NUCLIE TIER C PLUGINS (Graph-Aware / HMR)
|
|
4
|
+
*
|
|
5
|
+
* Since Nuclie v1.0 handles HMR natively via UniversalTransformer for React, Vue, and Svelte,
|
|
6
|
+
* these plugins act as compatibility wrappers or configuration providers.
|
|
7
|
+
*
|
|
8
|
+
* They ensure that if a user migrates from Vite, they can map existing plugins to these
|
|
9
|
+
* without breaking the build, while Nuclie's core engine handles the heavy lifting.
|
|
10
|
+
*/
|
|
11
|
+
interface ReactOptions {
|
|
12
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
13
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
14
|
+
fastRefresh?: boolean;
|
|
15
|
+
babel?: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Nuclie React Plugin
|
|
19
|
+
* Compatible with @vitejs/plugin-react
|
|
20
|
+
*/
|
|
21
|
+
export declare function nuclieReact(options?: ReactOptions): Plugin;
|
|
22
|
+
interface VueOptions {
|
|
23
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
24
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
25
|
+
isProduction?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Nuclie Vue Plugin
|
|
29
|
+
* Compatible with @vitejs/plugin-vue
|
|
30
|
+
*/
|
|
31
|
+
export declare function nuclieVue(options?: VueOptions): Plugin;
|
|
32
|
+
interface SvelteOptions {
|
|
33
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
34
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
35
|
+
preprocess?: any;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Nuclie Svelte Plugin
|
|
39
|
+
* Compatible with @sveltejs/vite-plugin-svelte
|
|
40
|
+
*/
|
|
41
|
+
export declare function nuclieSvelte(options?: SvelteOptions): Plugin;
|
|
42
|
+
/**
|
|
43
|
+
* Compatibility aliases
|
|
44
|
+
*/
|
|
45
|
+
export declare const nuclieReactRefresh: typeof nuclieReact;
|
|
46
|
+
export declare const nuclieVueHmr: typeof nuclieVue;
|
|
47
|
+
export declare const nuclieSvelteHmr: typeof nuclieSvelte;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nuclie React Plugin
|
|
3
|
+
* Compatible with @vitejs/plugin-react
|
|
4
|
+
*/
|
|
5
|
+
export function nuclieReact(options = {}) {
|
|
6
|
+
return {
|
|
7
|
+
name: 'nuclie-react',
|
|
8
|
+
setup(api) {
|
|
9
|
+
// In the future, we can push options to the UniversalTransformer via API
|
|
10
|
+
// For now, we log that React support is active.
|
|
11
|
+
},
|
|
12
|
+
buildStart() {
|
|
13
|
+
// Validate environment
|
|
14
|
+
if (process.env.NODE_ENV === 'development' && options.fastRefresh !== false) {
|
|
15
|
+
// UniversalTransformer handles this automatically
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Nuclie Vue Plugin
|
|
22
|
+
* Compatible with @vitejs/plugin-vue
|
|
23
|
+
*/
|
|
24
|
+
export function nuclieVue(options = {}) {
|
|
25
|
+
return {
|
|
26
|
+
name: 'nuclie-vue',
|
|
27
|
+
setup() {
|
|
28
|
+
// Vue support is built-in
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Nuclie Svelte Plugin
|
|
34
|
+
* Compatible with @sveltejs/vite-plugin-svelte
|
|
35
|
+
*/
|
|
36
|
+
export function nuclieSvelte(options = {}) {
|
|
37
|
+
return {
|
|
38
|
+
name: 'nuclie-svelte',
|
|
39
|
+
setup() {
|
|
40
|
+
// Svelte support is built-in
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Compatibility aliases
|
|
46
|
+
*/
|
|
47
|
+
export const nuclieReactRefresh = nuclieReact;
|
|
48
|
+
export const nuclieVueHmr = nuclieVue;
|
|
49
|
+
export const nuclieSvelteHmr = nuclieSvelte;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Plugin } from '../index.js';
|
|
2
|
+
export interface WebpackLoaderContext {
|
|
3
|
+
resourcePath: string;
|
|
4
|
+
rootContext: string;
|
|
5
|
+
context: string;
|
|
6
|
+
async: () => (err: Error | null, content?: string | Buffer, map?: any, meta?: any) => void;
|
|
7
|
+
callback: (err: Error | null, content?: string | Buffer, map?: any, meta?: any) => void;
|
|
8
|
+
cacheable: (flag?: boolean) => void;
|
|
9
|
+
emitFile: (name: string, content: string | Buffer, sourceMap?: any) => void;
|
|
10
|
+
addDependency: (file: string) => void;
|
|
11
|
+
fs: any;
|
|
12
|
+
query: any;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export type WebpackLoader = (this: WebpackLoaderContext, content: string | Buffer, map?: any, meta?: any) => void | undefined | string | Buffer | Promise<string | Buffer | void | undefined>;
|
|
16
|
+
export interface WebpackAdapterOptions {
|
|
17
|
+
name?: string;
|
|
18
|
+
test: RegExp;
|
|
19
|
+
loader: WebpackLoader;
|
|
20
|
+
options?: any;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Adapter to use Webpack Loaders within Nuclie
|
|
24
|
+
* Maps Webpack's loader API to Nuclie's transform hook.
|
|
25
|
+
*/
|
|
26
|
+
export declare function webpackLoaderAdapter(opts: WebpackAdapterOptions): Plugin;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import fs from 'fs/promises';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter to use Webpack Loaders within Nuclie
|
|
5
|
+
* Maps Webpack's loader API to Nuclie's transform hook.
|
|
6
|
+
*/
|
|
7
|
+
export function webpackLoaderAdapter(opts) {
|
|
8
|
+
const name = opts.name || 'webpack-loader-compat';
|
|
9
|
+
return {
|
|
10
|
+
name: name,
|
|
11
|
+
async transform(code, id) {
|
|
12
|
+
// Only apply if ID matches test
|
|
13
|
+
if (!opts.test.test(id))
|
|
14
|
+
return undefined;
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
let isAsync = false;
|
|
17
|
+
let isDone = false;
|
|
18
|
+
const context = {
|
|
19
|
+
resourcePath: id,
|
|
20
|
+
rootContext: process.cwd(),
|
|
21
|
+
context: path.dirname(id),
|
|
22
|
+
query: opts.options || {},
|
|
23
|
+
fs: fs,
|
|
24
|
+
// Cacheable is a no-op in Nuclie (we handle caching at graph level)
|
|
25
|
+
cacheable: () => { },
|
|
26
|
+
// Dependency tracking
|
|
27
|
+
addDependency: (file) => {
|
|
28
|
+
// TODO: Hook into Nuclie's graph dependency tracking
|
|
29
|
+
// context.meta.watchFiles.add(file);
|
|
30
|
+
},
|
|
31
|
+
emitFile: (name, content) => {
|
|
32
|
+
// TODO: Hook into Nuclie's asset emission
|
|
33
|
+
},
|
|
34
|
+
async: () => {
|
|
35
|
+
isAsync = true;
|
|
36
|
+
return (err, result, map) => {
|
|
37
|
+
if (isDone)
|
|
38
|
+
return;
|
|
39
|
+
isDone = true;
|
|
40
|
+
if (err)
|
|
41
|
+
reject(err);
|
|
42
|
+
else
|
|
43
|
+
resolve(result ? (typeof result === 'string' ? result : result.toString()) : undefined);
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
callback: (err, result, map) => {
|
|
47
|
+
if (isDone)
|
|
48
|
+
return;
|
|
49
|
+
isDone = true;
|
|
50
|
+
if (err)
|
|
51
|
+
reject(err);
|
|
52
|
+
else
|
|
53
|
+
resolve(result ? (typeof result === 'string' ? result : result.toString()) : undefined);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
// Execute Loader
|
|
57
|
+
try {
|
|
58
|
+
const result = opts.loader.call(context, code, undefined);
|
|
59
|
+
if (!isAsync && !isDone) {
|
|
60
|
+
isDone = true;
|
|
61
|
+
if (result !== undefined) {
|
|
62
|
+
resolve(typeof result === 'string' ? result : result ? result.toString() : code);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// If loader validates but returns undefined (and didn't call async),
|
|
66
|
+
// it means no change or side-effect. We return undefined to let other plugins handle it or keep as is.
|
|
67
|
+
resolve(code);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
reject(e);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NucliePlugin } from '../../core/plugins/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Internal Linker Plugin
|
|
4
|
+
*
|
|
5
|
+
* Rewrites import/require specifiers using the DependencyGraph's specifierMap.
|
|
6
|
+
* This runs after all other transformations to ensure final code uses Nuclie module IDs.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createLinkerPlugin(): NucliePlugin;
|