every-plugin 2.10.1 → 3.0.0-rc.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/bin/every-plugin-serve.mjs +12 -0
- package/bin/every-plugin.mjs +59 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/build/artifact-names.cjs +119 -0
- package/dist/build/artifact-names.cjs.map +1 -0
- package/dist/build/artifact-names.d.cts +68 -0
- package/dist/build/artifact-names.d.cts.map +1 -0
- package/dist/build/artifact-names.d.mts +68 -0
- package/dist/build/artifact-names.d.mts.map +1 -0
- package/dist/build/artifact-names.mjs +102 -0
- package/dist/build/artifact-names.mjs.map +1 -0
- package/dist/build/contract-types.cjs +89 -0
- package/dist/build/contract-types.cjs.map +1 -0
- package/dist/build/contract-types.mjs +81 -0
- package/dist/build/contract-types.mjs.map +1 -0
- package/dist/build/rspack/build-report-plugin.cjs +37 -0
- package/dist/build/rspack/build-report-plugin.cjs.map +1 -0
- package/dist/build/rspack/build-report-plugin.d.cts +18 -0
- package/dist/build/rspack/build-report-plugin.d.cts.map +1 -0
- package/dist/build/rspack/build-report-plugin.d.mts +18 -0
- package/dist/build/rspack/build-report-plugin.d.mts.map +1 -0
- package/dist/build/rspack/build-report-plugin.mjs +37 -0
- package/dist/build/rspack/build-report-plugin.mjs.map +1 -0
- package/dist/build/rspack/chunk-completeness-plugin.cjs +47 -0
- package/dist/build/rspack/chunk-completeness-plugin.cjs.map +1 -0
- package/dist/build/rspack/chunk-completeness-plugin.mjs +47 -0
- package/dist/build/rspack/chunk-completeness-plugin.mjs.map +1 -0
- package/dist/build/rspack/compose.cjs +69 -0
- package/dist/build/rspack/compose.cjs.map +1 -0
- package/dist/build/rspack/compose.d.cts +20 -0
- package/dist/build/rspack/compose.d.cts.map +1 -0
- package/dist/build/rspack/compose.d.mts +20 -0
- package/dist/build/rspack/compose.d.mts.map +1 -0
- package/dist/build/rspack/compose.mjs +65 -0
- package/dist/build/rspack/compose.mjs.map +1 -0
- package/dist/build/rspack/fix-mf-data-uri-plugin.cjs +11 -11
- package/dist/build/rspack/fix-mf-data-uri-plugin.cjs.map +1 -1
- package/dist/build/rspack/fix-mf-data-uri-plugin.d.cts +2 -0
- package/dist/build/rspack/fix-mf-data-uri-plugin.d.cts.map +1 -1
- package/dist/build/rspack/fix-mf-data-uri-plugin.d.mts +2 -0
- package/dist/build/rspack/fix-mf-data-uri-plugin.d.mts.map +1 -1
- package/dist/build/rspack/fix-mf-data-uri-plugin.mjs +11 -10
- package/dist/build/rspack/fix-mf-data-uri-plugin.mjs.map +1 -1
- package/dist/build/rspack/generated-config.cjs +35 -0
- package/dist/build/rspack/generated-config.cjs.map +1 -0
- package/dist/build/rspack/generated-config.mjs +32 -0
- package/dist/build/rspack/generated-config.mjs.map +1 -0
- package/dist/build/rspack/index.cjs +8 -5
- package/dist/build/rspack/index.d.cts +5 -3
- package/dist/build/rspack/index.d.mts +5 -3
- package/dist/build/rspack/index.mjs +5 -3
- package/dist/build/rspack/module-federation.cjs +2 -2
- package/dist/build/rspack/module-federation.cjs.map +1 -1
- package/dist/build/rspack/module-federation.mjs +1 -1
- package/dist/build/rspack/module-federation.mjs.map +1 -1
- package/dist/build/rspack/plugin.cjs +44 -69
- package/dist/build/rspack/plugin.cjs.map +1 -1
- package/dist/build/rspack/plugin.d.cts +4 -13
- package/dist/build/rspack/plugin.d.cts.map +1 -1
- package/dist/build/rspack/plugin.d.mts +4 -13
- package/dist/build/rspack/plugin.d.mts.map +1 -1
- package/dist/build/rspack/plugin.mjs +44 -69
- package/dist/build/rspack/plugin.mjs.map +1 -1
- package/dist/build/rspack/utils.cjs +7 -5
- package/dist/build/rspack/utils.cjs.map +1 -1
- package/dist/build/rspack/utils.mjs +7 -6
- package/dist/build/rspack/utils.mjs.map +1 -1
- package/dist/build/ui/factory.cjs +88 -0
- package/dist/build/ui/factory.cjs.map +1 -0
- package/dist/build/ui/factory.d.cts +11 -0
- package/dist/build/ui/factory.d.cts.map +1 -0
- package/dist/build/ui/factory.d.mts +11 -0
- package/dist/build/ui/factory.d.mts.map +1 -0
- package/dist/build/ui/factory.mjs +80 -0
- package/dist/build/ui/factory.mjs.map +1 -0
- package/dist/build/ui/generated-config.cjs +118 -0
- package/dist/build/ui/generated-config.cjs.map +1 -0
- package/dist/build/ui/generated-config.d.cts +33 -0
- package/dist/build/ui/generated-config.d.cts.map +1 -0
- package/dist/build/ui/generated-config.d.mts +33 -0
- package/dist/build/ui/generated-config.d.mts.map +1 -0
- package/dist/build/ui/generated-config.mjs +111 -0
- package/dist/build/ui/generated-config.mjs.map +1 -0
- package/dist/build/ui/hash-artifacts-plugin.cjs +61 -0
- package/dist/build/ui/hash-artifacts-plugin.cjs.map +1 -0
- package/dist/build/ui/hash-artifacts-plugin.d.cts +20 -0
- package/dist/build/ui/hash-artifacts-plugin.d.cts.map +1 -0
- package/dist/build/ui/hash-artifacts-plugin.d.mts +20 -0
- package/dist/build/ui/hash-artifacts-plugin.d.mts.map +1 -0
- package/dist/build/ui/hash-artifacts-plugin.mjs +58 -0
- package/dist/build/ui/hash-artifacts-plugin.mjs.map +1 -0
- package/dist/build/ui/index.cjs +90 -0
- package/dist/build/ui/index.cjs.map +1 -0
- package/dist/build/ui/index.d.cts +29 -0
- package/dist/build/ui/index.d.cts.map +1 -0
- package/dist/build/ui/index.d.mts +29 -0
- package/dist/build/ui/index.d.mts.map +1 -0
- package/dist/build/ui/index.mjs +68 -0
- package/dist/build/ui/index.mjs.map +1 -0
- package/dist/build/ui/manifest-plugin.cjs +37 -0
- package/dist/build/ui/manifest-plugin.cjs.map +1 -0
- package/dist/build/ui/manifest-plugin.d.cts +19 -0
- package/dist/build/ui/manifest-plugin.d.cts.map +1 -0
- package/dist/build/ui/manifest-plugin.d.mts +19 -0
- package/dist/build/ui/manifest-plugin.d.mts.map +1 -0
- package/dist/build/ui/manifest-plugin.mjs +37 -0
- package/dist/build/ui/manifest-plugin.mjs.map +1 -0
- package/dist/build/ui/rsbuild-config.cjs +203 -0
- package/dist/build/ui/rsbuild-config.cjs.map +1 -0
- package/dist/build/ui/rsbuild-config.d.cts +45 -0
- package/dist/build/ui/rsbuild-config.d.cts.map +1 -0
- package/dist/build/ui/rsbuild-config.d.mts +45 -0
- package/dist/build/ui/rsbuild-config.d.mts.map +1 -0
- package/dist/build/ui/rsbuild-config.mjs +200 -0
- package/dist/build/ui/rsbuild-config.mjs.map +1 -0
- package/dist/build/ui/stubs.cjs +107 -0
- package/dist/build/ui/stubs.cjs.map +1 -0
- package/dist/build/ui/stubs.d.cts +25 -0
- package/dist/build/ui/stubs.d.cts.map +1 -0
- package/dist/build/ui/stubs.d.mts +25 -0
- package/dist/build/ui/stubs.d.mts.map +1 -0
- package/dist/build/ui/stubs.mjs +106 -0
- package/dist/build/ui/stubs.mjs.map +1 -0
- package/dist/cli.cjs +83 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.d.cts +6 -0
- package/dist/cli.d.cts.map +1 -0
- package/dist/cli.d.mts +6 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +82 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/dev/serve.cjs +390 -0
- package/dist/dev/serve.cjs.map +1 -0
- package/dist/dev/serve.d.cts +23 -0
- package/dist/dev/serve.d.cts.map +1 -0
- package/dist/dev/serve.d.mts +23 -0
- package/dist/dev/serve.d.mts.map +1 -0
- package/dist/dev/serve.mjs +384 -0
- package/dist/dev/serve.mjs.map +1 -0
- package/dist/dev/watch-kill.cjs +39 -0
- package/dist/dev/watch-kill.cjs.map +1 -0
- package/dist/dev/watch-kill.mjs +38 -0
- package/dist/dev/watch-kill.mjs.map +1 -0
- package/dist/effect-helpers.cjs +23 -0
- package/dist/effect-helpers.cjs.map +1 -0
- package/dist/effect-helpers.d.cts +20 -0
- package/dist/effect-helpers.d.cts.map +1 -0
- package/dist/effect-helpers.d.mts +20 -0
- package/dist/effect-helpers.d.mts.map +1 -0
- package/dist/effect-helpers.mjs +22 -0
- package/dist/effect-helpers.mjs.map +1 -0
- package/dist/errors.cjs +49 -69
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +13 -96
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.mts +13 -96
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +16 -34
- package/dist/errors.mjs.map +1 -1
- package/dist/identity.cjs +19 -0
- package/dist/identity.cjs.map +1 -0
- package/dist/identity.d.cts +33 -0
- package/dist/identity.d.cts.map +1 -0
- package/dist/identity.d.mts +33 -0
- package/dist/identity.d.mts.map +1 -0
- package/dist/identity.mjs +16 -0
- package/dist/identity.mjs.map +1 -0
- package/dist/index.cjs +8 -5
- package/dist/index.d.cts +8 -6
- package/dist/index.d.mts +8 -6
- package/dist/index.mjs +6 -4
- package/dist/plugin.cjs +12 -26
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +44 -25
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.mts +45 -26
- package/dist/plugin.d.mts.map +1 -1
- package/dist/plugin.mjs +15 -29
- package/dist/plugin.mjs.map +1 -1
- package/dist/remote-entry.cjs +103 -0
- package/dist/remote-entry.cjs.map +1 -0
- package/dist/remote-entry.d.cts +53 -0
- package/dist/remote-entry.d.cts.map +1 -0
- package/dist/remote-entry.d.mts +53 -0
- package/dist/remote-entry.d.mts.map +1 -0
- package/dist/remote-entry.mjs +98 -0
- package/dist/remote-entry.mjs.map +1 -0
- package/dist/runtime/errors.cjs +140 -34
- package/dist/runtime/errors.cjs.map +1 -1
- package/dist/runtime/errors.d.cts +42 -7
- package/dist/runtime/errors.d.cts.map +1 -1
- package/dist/runtime/errors.d.mts +42 -7
- package/dist/runtime/errors.d.mts.map +1 -1
- package/dist/runtime/errors.mjs +136 -31
- package/dist/runtime/errors.mjs.map +1 -1
- package/dist/runtime/index.cjs +95 -23
- package/dist/runtime/index.cjs.map +1 -1
- package/dist/runtime/index.d.cts +16 -0
- package/dist/runtime/index.d.cts.map +1 -1
- package/dist/runtime/index.d.mts +16 -0
- package/dist/runtime/index.d.mts.map +1 -1
- package/dist/runtime/index.mjs +98 -26
- package/dist/runtime/index.mjs.map +1 -1
- package/dist/runtime/mf-config.cjs +3 -78
- package/dist/runtime/mf-config.cjs.map +1 -1
- package/dist/runtime/mf-config.d.cts +3 -49
- package/dist/runtime/mf-config.d.cts.map +1 -1
- package/dist/runtime/mf-config.d.mts +3 -49
- package/dist/runtime/mf-config.d.mts.map +1 -1
- package/dist/runtime/mf-config.mjs +5 -78
- package/dist/runtime/mf-config.mjs.map +1 -1
- package/dist/runtime/services/module-federation.service.cjs +63 -12
- package/dist/runtime/services/module-federation.service.cjs.map +1 -1
- package/dist/runtime/services/module-federation.service.d.cts +4 -13
- package/dist/runtime/services/module-federation.service.d.mts +4 -13
- package/dist/runtime/services/module-federation.service.mjs +63 -14
- package/dist/runtime/services/module-federation.service.mjs.map +1 -1
- package/dist/runtime/services/normalize.cjs +2 -22
- package/dist/runtime/services/normalize.d.cts +2 -21
- package/dist/runtime/services/normalize.d.mts +2 -21
- package/dist/runtime/services/normalize.mjs +2 -21
- package/dist/runtime/services/plugin-lifecycle.service.cjs +9 -11
- package/dist/runtime/services/plugin-lifecycle.service.cjs.map +1 -1
- package/dist/runtime/services/plugin-lifecycle.service.d.cts +3 -16
- package/dist/runtime/services/plugin-lifecycle.service.d.mts +3 -16
- package/dist/runtime/services/plugin-lifecycle.service.mjs +10 -13
- package/dist/runtime/services/plugin-lifecycle.service.mjs.map +1 -1
- package/dist/runtime/services/plugin-loader.service.cjs +30 -29
- package/dist/runtime/services/plugin-loader.service.cjs.map +1 -1
- package/dist/runtime/services/plugin-loader.service.d.cts +6 -53
- package/dist/runtime/services/plugin-loader.service.d.mts +6 -53
- package/dist/runtime/services/plugin-loader.service.mjs +29 -30
- package/dist/runtime/services/plugin-loader.service.mjs.map +1 -1
- package/dist/runtime/services/plugin.service.cjs +10 -12
- package/dist/runtime/services/plugin.service.cjs.map +1 -1
- package/dist/runtime/services/plugin.service.d.cts +14 -36
- package/dist/runtime/services/plugin.service.d.cts.map +1 -1
- package/dist/runtime/services/plugin.service.d.mts +14 -36
- package/dist/runtime/services/plugin.service.d.mts.map +1 -1
- package/dist/runtime/services/plugin.service.mjs +14 -18
- package/dist/runtime/services/plugin.service.mjs.map +1 -1
- package/dist/runtime/services/secrets.service.cjs +12 -12
- package/dist/runtime/services/secrets.service.cjs.map +1 -1
- package/dist/runtime/services/secrets.service.d.cts +3 -15
- package/dist/runtime/services/secrets.service.d.mts +3 -15
- package/dist/runtime/services/secrets.service.mjs +12 -13
- package/dist/runtime/services/secrets.service.mjs.map +1 -1
- package/dist/runtime/services/shared-identity.cjs +40 -0
- package/dist/runtime/services/shared-identity.cjs.map +1 -0
- package/dist/runtime/services/shared-identity.mjs +38 -0
- package/dist/runtime/services/shared-identity.mjs.map +1 -0
- package/dist/runtime/validation.cjs +2 -2
- package/dist/runtime/validation.cjs.map +1 -1
- package/dist/runtime/validation.mjs +2 -2
- package/dist/runtime/validation.mjs.map +1 -1
- package/dist/shared-deps-spec.cjs +384 -0
- package/dist/shared-deps-spec.cjs.map +1 -0
- package/dist/shared-deps-spec.d.cts +182 -0
- package/dist/shared-deps-spec.d.cts.map +1 -0
- package/dist/shared-deps-spec.d.mts +182 -0
- package/dist/shared-deps-spec.d.mts.map +1 -0
- package/dist/shared-deps-spec.mjs +368 -0
- package/dist/shared-deps-spec.mjs.map +1 -0
- package/dist/types.d.cts +22 -41
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +22 -41
- package/dist/types.d.mts.map +1 -1
- package/dist/ui/manifest/construct.cjs +268 -0
- package/dist/ui/manifest/construct.cjs.map +1 -0
- package/dist/ui/manifest/construct.d.cts +48 -0
- package/dist/ui/manifest/construct.d.cts.map +1 -0
- package/dist/ui/manifest/construct.d.mts +48 -0
- package/dist/ui/manifest/construct.d.mts.map +1 -0
- package/dist/ui/manifest/construct.mjs +268 -0
- package/dist/ui/manifest/construct.mjs.map +1 -0
- package/dist/ui/manifest/contract.cjs +34 -0
- package/dist/ui/manifest/contract.cjs.map +1 -0
- package/dist/ui/manifest/contract.d.cts +26 -0
- package/dist/ui/manifest/contract.d.cts.map +1 -0
- package/dist/ui/manifest/contract.d.mts +26 -0
- package/dist/ui/manifest/contract.d.mts.map +1 -0
- package/dist/ui/manifest/contract.mjs +26 -0
- package/dist/ui/manifest/contract.mjs.map +1 -0
- package/dist/ui/manifest/descriptor.cjs +64 -0
- package/dist/ui/manifest/descriptor.cjs.map +1 -0
- package/dist/ui/manifest/descriptor.d.cts +60 -0
- package/dist/ui/manifest/descriptor.d.cts.map +1 -0
- package/dist/ui/manifest/descriptor.d.mts +60 -0
- package/dist/ui/manifest/descriptor.d.mts.map +1 -0
- package/dist/ui/manifest/descriptor.mjs +61 -0
- package/dist/ui/manifest/descriptor.mjs.map +1 -0
- package/dist/ui/manifest/generator.cjs +128 -0
- package/dist/ui/manifest/generator.cjs.map +1 -0
- package/dist/ui/manifest/generator.d.cts +41 -0
- package/dist/ui/manifest/generator.d.cts.map +1 -0
- package/dist/ui/manifest/generator.d.mts +41 -0
- package/dist/ui/manifest/generator.d.mts.map +1 -0
- package/dist/ui/manifest/generator.mjs +125 -0
- package/dist/ui/manifest/generator.mjs.map +1 -0
- package/dist/ui/manifest/index.cjs +35 -0
- package/dist/ui/manifest/index.d.cts +9 -0
- package/dist/ui/manifest/index.d.mts +9 -0
- package/dist/ui/manifest/index.mjs +9 -0
- package/dist/ui/manifest/manifest-schema.cjs +97 -0
- package/dist/ui/manifest/manifest-schema.cjs.map +1 -0
- package/dist/ui/manifest/manifest-schema.d.cts +132 -0
- package/dist/ui/manifest/manifest-schema.d.cts.map +1 -0
- package/dist/ui/manifest/manifest-schema.d.mts +132 -0
- package/dist/ui/manifest/manifest-schema.d.mts.map +1 -0
- package/dist/ui/manifest/manifest-schema.mjs +90 -0
- package/dist/ui/manifest/manifest-schema.mjs.map +1 -0
- package/dist/ui/manifest/mount-registry.cjs +52 -0
- package/dist/ui/manifest/mount-registry.cjs.map +1 -0
- package/dist/ui/manifest/mount-registry.d.cts +61 -0
- package/dist/ui/manifest/mount-registry.d.cts.map +1 -0
- package/dist/ui/manifest/mount-registry.d.mts +61 -0
- package/dist/ui/manifest/mount-registry.d.mts.map +1 -0
- package/dist/ui/manifest/mount-registry.mjs +48 -0
- package/dist/ui/manifest/mount-registry.mjs.map +1 -0
- package/dist/ui/manifest/nav.cjs +13 -0
- package/dist/ui/manifest/nav.cjs.map +1 -0
- package/dist/ui/manifest/nav.d.cts +34 -0
- package/dist/ui/manifest/nav.d.cts.map +1 -0
- package/dist/ui/manifest/nav.d.mts +34 -0
- package/dist/ui/manifest/nav.d.mts.map +1 -0
- package/dist/ui/manifest/nav.mjs +13 -0
- package/dist/ui/manifest/nav.mjs.map +1 -0
- package/dist/ui/manifest/route-config.cjs +33 -0
- package/dist/ui/manifest/route-config.cjs.map +1 -0
- package/dist/ui/manifest/route-config.d.cts +40 -0
- package/dist/ui/manifest/route-config.d.cts.map +1 -0
- package/dist/ui/manifest/route-config.d.mts +40 -0
- package/dist/ui/manifest/route-config.d.mts.map +1 -0
- package/dist/ui/manifest/route-config.mjs +33 -0
- package/dist/ui/manifest/route-config.mjs.map +1 -0
- package/dist/version-manifest.cjs +65 -0
- package/dist/version-manifest.cjs.map +1 -0
- package/dist/version-manifest.d.cts +52 -0
- package/dist/version-manifest.d.cts.map +1 -0
- package/dist/version-manifest.d.mts +52 -0
- package/dist/version-manifest.d.mts.map +1 -0
- package/dist/version-manifest.mjs +63 -0
- package/dist/version-manifest.mjs.map +1 -0
- package/package.json +165 -68
- package/skills/plugin-client/SKILL.md +24 -5
- package/skills/plugin-development/SKILL.md +79 -47
- package/skills/plugin-testing/SKILL.md +41 -12
- package/src/build/artifact-names.ts +117 -0
- package/src/build/contract-types.ts +101 -0
- package/src/build/rspack/build-report-plugin.ts +34 -0
- package/src/build/rspack/chunk-completeness-plugin.ts +57 -0
- package/src/build/rspack/compose.ts +87 -0
- package/src/build/rspack/fix-mf-data-uri-plugin.ts +23 -12
- package/src/build/rspack/generated-config.ts +35 -0
- package/src/build/rspack/index.ts +10 -5
- package/src/build/rspack/module-federation.ts +1 -1
- package/src/build/rspack/plugin.ts +103 -105
- package/src/build/rspack/utils.ts +8 -2
- package/src/build/ui/factory.ts +96 -0
- package/src/build/ui/generated-config.ts +133 -0
- package/src/build/ui/hash-artifacts-plugin.ts +79 -0
- package/src/build/ui/index.ts +98 -0
- package/src/build/ui/manifest-plugin.ts +54 -0
- package/src/build/ui/rsbuild-config.ts +256 -0
- package/src/build/ui/stubs.ts +103 -0
- package/src/cli.ts +100 -0
- package/src/dev/serve.ts +477 -0
- package/src/dev/watch-kill.ts +58 -0
- package/src/effect-helpers.ts +25 -0
- package/src/errors.ts +16 -18
- package/src/identity.ts +36 -0
- package/src/index.ts +4 -0
- package/src/plugin.ts +70 -92
- package/src/remote-entry.ts +171 -0
- package/src/runtime/errors.ts +186 -27
- package/src/runtime/index.ts +132 -43
- package/src/runtime/mf-config.ts +12 -107
- package/src/runtime/services/module-federation.service.ts +221 -117
- package/src/runtime/services/normalize.ts +1 -18
- package/src/runtime/services/plugin-lifecycle.service.ts +66 -75
- package/src/runtime/services/plugin-loader.service.ts +239 -212
- package/src/runtime/services/plugin.service.ts +61 -43
- package/src/runtime/services/secrets.service.ts +20 -15
- package/src/runtime/services/shared-identity.ts +68 -0
- package/src/runtime/validation.ts +5 -7
- package/src/shared-deps-spec.ts +478 -0
- package/src/types.ts +22 -48
- package/src/ui/manifest/construct.ts +403 -0
- package/src/ui/manifest/contract.ts +33 -0
- package/src/ui/manifest/descriptor.ts +96 -0
- package/src/ui/manifest/generator.ts +238 -0
- package/src/ui/manifest/index.ts +55 -0
- package/src/ui/manifest/manifest-schema.ts +107 -0
- package/src/ui/manifest/mount-registry.ts +50 -0
- package/src/ui/manifest/nav.ts +43 -0
- package/src/ui/manifest/route-config.ts +82 -0
- package/src/version-manifest.ts +88 -0
- package/dist/build/rspack/dev-server-middleware.cjs +0 -248
- package/dist/build/rspack/dev-server-middleware.cjs.map +0 -1
- package/dist/build/rspack/dev-server-middleware.mjs +0 -247
- package/dist/build/rspack/dev-server-middleware.mjs.map +0 -1
- package/dist/build/shared-deps.cjs +0 -83
- package/dist/build/shared-deps.cjs.map +0 -1
- package/dist/build/shared-deps.d.cts +0 -67
- package/dist/build/shared-deps.d.cts.map +0 -1
- package/dist/build/shared-deps.d.mts +0 -67
- package/dist/build/shared-deps.d.mts.map +0 -1
- package/dist/build/shared-deps.mjs +0 -79
- package/dist/build/shared-deps.mjs.map +0 -1
- package/dist/effect.cjs +0 -9
- package/dist/effect.d.cts +0 -1
- package/dist/effect.d.mts +0 -1
- package/dist/effect.mjs +0 -3
- package/dist/orpc-openapi.cjs +0 -17
- package/dist/orpc-openapi.d.cts +0 -2
- package/dist/orpc-openapi.d.mts +0 -2
- package/dist/orpc-openapi.mjs +0 -5
- package/dist/orpc.cjs +0 -46
- package/dist/orpc.d.cts +0 -7
- package/dist/orpc.d.mts +0 -7
- package/dist/orpc.mjs +0 -11
- package/dist/package.cjs +0 -23
- package/dist/package.cjs.map +0 -1
- package/dist/package.mjs +0 -17
- package/dist/package.mjs.map +0 -1
- package/dist/runtime/services/module-federation.service.d.cts.map +0 -1
- package/dist/runtime/services/module-federation.service.d.mts.map +0 -1
- package/dist/runtime/services/normalize.cjs.map +0 -1
- package/dist/runtime/services/normalize.d.cts.map +0 -1
- package/dist/runtime/services/normalize.d.mts.map +0 -1
- package/dist/runtime/services/normalize.mjs.map +0 -1
- package/dist/runtime/services/plugin-lifecycle.service.d.cts.map +0 -1
- package/dist/runtime/services/plugin-lifecycle.service.d.mts.map +0 -1
- package/dist/runtime/services/plugin-loader.service.d.cts.map +0 -1
- package/dist/runtime/services/plugin-loader.service.d.mts.map +0 -1
- package/dist/runtime/services/secrets.service.d.cts.map +0 -1
- package/dist/runtime/services/secrets.service.d.mts.map +0 -1
- package/dist/testing/index.cjs +0 -57
- package/dist/testing/index.cjs.map +0 -1
- package/dist/testing/index.d.cts +0 -54
- package/dist/testing/index.d.cts.map +0 -1
- package/dist/testing/index.d.mts +0 -54
- package/dist/testing/index.d.mts.map +0 -1
- package/dist/testing/index.mjs +0 -55
- package/dist/testing/index.mjs.map +0 -1
- package/dist/zod-core.cjs +0 -9
- package/dist/zod-core.d.cts +0 -1
- package/dist/zod-core.d.mts +0 -1
- package/dist/zod-core.mjs +0 -3
- package/dist/zod.cjs +0 -11
- package/dist/zod.d.cts +0 -2
- package/dist/zod.d.mts +0 -2
- package/dist/zod.mjs +0 -3
- package/src/build/rspack/dev-server-middleware.ts +0 -324
- package/src/build/shared-deps.ts +0 -102
- package/src/effect.ts +0 -1
- package/src/orpc-openapi.ts +0 -2
- package/src/orpc.ts +0 -9
- package/src/testing/index.ts +0 -87
- package/src/testing/mocks/module-federation.service.ts +0 -41
- package/src/zod-core.ts +0 -1
- package/src/zod.ts +0 -3
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
|
|
4
|
+
//#region src/version-manifest.ts
|
|
5
|
+
/**
|
|
6
|
+
* WorkspaceVersionManifest — the immutable per-deploy document at
|
|
7
|
+
* `bundles/<account>/<gateway>/<workspace>/versions/<version>.json`
|
|
8
|
+
* (ADR 0020, as amended; atomic-deploys MAP decision 1). The published
|
|
9
|
+
* config's slot pins this document via its `pin` (`manifest` + the
|
|
10
|
+
* manifest's own SRI); every artifact coordinate lives here, so the config
|
|
11
|
+
* stops growing with artifact kinds and old versions stay fully servable.
|
|
12
|
+
*/
|
|
13
|
+
const SRI = z.string().regex(/^sha384-[A-Za-z0-9+/=]+$/);
|
|
14
|
+
const WorkspaceVersionManifestSchema = z.object({
|
|
15
|
+
version: z.string().regex(/^[0-9a-f]{16}$/),
|
|
16
|
+
builtAt: z.string().optional(),
|
|
17
|
+
gitSha: z.string().optional(),
|
|
18
|
+
entry: z.string().min(1),
|
|
19
|
+
entryIntegrity: SRI,
|
|
20
|
+
ssr: z.object({
|
|
21
|
+
entry: z.string().min(1),
|
|
22
|
+
integrity: SRI
|
|
23
|
+
}).optional(),
|
|
24
|
+
browserManifest: z.object({
|
|
25
|
+
file: z.string().min(1),
|
|
26
|
+
integrity: SRI
|
|
27
|
+
}).optional(),
|
|
28
|
+
/** extra assets (css, icons) — logical name → served-object SRI */
|
|
29
|
+
assets: z.record(z.string(), SRI).optional(),
|
|
30
|
+
/** shared-dependency versions this build was built against */
|
|
31
|
+
shared: z.record(z.string(), z.string()).optional(),
|
|
32
|
+
/**
|
|
33
|
+
* Full per-file digest map of the dist (object path → served-object SRI).
|
|
34
|
+
* Written by `every-plugin`-based deploys so the next deploy can diff against
|
|
35
|
+
* it and skip re-uploading unchanged files; readers that predate the field
|
|
36
|
+
* ignore it (zod strips unknown keys). Participates in the version hash.
|
|
37
|
+
*/
|
|
38
|
+
files: z.record(z.string(), SRI).optional()
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Compose the manifest with its `version` derived from the canonical content
|
|
42
|
+
* of the artifact coordinates alone (key-sorted, `builtAt` excluded) —
|
|
43
|
+
* identical bytes → identical version id regardless of when they were built,
|
|
44
|
+
* so republishing unchanged content is a pointer no-op. Any changed
|
|
45
|
+
* coordinate → a new version (and a new file).
|
|
46
|
+
*/
|
|
47
|
+
function composeVersionManifest(input) {
|
|
48
|
+
const { builtAt, ...hashedInputs } = input;
|
|
49
|
+
const version = createHash("sha256").update(stableStringify(hashedInputs)).digest("hex").slice(0, 16);
|
|
50
|
+
return WorkspaceVersionManifestSchema.parse({
|
|
51
|
+
...input,
|
|
52
|
+
version
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function stableStringify(value) {
|
|
56
|
+
if (Array.isArray(value)) return `[${value.map(stableStringify).join(",")}]`;
|
|
57
|
+
if (value && typeof value === "object") return `{${Object.entries(value).filter(([, v]) => v !== void 0).map(([k, v]) => `${JSON.stringify(k)}:${stableStringify(v)}`).sort().join(",")}}`;
|
|
58
|
+
return JSON.stringify(value) ?? "null";
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { WorkspaceVersionManifestSchema, composeVersionManifest };
|
|
63
|
+
//# sourceMappingURL=version-manifest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-manifest.mjs","names":[],"sources":["../src/version-manifest.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { z } from \"zod\";\n\n/**\n * WorkspaceVersionManifest — the immutable per-deploy document at\n * `bundles/<account>/<gateway>/<workspace>/versions/<version>.json`\n * (ADR 0020, as amended; atomic-deploys MAP decision 1). The published\n * config's slot pins this document via its `pin` (`manifest` + the\n * manifest's own SRI); every artifact coordinate lives here, so the config\n * stops growing with artifact kinds and old versions stay fully servable.\n */\n\nconst SRI = z.string().regex(/^sha384-[A-Za-z0-9+/=]+$/);\n\nexport const WorkspaceVersionManifestSchema = z.object({\n version: z.string().regex(/^[0-9a-f]{16}$/),\n builtAt: z.string().optional(),\n gitSha: z.string().optional(),\n entry: z.string().min(1),\n entryIntegrity: SRI,\n ssr: z\n .object({\n entry: z.string().min(1),\n integrity: SRI,\n })\n .optional(),\n browserManifest: z\n .object({\n file: z.string().min(1),\n integrity: SRI,\n })\n .optional(),\n /** extra assets (css, icons) — logical name → served-object SRI */\n assets: z.record(z.string(), SRI).optional(),\n /** shared-dependency versions this build was built against */\n shared: z.record(z.string(), z.string()).optional(),\n /**\n * Full per-file digest map of the dist (object path → served-object SRI).\n * Written by `every-plugin`-based deploys so the next deploy can diff against\n * it and skip re-uploading unchanged files; readers that predate the field\n * ignore it (zod strips unknown keys). Participates in the version hash.\n */\n files: z.record(z.string(), SRI).optional(),\n});\nexport type WorkspaceVersionManifest = z.infer<typeof WorkspaceVersionManifestSchema>;\n\nexport interface VersionManifestInput {\n /** Omit: a per-build timestamp makes the same version id map to different\n * manifest bytes per machine, breaking the pin's SRI against the image's\n * staged copy and the CDN's immutability for republished versions. */\n builtAt?: string;\n gitSha?: string;\n entry: string;\n entryIntegrity: string;\n ssr?: { entry: string; integrity: string };\n browserManifest?: { file: string; integrity: string };\n assets?: Record<string, string>;\n shared?: Record<string, string>;\n files?: Record<string, string>;\n}\n\n/**\n * Compose the manifest with its `version` derived from the canonical content\n * of the artifact coordinates alone (key-sorted, `builtAt` excluded) —\n * identical bytes → identical version id regardless of when they were built,\n * so republishing unchanged content is a pointer no-op. Any changed\n * coordinate → a new version (and a new file).\n */\nexport function composeVersionManifest(input: VersionManifestInput): WorkspaceVersionManifest {\n const { builtAt, ...hashedInputs } = input;\n const version = createHash(\"sha256\")\n .update(stableStringify(hashedInputs))\n .digest(\"hex\")\n .slice(0, 16);\n return WorkspaceVersionManifestSchema.parse({ ...input, version });\n}\n\nfunction stableStringify(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableStringify).join(\",\")}]`;\n if (value && typeof value === \"object\") {\n return `{${Object.entries(value)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => `${JSON.stringify(k)}:${stableStringify(v)}`)\n .sort()\n .join(\",\")}}`;\n }\n return JSON.stringify(value) ?? \"null\";\n}\n"],"mappings":";;;;;;;;;;;;AAYA,MAAM,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,0BAA0B;AAEvD,MAAa,iCAAiC,EAAE,OAAO;CACrD,SAAS,EAAE,OAAO,CAAC,CAAC,MAAM,gBAAgB;CAC1C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACvB,gBAAgB;CAChB,KAAK,EACF,OAAO;EACN,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;EACvB,WAAW;CACb,CAAC,CAAC,CACD,SAAS;CACZ,iBAAiB,EACd,OAAO;EACN,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;EACtB,WAAW;CACb,CAAC,CAAC,CACD,SAAS;;CAEZ,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC,SAAS;;CAE3C,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;;;;;;;CAOlD,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC,SAAS;AAC5C,CAAC;;;;;;;;AAyBD,SAAgB,uBAAuB,OAAuD;CAC5F,MAAM,EAAE,SAAS,GAAG,iBAAiB;CACrC,MAAM,UAAU,WAAW,QAAQ,CAAC,CACjC,OAAO,gBAAgB,YAAY,CAAC,CAAC,CACrC,OAAO,KAAK,CAAC,CACb,MAAM,GAAG,EAAE;CACd,OAAO,+BAA+B,MAAM;EAAE,GAAG;EAAO;CAAQ,CAAC;AACnE;AAEA,SAAS,gBAAgB,OAAwB;CAC/C,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,IAAI,MAAM,IAAI,eAAe,CAAC,CAAC,KAAK,GAAG,EAAE;CAC1E,IAAI,SAAS,OAAO,UAAU,UAC5B,OAAO,IAAI,OAAO,QAAQ,KAAK,CAAC,CAC7B,QAAQ,GAAG,OAAO,MAAM,MAAS,CAAC,CAClC,KAAK,CAAC,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAC7D,KAAK,CAAC,CACN,KAAK,GAAG,EAAE;CAEf,OAAO,KAAK,UAAU,KAAK,KAAK;AAClC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "every-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-rc.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -10,122 +10,219 @@
|
|
|
10
10
|
"types": "./dist/index.d.mts",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"bun": {
|
|
14
|
+
"types": "./src/index.ts",
|
|
15
|
+
"import": "./src/index.ts"
|
|
16
|
+
},
|
|
13
17
|
"types": "./dist/index.d.mts",
|
|
14
18
|
"import": "./dist/index.mjs",
|
|
15
19
|
"require": "./dist/index.cjs"
|
|
16
20
|
},
|
|
21
|
+
"./identity": {
|
|
22
|
+
"bun": {
|
|
23
|
+
"types": "./src/identity.ts",
|
|
24
|
+
"import": "./src/identity.ts"
|
|
25
|
+
},
|
|
26
|
+
"types": "./dist/identity.d.mts",
|
|
27
|
+
"import": "./dist/identity.mjs",
|
|
28
|
+
"require": "./dist/identity.cjs"
|
|
29
|
+
},
|
|
30
|
+
"./types": {
|
|
31
|
+
"bun": {
|
|
32
|
+
"types": "./src/types.ts",
|
|
33
|
+
"import": "./src/types.ts"
|
|
34
|
+
},
|
|
35
|
+
"types": "./dist/types.d.mts",
|
|
36
|
+
"import": "./dist/types.mjs",
|
|
37
|
+
"require": "./dist/types.cjs"
|
|
38
|
+
},
|
|
39
|
+
"./errors": {
|
|
40
|
+
"bun": {
|
|
41
|
+
"types": "./src/errors.ts",
|
|
42
|
+
"import": "./src/errors.ts"
|
|
43
|
+
},
|
|
44
|
+
"types": "./dist/errors.d.mts",
|
|
45
|
+
"import": "./dist/errors.mjs",
|
|
46
|
+
"require": "./dist/errors.cjs"
|
|
47
|
+
},
|
|
48
|
+
"./remote-entry": {
|
|
49
|
+
"bun": {
|
|
50
|
+
"types": "./src/remote-entry.ts",
|
|
51
|
+
"import": "./src/remote-entry.ts"
|
|
52
|
+
},
|
|
53
|
+
"types": "./dist/remote-entry.d.mts",
|
|
54
|
+
"import": "./dist/remote-entry.mjs",
|
|
55
|
+
"require": "./dist/remote-entry.cjs"
|
|
56
|
+
},
|
|
17
57
|
"./runtime": {
|
|
58
|
+
"bun": {
|
|
59
|
+
"types": "./src/runtime/index.ts",
|
|
60
|
+
"import": "./src/runtime/index.ts"
|
|
61
|
+
},
|
|
18
62
|
"types": "./dist/runtime/index.d.mts",
|
|
19
63
|
"import": "./dist/runtime/index.mjs",
|
|
20
64
|
"require": "./dist/runtime/index.cjs"
|
|
21
65
|
},
|
|
22
|
-
"./testing": {
|
|
23
|
-
"types": "./dist/testing/index.d.mts",
|
|
24
|
-
"import": "./dist/testing/index.mjs",
|
|
25
|
-
"require": "./dist/testing/index.cjs"
|
|
26
|
-
},
|
|
27
66
|
"./normalize": {
|
|
67
|
+
"bun": {
|
|
68
|
+
"types": "./src/runtime/services/normalize.ts",
|
|
69
|
+
"import": "./src/runtime/services/normalize.ts"
|
|
70
|
+
},
|
|
28
71
|
"types": "./dist/runtime/services/normalize.d.mts",
|
|
29
72
|
"import": "./dist/runtime/services/normalize.mjs",
|
|
30
73
|
"require": "./dist/runtime/services/normalize.cjs"
|
|
31
74
|
},
|
|
32
|
-
"./
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
75
|
+
"./shared-deps-spec": {
|
|
76
|
+
"bun": {
|
|
77
|
+
"types": "./src/shared-deps-spec.ts",
|
|
78
|
+
"import": "./src/shared-deps-spec.ts"
|
|
79
|
+
},
|
|
80
|
+
"types": "./dist/shared-deps-spec.d.mts",
|
|
81
|
+
"import": "./dist/shared-deps-spec.mjs",
|
|
82
|
+
"require": "./dist/shared-deps-spec.cjs"
|
|
83
|
+
},
|
|
84
|
+
"./build/rspack": {
|
|
85
|
+
"bun": {
|
|
86
|
+
"types": "./src/build/rspack/index.ts",
|
|
87
|
+
"import": "./src/build/rspack/index.ts"
|
|
88
|
+
},
|
|
89
|
+
"types": "./dist/build/rspack/index.d.mts",
|
|
90
|
+
"import": "./dist/build/rspack/index.mjs",
|
|
91
|
+
"require": "./dist/build/rspack/index.cjs"
|
|
36
92
|
},
|
|
37
|
-
"./
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
93
|
+
"./build/artifact-names": {
|
|
94
|
+
"bun": {
|
|
95
|
+
"types": "./src/build/artifact-names.ts",
|
|
96
|
+
"import": "./src/build/artifact-names.ts"
|
|
97
|
+
},
|
|
98
|
+
"types": "./dist/build/artifact-names.d.mts",
|
|
99
|
+
"import": "./dist/build/artifact-names.mjs",
|
|
100
|
+
"require": "./dist/build/artifact-names.cjs"
|
|
41
101
|
},
|
|
42
|
-
"./
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
102
|
+
"./version-manifest": {
|
|
103
|
+
"bun": {
|
|
104
|
+
"types": "./src/version-manifest.ts",
|
|
105
|
+
"import": "./src/version-manifest.ts"
|
|
106
|
+
},
|
|
107
|
+
"types": "./dist/version-manifest.d.mts",
|
|
108
|
+
"import": "./dist/version-manifest.mjs",
|
|
109
|
+
"require": "./dist/version-manifest.cjs"
|
|
46
110
|
},
|
|
47
|
-
"./
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
111
|
+
"./ui/manifest": {
|
|
112
|
+
"bun": {
|
|
113
|
+
"types": "./src/ui/manifest/index.ts",
|
|
114
|
+
"import": "./src/ui/manifest/index.ts"
|
|
115
|
+
},
|
|
116
|
+
"types": "./dist/ui/manifest/index.d.mts",
|
|
117
|
+
"import": "./dist/ui/manifest/index.mjs",
|
|
118
|
+
"require": "./dist/ui/manifest/index.cjs"
|
|
51
119
|
},
|
|
52
|
-
"./
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
120
|
+
"./ui/manifest-generator": {
|
|
121
|
+
"bun": {
|
|
122
|
+
"types": "./src/ui/manifest/generator.ts",
|
|
123
|
+
"import": "./src/ui/manifest/generator.ts"
|
|
124
|
+
},
|
|
125
|
+
"types": "./dist/ui/manifest/generator.d.mts",
|
|
126
|
+
"import": "./dist/ui/manifest/generator.mjs",
|
|
127
|
+
"require": "./dist/ui/manifest/generator.cjs"
|
|
56
128
|
},
|
|
57
|
-
"./
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
129
|
+
"./ui/manifest/contract": {
|
|
130
|
+
"bun": {
|
|
131
|
+
"types": "./src/ui/manifest/contract.ts",
|
|
132
|
+
"import": "./src/ui/manifest/contract.ts"
|
|
133
|
+
},
|
|
134
|
+
"types": "./dist/ui/manifest/contract.d.mts",
|
|
135
|
+
"import": "./dist/ui/manifest/contract.mjs",
|
|
136
|
+
"require": "./dist/ui/manifest/contract.cjs"
|
|
61
137
|
},
|
|
62
|
-
"./
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
|
|
138
|
+
"./build/ui": {
|
|
139
|
+
"bun": {
|
|
140
|
+
"types": "./src/build/ui/index.ts",
|
|
141
|
+
"import": "./src/build/ui/index.ts"
|
|
142
|
+
},
|
|
143
|
+
"types": "./dist/build/ui/index.d.mts",
|
|
144
|
+
"import": "./dist/build/ui/index.mjs",
|
|
145
|
+
"require": "./dist/build/ui/index.cjs"
|
|
66
146
|
},
|
|
67
|
-
"./
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
147
|
+
"./dev-serve": {
|
|
148
|
+
"bun": {
|
|
149
|
+
"types": "./src/dev/serve.ts",
|
|
150
|
+
"import": "./src/dev/serve.ts"
|
|
71
151
|
},
|
|
72
|
-
"
|
|
73
|
-
"
|
|
152
|
+
"types": "./dist/dev/serve.d.mts",
|
|
153
|
+
"import": "./dist/dev/serve.mjs"
|
|
74
154
|
},
|
|
75
155
|
"./package.json": "./package.json"
|
|
76
156
|
},
|
|
157
|
+
"bin": {
|
|
158
|
+
"every-plugin": "./bin/every-plugin.mjs",
|
|
159
|
+
"every-plugin-serve": "./bin/every-plugin-serve.mjs"
|
|
160
|
+
},
|
|
77
161
|
"files": [
|
|
78
162
|
"dist",
|
|
79
163
|
"src",
|
|
164
|
+
"bin",
|
|
80
165
|
"skills",
|
|
81
166
|
"!skills/_artifacts"
|
|
82
167
|
],
|
|
83
168
|
"scripts": {
|
|
84
169
|
"build": "tsdown",
|
|
85
|
-
"
|
|
170
|
+
"exports:sync": "node --import tsx scripts/sync-exports.ts",
|
|
171
|
+
"exports:check": "node --import tsx scripts/sync-exports.ts --check",
|
|
172
|
+
"build:test": "cd tests/fixtures/test-plugin && pnpm run build",
|
|
86
173
|
"test": "vitest run --config vitest.config.ts",
|
|
87
174
|
"test:unit": "vitest run --config vitest.config.ts",
|
|
88
|
-
"test:integration": "
|
|
89
|
-
"test:all": "
|
|
175
|
+
"test:integration": "pnpm run build:test && vitest run --config vitest.integration.config.ts",
|
|
176
|
+
"test:all": "pnpm run test:unit && pnpm run test:integration",
|
|
90
177
|
"test:watch": "vitest --config vitest.config.ts --watch",
|
|
91
178
|
"typecheck": "tsc --noEmit"
|
|
92
179
|
},
|
|
93
180
|
"peerDependencies": {
|
|
94
|
-
"@
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"zod": "
|
|
98
|
-
"@
|
|
99
|
-
"@
|
|
100
|
-
"@
|
|
101
|
-
"@
|
|
102
|
-
"
|
|
103
|
-
"
|
|
181
|
+
"@orpc/contract": "2.0.0-beta.35",
|
|
182
|
+
"@orpc/server": "2.0.0-beta.35",
|
|
183
|
+
"@orpc/tanstack-query": "2.0.0-beta.35",
|
|
184
|
+
"@orpc/zod": "2.0.0-beta.35",
|
|
185
|
+
"@proj-airi/unplugin-drizzle-orm-migrations": "*",
|
|
186
|
+
"@rspack/core": "2.2.8",
|
|
187
|
+
"@tanstack/react-router": "1.170.32",
|
|
188
|
+
"@tanstack/router-generator": "1.167.33",
|
|
189
|
+
"effect": "4.0.0-rc.117",
|
|
190
|
+
"react": "19.2.4",
|
|
191
|
+
"typescript": "^7.0.2",
|
|
192
|
+
"zod": "4.6.5"
|
|
104
193
|
},
|
|
105
194
|
"devDependencies": {
|
|
106
|
-
"@effect/
|
|
107
|
-
"@
|
|
108
|
-
"@orpc/
|
|
109
|
-
"@
|
|
110
|
-
"@rspack/cli": "1.7.11",
|
|
195
|
+
"@effect/vitest": "4.0.0-rc.117",
|
|
196
|
+
"@orpc/client": "2.0.0-beta.35",
|
|
197
|
+
"@orpc/openapi": "2.0.0-beta.35",
|
|
198
|
+
"@rspack/cli": "2.2.6",
|
|
111
199
|
"@tanstack/intent": "^0.3.5",
|
|
112
|
-
"@types/bun": "^1.3.7",
|
|
113
200
|
"@types/node": "^25.1.0",
|
|
201
|
+
"@types/react": "^19.2.7",
|
|
202
|
+
"@types/react-dom": "^19.2.3",
|
|
114
203
|
"@vitest/ui": "4.1.5",
|
|
115
|
-
"bun-types": "^1.3.7",
|
|
116
|
-
"sirv": "^3.0.2",
|
|
117
204
|
"tsdown": "^0.22.0",
|
|
118
205
|
"vite-tsconfig-paths": "^6.0.5",
|
|
119
206
|
"vitest": "^4.1.8"
|
|
120
207
|
},
|
|
121
208
|
"dependencies": {
|
|
122
|
-
"@module-federation/enhanced": "^2.
|
|
123
|
-
"@module-federation/node": "^2.7.
|
|
124
|
-
"@module-federation/
|
|
125
|
-
"@
|
|
126
|
-
"@
|
|
127
|
-
"@orpc/
|
|
128
|
-
"@orpc/
|
|
209
|
+
"@module-federation/enhanced": "^2.9.0",
|
|
210
|
+
"@module-federation/node": "^2.7.50",
|
|
211
|
+
"@module-federation/rsbuild-plugin": "^2.9.0",
|
|
212
|
+
"@module-federation/runtime-core": "^2.9.0",
|
|
213
|
+
"@module-federation/runtime-tools": "^2.9.0",
|
|
214
|
+
"@orpc/client": "2.0.0-beta.35",
|
|
215
|
+
"@orpc/contract": "2.0.0-beta.35",
|
|
216
|
+
"@orpc/experimental-effect": "2.0.0-beta.35",
|
|
217
|
+
"@orpc/openapi": "2.0.0-beta.35",
|
|
218
|
+
"@orpc/publisher": "2.0.0-beta.35",
|
|
219
|
+
"@orpc/server": "2.0.0-beta.35",
|
|
220
|
+
"@orpc/tanstack-query": "2.0.0-beta.35",
|
|
221
|
+
"@rsbuild/core": "2.2.8",
|
|
222
|
+
"@rsbuild/plugin-react": "2.1.0",
|
|
223
|
+
"@tanstack/router-generator": "1.167.33",
|
|
224
|
+
"@tanstack/router-plugin": "1.168.35",
|
|
225
|
+
"sirv": "3.0.2"
|
|
129
226
|
},
|
|
130
227
|
"keywords": [
|
|
131
228
|
"plugin",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: plugin-client
|
|
3
3
|
description: Connect to and consume deployed everything.dev plugins from an external app, child project, or script. Use when creating API/auth clients, reading runtime config, authenticating with API keys or sessions, or calling plugin routes programmatically.
|
|
4
4
|
metadata:
|
|
5
|
-
sources: "ui/src/lib/api.ts,ui/src/lib/auth.ts,ui/src/app.ts,everything-dev/src/ui/runtime.ts,everything-dev/src/types.ts,host/src/program.ts,host/src/services/auth.ts,
|
|
5
|
+
sources: "ui/src/lib/api.ts,ui/src/lib/auth.ts,ui/src/app.ts,everything-dev/src/ui/runtime.ts,everything-dev/src/types.ts,host/src/program.ts,host/src/services/auth.ts,packages/everything-dev/src/api/auth-middleware.ts"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Plugin Client — Consuming everything.dev APIs
|
|
@@ -313,7 +313,7 @@ builder.createThing
|
|
|
313
313
|
});
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
See
|
|
316
|
+
See [api-keys](references/api-keys.md) for the full API key route table, permission schema, and management examples.
|
|
317
317
|
|
|
318
318
|
## OpenAPI / REST
|
|
319
319
|
|
|
@@ -392,7 +392,6 @@ export type ApiContract = BaseApiContract & {
|
|
|
392
392
|
### Regeneration Triggers
|
|
393
393
|
|
|
394
394
|
Generated files are gitignored and auto-regenerated on:
|
|
395
|
-
- `bun install` (via postinstall `bos types gen`)
|
|
396
395
|
- `bun typecheck`
|
|
397
396
|
- `bos dev` / `bos build`
|
|
398
397
|
- `bos plugin add` / `bos plugin remove`
|
|
@@ -433,11 +432,11 @@ bos init myapp.everything.dev \
|
|
|
433
432
|
--plugins apps,template
|
|
434
433
|
```
|
|
435
434
|
|
|
436
|
-
This writes `bos.config.json` with `extends`, scaffolds the project, and generates types.
|
|
435
|
+
This writes `bos.config.json` with `extends`, scaffolds the project, and generates types. Afterward, `bun typecheck`, `bos dev`, and `bos build` regenerate types on demand.
|
|
437
436
|
|
|
438
437
|
### What Can Be Overridden
|
|
439
438
|
|
|
440
|
-
Child configs can override `app.ui` (custom UI CDN) and `plugins.<key>` (custom plugin URLs).
|
|
439
|
+
Child configs can override `app.ui` (custom UI CDN) and `plugins.<key>` (custom plugin URLs). Which sections a tenant can customize is controlled per-tenant by the `allow_ui_overrides` and `allow_backend_overrides` flags on the tenant record, resolved by the host from the API's `GET /tenants/bindings` endpoint (cached for 30s).
|
|
441
440
|
|
|
442
441
|
See the `extends-config` skill for deep merge semantics, per-environment extends, and canonical field ordering.
|
|
443
442
|
|
|
@@ -448,3 +447,23 @@ See the `extends-config` skill for deep merge semantics, per-environment extends
|
|
|
448
447
|
- **Not saving the API key secret** — `authClient.apiKey.create()` returns the full key string (`edk_...`) only once. Subsequent calls to `list` or `update` return only the prefix and metadata.
|
|
449
448
|
- **Plugin key vs plugin name confusion** — the client namespace is the `bos.config.json` `plugins` key (e.g., `"apps"`), not the Module Federation `name` field. They often match but are not guaranteed to.
|
|
450
449
|
- **Forgetting to regenerate types** — after adding/removing plugins in `bos.config.json`, run `bos types gen` or restart `bos dev`. Stale `api-types.gen.ts` will have missing or wrong namespace keys.
|
|
450
|
+
|
|
451
|
+
## The tasks you will actually be given
|
|
452
|
+
|
|
453
|
+
**"Call a plugin route from a script"** — create a key in the UI under `/settings/api-keys` (the full `edk_...` secret is shown once — copy it), then use the external `RPCLink` + `x-api-key` snippet from the External / Standalone API Client section above. The procedure path is `POST {hostUrl}/api/rpc/{pluginKey}/{procedure}` — e.g. `client.registry.listRegistryApps({ limit: 24 })`.
|
|
454
|
+
|
|
455
|
+
**"Wire a typed API call into a UI route"** — import `useApiClient` from `@/app`, call `apiClient.<pluginKey>.<procedure>()`. If the namespace key is missing in the types, the plugin was added/removed without regenerating: run `bos types gen` (or restart `pnpm run dev`), never hand-edit `ui/src/lib/api-types.gen.ts`.
|
|
456
|
+
|
|
457
|
+
**"Set up a typed client for another language"** — pull the spec from `GET {hostUrl}/api/spec.json` and run the openapi codegen commands in the OpenAPI / REST section above.
|
|
458
|
+
|
|
459
|
+
## What comes back when it refuses
|
|
460
|
+
|
|
461
|
+
| Error word / shape you see | Meaning | Action |
|
|
462
|
+
|---|---|---|
|
|
463
|
+
| 401 `UNAUTHORIZED` "Authentication required" with `data: { hint: "Sign in or provide an API key" }` | no session cookie and no API key reached the middleware | sign in, or attach `x-api-key: edk_...` |
|
|
464
|
+
| 401 `UNAUTHORIZED` "API key required" with `data: { authType: "apiKey", hint: "Provide a valid API key via x-api-key header" }` | the route is `requireApiKey(...)`-protected and your key was absent — usually `Authorization: Bearer` was used instead | switch to the `x-api-key` header |
|
|
465
|
+
| 403 `FORBIDDEN` "API key lacks permission: <resource>:<action>" with `data: { requiredPermissions, keyPermissions }` | the key's `permissions` map does not cover every required resource/action — partial matches are rejected | re-create (server-side) or update the key with the needed permissions |
|
|
466
|
+
| 403 `FORBIDDEN` "Requires role: ..." / "Requires organization role: ..." | session role gate | sign in with an account holding the role; a key cannot satisfy these |
|
|
467
|
+
| 403 `FORBIDDEN` "Organization requires platform-admin approval" | the org's `status` is not `"active"` | stop — needs platform-admin approval, no client-side fix |
|
|
468
|
+
| `authClient.apiKey.list` / `update` return only `prefix` and metadata | expected — the full secret is returned once at `create` | create a new key; the old secret is unrecoverable |
|
|
469
|
+
| Browser request blocked by CORS despite a valid key | session cookies not sent (`credentials: "include"` missing) or origin not allowed by `CORS_ORIGIN` | add `credentials: "include"` to the fetch wrapper, or fix `CORS_ORIGIN` |
|