@allstak/wizard 0.1.3
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/CHANGELOG.md +90 -0
- package/README.md +79 -0
- package/dist/api/auth-client.d.ts +22 -0
- package/dist/api/auth-client.d.ts.map +1 -0
- package/dist/api/auth-client.js +65 -0
- package/dist/api/auth-client.js.map +1 -0
- package/dist/api/auth.d.ts +39 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +69 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/client.d.ts +15 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +19 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/http.d.ts +44 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +130 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +12 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/orgs-client.d.ts +16 -0
- package/dist/api/orgs-client.d.ts.map +1 -0
- package/dist/api/orgs-client.js +36 -0
- package/dist/api/orgs-client.js.map +1 -0
- package/dist/api/projects-client.d.ts +27 -0
- package/dist/api/projects-client.d.ts.map +1 -0
- package/dist/api/projects-client.js +58 -0
- package/dist/api/projects-client.js.map +1 -0
- package/dist/api/setup-doctor-client.d.ts +31 -0
- package/dist/api/setup-doctor-client.d.ts.map +1 -0
- package/dist/api/setup-doctor-client.js +68 -0
- package/dist/api/setup-doctor-client.js.map +1 -0
- package/dist/api/types.d.ts +92 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +9 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +303 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/_context.d.ts +37 -0
- package/dist/commands/_context.d.ts.map +1 -0
- package/dist/commands/_context.js +61 -0
- package/dist/commands/_context.js.map +1 -0
- package/dist/commands/config-cmd.d.ts +24 -0
- package/dist/commands/config-cmd.d.ts.map +1 -0
- package/dist/commands/config-cmd.js +137 -0
- package/dist/commands/config-cmd.js.map +1 -0
- package/dist/commands/doctor.d.ts +58 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +389 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +28 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +157 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +14 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/login.d.ts +27 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +116 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +15 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +36 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/orgs.d.ts +14 -0
- package/dist/commands/orgs.d.ts.map +1 -0
- package/dist/commands/orgs.js +39 -0
- package/dist/commands/orgs.js.map +1 -0
- package/dist/commands/projects.d.ts +21 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +86 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/repair.d.ts +12 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +45 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/restore.d.ts +32 -0
- package/dist/commands/restore.d.ts.map +1 -0
- package/dist/commands/restore.js +120 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/uninstall.d.ts +13 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +53 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/whoami.d.ts +13 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +54 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/compat/engine.d.ts +31 -0
- package/dist/compat/engine.d.ts.map +1 -0
- package/dist/compat/engine.js +82 -0
- package/dist/compat/engine.js.map +1 -0
- package/dist/config/define.d.ts +21 -0
- package/dist/config/define.d.ts.map +1 -0
- package/dist/config/define.js +22 -0
- package/dist/config/define.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +26 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +84 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/migrations.d.ts +64 -0
- package/dist/config/migrations.d.ts.map +1 -0
- package/dist/config/migrations.js +66 -0
- package/dist/config/migrations.js.map +1 -0
- package/dist/config/precedence.d.ts +24 -0
- package/dist/config/precedence.d.ts.map +1 -0
- package/dist/config/precedence.js +55 -0
- package/dist/config/precedence.js.map +1 -0
- package/dist/config/schema.d.ts +10 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +140 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +80 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +23 -0
- package/dist/config/types.js.map +1 -0
- package/dist/credentials/encrypted-file.d.ts +3 -0
- package/dist/credentials/encrypted-file.d.ts.map +1 -0
- package/dist/credentials/encrypted-file.js +139 -0
- package/dist/credentials/encrypted-file.js.map +1 -0
- package/dist/credentials/error.d.ts +11 -0
- package/dist/credentials/error.d.ts.map +1 -0
- package/dist/credentials/error.js +14 -0
- package/dist/credentials/error.js.map +1 -0
- package/dist/credentials/index.d.ts +20 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +56 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/credentials/keychain-darwin.d.ts +11 -0
- package/dist/credentials/keychain-darwin.d.ts.map +1 -0
- package/dist/credentials/keychain-darwin.js +88 -0
- package/dist/credentials/keychain-darwin.js.map +1 -0
- package/dist/credentials/keychain-linux.d.ts +13 -0
- package/dist/credentials/keychain-linux.d.ts.map +1 -0
- package/dist/credentials/keychain-linux.js +88 -0
- package/dist/credentials/keychain-linux.js.map +1 -0
- package/dist/credentials/keychain-win.d.ts +13 -0
- package/dist/credentials/keychain-win.d.ts.map +1 -0
- package/dist/credentials/keychain-win.js +31 -0
- package/dist/credentials/keychain-win.js.map +1 -0
- package/dist/credentials/types.d.ts +38 -0
- package/dist/credentials/types.d.ts.map +1 -0
- package/dist/credentials/types.js +5 -0
- package/dist/credentials/types.js.map +1 -0
- package/dist/detect/framework.d.ts +28 -0
- package/dist/detect/framework.d.ts.map +1 -0
- package/dist/detect/framework.js +131 -0
- package/dist/detect/framework.js.map +1 -0
- package/dist/detect/index.d.ts +4 -0
- package/dist/detect/index.d.ts.map +1 -0
- package/dist/detect/index.js +4 -0
- package/dist/detect/index.js.map +1 -0
- package/dist/detect/monorepo.d.ts +10 -0
- package/dist/detect/monorepo.d.ts.map +1 -0
- package/dist/detect/monorepo.js +42 -0
- package/dist/detect/monorepo.js.map +1 -0
- package/dist/detect/package-manager.d.ts +18 -0
- package/dist/detect/package-manager.d.ts.map +1 -0
- package/dist/detect/package-manager.js +60 -0
- package/dist/detect/package-manager.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/_scaffold.d.ts +23 -0
- package/dist/integrations/_scaffold.d.ts.map +1 -0
- package/dist/integrations/_scaffold.js +62 -0
- package/dist/integrations/_scaffold.js.map +1 -0
- package/dist/integrations/_shared.d.ts +18 -0
- package/dist/integrations/_shared.d.ts.map +1 -0
- package/dist/integrations/_shared.js +73 -0
- package/dist/integrations/_shared.js.map +1 -0
- package/dist/integrations/_simple-scaffold.d.ts +19 -0
- package/dist/integrations/_simple-scaffold.d.ts.map +1 -0
- package/dist/integrations/_simple-scaffold.js +23 -0
- package/dist/integrations/_simple-scaffold.js.map +1 -0
- package/dist/integrations/dotnet.d.ts +2 -0
- package/dist/integrations/dotnet.d.ts.map +1 -0
- package/dist/integrations/dotnet.js +9 -0
- package/dist/integrations/dotnet.js.map +1 -0
- package/dist/integrations/expo.d.ts +2 -0
- package/dist/integrations/expo.d.ts.map +1 -0
- package/dist/integrations/expo.js +12 -0
- package/dist/integrations/expo.js.map +1 -0
- package/dist/integrations/fastify.d.ts +2 -0
- package/dist/integrations/fastify.d.ts.map +1 -0
- package/dist/integrations/fastify.js +10 -0
- package/dist/integrations/fastify.js.map +1 -0
- package/dist/integrations/flutter.d.ts +2 -0
- package/dist/integrations/flutter.d.ts.map +1 -0
- package/dist/integrations/flutter.js +9 -0
- package/dist/integrations/flutter.js.map +1 -0
- package/dist/integrations/go.d.ts +2 -0
- package/dist/integrations/go.d.ts.map +1 -0
- package/dist/integrations/go.js +9 -0
- package/dist/integrations/go.js.map +1 -0
- package/dist/integrations/java.d.ts +2 -0
- package/dist/integrations/java.d.ts.map +1 -0
- package/dist/integrations/java.js +9 -0
- package/dist/integrations/java.js.map +1 -0
- package/dist/integrations/js/detect.d.ts +3 -0
- package/dist/integrations/js/detect.d.ts.map +1 -0
- package/dist/integrations/js/detect.js +7 -0
- package/dist/integrations/js/detect.js.map +1 -0
- package/dist/integrations/js/doctor.d.ts +3 -0
- package/dist/integrations/js/doctor.d.ts.map +1 -0
- package/dist/integrations/js/doctor.js +38 -0
- package/dist/integrations/js/doctor.js.map +1 -0
- package/dist/integrations/js/files.d.ts +3 -0
- package/dist/integrations/js/files.d.ts.map +1 -0
- package/dist/integrations/js/files.js +19 -0
- package/dist/integrations/js/files.js.map +1 -0
- package/dist/integrations/js/index.d.ts +3 -0
- package/dist/integrations/js/index.d.ts.map +1 -0
- package/dist/integrations/js/index.js +25 -0
- package/dist/integrations/js/index.js.map +1 -0
- package/dist/integrations/js/manifest.d.ts +3 -0
- package/dist/integrations/js/manifest.d.ts.map +1 -0
- package/dist/integrations/js/manifest.js +19 -0
- package/dist/integrations/js/manifest.js.map +1 -0
- package/dist/integrations/js/patch.d.ts +4 -0
- package/dist/integrations/js/patch.d.ts.map +1 -0
- package/dist/integrations/js/patch.js +24 -0
- package/dist/integrations/js/patch.js.map +1 -0
- package/dist/integrations/js/uninstall.d.ts +4 -0
- package/dist/integrations/js/uninstall.d.ts.map +1 -0
- package/dist/integrations/js/uninstall.js +16 -0
- package/dist/integrations/js/uninstall.js.map +1 -0
- package/dist/integrations/nestjs.d.ts +2 -0
- package/dist/integrations/nestjs.d.ts.map +1 -0
- package/dist/integrations/nestjs.js +10 -0
- package/dist/integrations/nestjs.js.map +1 -0
- package/dist/integrations/next/detect.d.ts +3 -0
- package/dist/integrations/next/detect.d.ts.map +1 -0
- package/dist/integrations/next/detect.js +11 -0
- package/dist/integrations/next/detect.js.map +1 -0
- package/dist/integrations/next/doctor.d.ts +3 -0
- package/dist/integrations/next/doctor.d.ts.map +1 -0
- package/dist/integrations/next/doctor.js +46 -0
- package/dist/integrations/next/doctor.js.map +1 -0
- package/dist/integrations/next/files.d.ts +3 -0
- package/dist/integrations/next/files.d.ts.map +1 -0
- package/dist/integrations/next/files.js +19 -0
- package/dist/integrations/next/files.js.map +1 -0
- package/dist/integrations/next/index.d.ts +3 -0
- package/dist/integrations/next/index.d.ts.map +1 -0
- package/dist/integrations/next/index.js +44 -0
- package/dist/integrations/next/index.js.map +1 -0
- package/dist/integrations/next/manifest.d.ts +3 -0
- package/dist/integrations/next/manifest.d.ts.map +1 -0
- package/dist/integrations/next/manifest.js +29 -0
- package/dist/integrations/next/manifest.js.map +1 -0
- package/dist/integrations/next/patch.d.ts +4 -0
- package/dist/integrations/next/patch.d.ts.map +1 -0
- package/dist/integrations/next/patch.js +49 -0
- package/dist/integrations/next/patch.js.map +1 -0
- package/dist/integrations/next/uninstall.d.ts +4 -0
- package/dist/integrations/next/uninstall.d.ts.map +1 -0
- package/dist/integrations/next/uninstall.js +22 -0
- package/dist/integrations/next/uninstall.js.map +1 -0
- package/dist/integrations/otel.d.ts +2 -0
- package/dist/integrations/otel.d.ts.map +1 -0
- package/dist/integrations/otel.js +10 -0
- package/dist/integrations/otel.js.map +1 -0
- package/dist/integrations/php.d.ts +2 -0
- package/dist/integrations/php.d.ts.map +1 -0
- package/dist/integrations/php.js +9 -0
- package/dist/integrations/php.js.map +1 -0
- package/dist/integrations/python.d.ts +2 -0
- package/dist/integrations/python.d.ts.map +1 -0
- package/dist/integrations/python.js +9 -0
- package/dist/integrations/python.js.map +1 -0
- package/dist/integrations/react/detect.d.ts +3 -0
- package/dist/integrations/react/detect.d.ts.map +1 -0
- package/dist/integrations/react/detect.js +11 -0
- package/dist/integrations/react/detect.js.map +1 -0
- package/dist/integrations/react/doctor.d.ts +3 -0
- package/dist/integrations/react/doctor.d.ts.map +1 -0
- package/dist/integrations/react/doctor.js +65 -0
- package/dist/integrations/react/doctor.js.map +1 -0
- package/dist/integrations/react/files.d.ts +4 -0
- package/dist/integrations/react/files.d.ts.map +1 -0
- package/dist/integrations/react/files.js +24 -0
- package/dist/integrations/react/files.js.map +1 -0
- package/dist/integrations/react/index.d.ts +17 -0
- package/dist/integrations/react/index.d.ts.map +1 -0
- package/dist/integrations/react/index.js +62 -0
- package/dist/integrations/react/index.js.map +1 -0
- package/dist/integrations/react/manifest.d.ts +3 -0
- package/dist/integrations/react/manifest.d.ts.map +1 -0
- package/dist/integrations/react/manifest.js +31 -0
- package/dist/integrations/react/manifest.js.map +1 -0
- package/dist/integrations/react/patch.d.ts +4 -0
- package/dist/integrations/react/patch.d.ts.map +1 -0
- package/dist/integrations/react/patch.js +39 -0
- package/dist/integrations/react/patch.js.map +1 -0
- package/dist/integrations/react/uninstall.d.ts +4 -0
- package/dist/integrations/react/uninstall.d.ts.map +1 -0
- package/dist/integrations/react/uninstall.js +21 -0
- package/dist/integrations/react/uninstall.js.map +1 -0
- package/dist/integrations/react-native.d.ts +10 -0
- package/dist/integrations/react-native.d.ts.map +1 -0
- package/dist/integrations/react-native.js +57 -0
- package/dist/integrations/react-native.js.map +1 -0
- package/dist/integrations/ruby.d.ts +2 -0
- package/dist/integrations/ruby.d.ts.map +1 -0
- package/dist/integrations/ruby.js +9 -0
- package/dist/integrations/ruby.js.map +1 -0
- package/dist/lifecycle/hooks.d.ts +42 -0
- package/dist/lifecycle/hooks.d.ts.map +1 -0
- package/dist/lifecycle/hooks.js +43 -0
- package/dist/lifecycle/hooks.js.map +1 -0
- package/dist/migrations/builtin/dsn-to-api-key.d.ts +3 -0
- package/dist/migrations/builtin/dsn-to-api-key.d.ts.map +1 -0
- package/dist/migrations/builtin/dsn-to-api-key.js +59 -0
- package/dist/migrations/builtin/dsn-to-api-key.js.map +1 -0
- package/dist/migrations/engine.d.ts +52 -0
- package/dist/migrations/engine.d.ts.map +1 -0
- package/dist/migrations/engine.js +46 -0
- package/dist/migrations/engine.js.map +1 -0
- package/dist/migrations/index.d.ts +3 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +11 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/output/human.d.ts +20 -0
- package/dist/output/human.d.ts.map +1 -0
- package/dist/output/human.js +77 -0
- package/dist/output/human.js.map +1 -0
- package/dist/output/index.d.ts +6 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +8 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/json.d.ts +20 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +60 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/types.d.ts +36 -0
- package/dist/output/types.d.ts.map +1 -0
- package/dist/output/types.js +2 -0
- package/dist/output/types.js.map +1 -0
- package/dist/patchers/env-file.d.ts +21 -0
- package/dist/patchers/env-file.d.ts.map +1 -0
- package/dist/patchers/env-file.js +77 -0
- package/dist/patchers/env-file.js.map +1 -0
- package/dist/patchers/js-ast.d.ts +29 -0
- package/dist/patchers/js-ast.d.ts.map +1 -0
- package/dist/patchers/js-ast.js +71 -0
- package/dist/patchers/js-ast.js.map +1 -0
- package/dist/patchers/json-file.d.ts +19 -0
- package/dist/patchers/json-file.d.ts.map +1 -0
- package/dist/patchers/json-file.js +41 -0
- package/dist/patchers/json-file.js.map +1 -0
- package/dist/patchers/markers.d.ts +28 -0
- package/dist/patchers/markers.d.ts.map +1 -0
- package/dist/patchers/markers.js +49 -0
- package/dist/patchers/markers.js.map +1 -0
- package/dist/patchers/source-block.d.ts +24 -0
- package/dist/patchers/source-block.d.ts.map +1 -0
- package/dist/patchers/source-block.js +40 -0
- package/dist/patchers/source-block.js.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +42 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/manifest.d.ts +78 -0
- package/dist/registry/manifest.d.ts.map +1 -0
- package/dist/registry/manifest.js +2 -0
- package/dist/registry/manifest.js.map +1 -0
- package/dist/registry/registry.d.ts +14 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +29 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/registry/types.d.ts +78 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +2 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/snapshot/restore.d.ts +41 -0
- package/dist/snapshot/restore.d.ts.map +1 -0
- package/dist/snapshot/restore.js +110 -0
- package/dist/snapshot/restore.js.map +1 -0
- package/dist/snapshot/store.d.ts +105 -0
- package/dist/snapshot/store.d.ts.map +1 -0
- package/dist/snapshot/store.js +162 -0
- package/dist/snapshot/store.js.map +1 -0
- package/dist/sourcemaps/index.d.ts +3 -0
- package/dist/sourcemaps/index.d.ts.map +1 -0
- package/dist/sourcemaps/index.js +17 -0
- package/dist/sourcemaps/index.js.map +1 -0
- package/dist/sourcemaps/metro.d.ts +11 -0
- package/dist/sourcemaps/metro.d.ts.map +1 -0
- package/dist/sourcemaps/metro.js +31 -0
- package/dist/sourcemaps/metro.js.map +1 -0
- package/dist/sourcemaps/next.d.ts +3 -0
- package/dist/sourcemaps/next.d.ts.map +1 -0
- package/dist/sourcemaps/next.js +46 -0
- package/dist/sourcemaps/next.js.map +1 -0
- package/dist/sourcemaps/provider.d.ts +51 -0
- package/dist/sourcemaps/provider.d.ts.map +1 -0
- package/dist/sourcemaps/provider.js +29 -0
- package/dist/sourcemaps/provider.js.map +1 -0
- package/dist/sourcemaps/vite.d.ts +3 -0
- package/dist/sourcemaps/vite.d.ts.map +1 -0
- package/dist/sourcemaps/vite.js +60 -0
- package/dist/sourcemaps/vite.js.map +1 -0
- package/dist/sourcemaps/webpack.d.ts +8 -0
- package/dist/sourcemaps/webpack.d.ts.map +1 -0
- package/dist/sourcemaps/webpack.js +52 -0
- package/dist/sourcemaps/webpack.js.map +1 -0
- package/dist/telemetry/cli-wrap.d.ts +22 -0
- package/dist/telemetry/cli-wrap.d.ts.map +1 -0
- package/dist/telemetry/cli-wrap.js +53 -0
- package/dist/telemetry/cli-wrap.js.map +1 -0
- package/dist/telemetry/http-provider.d.ts +28 -0
- package/dist/telemetry/http-provider.d.ts.map +1 -0
- package/dist/telemetry/http-provider.js +24 -0
- package/dist/telemetry/http-provider.js.map +1 -0
- package/dist/telemetry/index.d.ts +7 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +6 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/install-id.d.ts +3 -0
- package/dist/telemetry/install-id.d.ts.map +1 -0
- package/dist/telemetry/install-id.js +46 -0
- package/dist/telemetry/install-id.js.map +1 -0
- package/dist/telemetry/payload.d.ts +82 -0
- package/dist/telemetry/payload.d.ts.map +1 -0
- package/dist/telemetry/payload.js +82 -0
- package/dist/telemetry/payload.js.map +1 -0
- package/dist/telemetry/provider.d.ts +32 -0
- package/dist/telemetry/provider.d.ts.map +1 -0
- package/dist/telemetry/provider.js +30 -0
- package/dist/telemetry/provider.js.map +1 -0
- package/dist/telemetry/runtime.d.ts +29 -0
- package/dist/telemetry/runtime.d.ts.map +1 -0
- package/dist/telemetry/runtime.js +44 -0
- package/dist/telemetry/runtime.js.map +1 -0
- package/dist/transaction/tx.d.ts +58 -0
- package/dist/transaction/tx.d.ts.map +1 -0
- package/dist/transaction/tx.js +170 -0
- package/dist/transaction/tx.js.map +1 -0
- package/dist/util/error-codes.d.ts +29 -0
- package/dist/util/error-codes.d.ts.map +1 -0
- package/dist/util/error-codes.js +192 -0
- package/dist/util/error-codes.js.map +1 -0
- package/dist/util/errors.d.ts +83 -0
- package/dist/util/errors.d.ts.map +1 -0
- package/dist/util/errors.js +110 -0
- package/dist/util/errors.js.map +1 -0
- package/dist/util/log.d.ts +11 -0
- package/dist/util/log.d.ts.map +1 -0
- package/dist/util/log.js +18 -0
- package/dist/util/log.js.map +1 -0
- package/dist/util/paths.d.ts +3 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +31 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/version.d.ts +15 -0
- package/dist/util/version.d.ts.map +1 -0
- package/dist/util/version.js +40 -0
- package/dist/util/version.js.map +1 -0
- package/dist/util/wizard-version.d.ts +6 -0
- package/dist/util/wizard-version.d.ts.map +1 -0
- package/dist/util/wizard-version.js +6 -0
- package/dist/util/wizard-version.js.map +1 -0
- package/docs/architecture/README.md +58 -0
- package/docs/architecture/dry-run.md +34 -0
- package/docs/architecture/integration-lifecycle.md +77 -0
- package/docs/architecture/patch-pipeline.md +58 -0
- package/docs/architecture/registry.md +52 -0
- package/docs/architecture/rollback.md +47 -0
- package/docs/architecture/sourcemaps.md +53 -0
- package/docs/architecture/stability-levels.md +35 -0
- package/docs/architecture/transaction.md +51 -0
- package/docs/architecture/v02-bare-react-native-spec.md +92 -0
- package/docs/architecture/v02-java-host-fix-spec.md +125 -0
- package/docs/architecture/v02-sourcemaps-e2e-spec.md +157 -0
- package/package.json +98 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# v0.2 spec — Bare React Native integration
|
|
2
|
+
|
|
3
|
+
**Status:** UNSUPPORTED in v0.1.x — wizard refuses with `UnsupportedFrameworkError`.
|
|
4
|
+
|
|
5
|
+
This spec is what v0.2 must implement before `react-native` flips from `unsupported` to `experimental` (and eventually `beta`).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Why bare RN is hard
|
|
10
|
+
|
|
11
|
+
Bare RN integration is the only wizard target that touches **three** ecosystems at once:
|
|
12
|
+
|
|
13
|
+
1. JavaScript / TypeScript source (entry file wrap).
|
|
14
|
+
2. **iOS native** — Podfile + AppDelegate.swift modifications, CocoaPods install.
|
|
15
|
+
3. **Android native** — settings.gradle + app/build.gradle, Gradle plugin classpath, AndroidManifest.
|
|
16
|
+
|
|
17
|
+
Any one of these going wrong bricks `xcodebuild` or `./gradlew assembleDebug`. Wizard cannot validate that without running real device builds, which the v0.1.x test infrastructure does not have.
|
|
18
|
+
|
|
19
|
+
Expo (config-plugin path) is a strict subset of this surface and is already partially scaffolded (`stability: experimental`).
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Validation matrix v0.2 must pass
|
|
24
|
+
|
|
25
|
+
Before flipping `stability` from `unsupported`:
|
|
26
|
+
|
|
27
|
+
| Path | Validation |
|
|
28
|
+
|------|------------|
|
|
29
|
+
| Patch idempotency | `init` → `init` produces byte-identical project (already a wizard invariant; just needs a fixture to assert against). |
|
|
30
|
+
| iOS sim build | `npx react-native run-ios` succeeds on iOS 16/17/18 simulators against a fresh fixture; AllStak crash hook captured a synthetic crash. |
|
|
31
|
+
| Android emu build | `npx react-native run-android` succeeds against API 31/33/34 emulators. |
|
|
32
|
+
| Hermes source-map round-trip | A symbolicated stack frame from a bundled-and-uploaded JS file resolves on the dashboard. |
|
|
33
|
+
| Uninstall | After `init` then `uninstall`, both `xcodebuild` and `gradlew assembleDebug` still pass; no dangling Pod or Gradle entries. |
|
|
34
|
+
| Repair | After hand-deleting our managed Podfile region, `repair` reinstates it without touching any other Podfile content. |
|
|
35
|
+
| New Architecture (Fabric / TurboModules) | If the project enables `newArchEnabled=true`, the integration must not regress build. |
|
|
36
|
+
|
|
37
|
+
The v0.1.x repo already supports Fixture-based testing in `fixtures/`. v0.2 needs a `fixtures/react-native-bare/` (and matching `react-native-expo/`) plus a CI runner that has Xcode + Android emulator access.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Files the integration patches
|
|
42
|
+
|
|
43
|
+
### iOS
|
|
44
|
+
|
|
45
|
+
- `ios/Podfile` — append (inside the project's main target):
|
|
46
|
+
```ruby
|
|
47
|
+
pod 'AllStakRN', :path => '../node_modules/@allstak/react-native'
|
|
48
|
+
```
|
|
49
|
+
- `ios/<App>/AppDelegate.{m,mm,swift}` — call `[AllStak start]` from `application:didFinishLaunchingWithOptions:`.
|
|
50
|
+
- Wizard MUST detect Obj-C vs Swift AppDelegate and choose the right insertion.
|
|
51
|
+
- All insertions wrapped in markers (`// >>> allstak-wizard:v1 ...`).
|
|
52
|
+
|
|
53
|
+
### Android
|
|
54
|
+
|
|
55
|
+
- `android/settings.gradle` — append `include ':allstak-react-native'` and the matching `project(...)` line.
|
|
56
|
+
- `android/app/build.gradle` — `dependencies { implementation project(':allstak-react-native') }`.
|
|
57
|
+
- `android/app/src/main/java/.../MainApplication.{java,kt}` — register the package in `getPackages()`.
|
|
58
|
+
- Wizard MUST read `org.gradle.jvmargs` to detect Hermes and conditionally wire the source-map post-build hook from `allstak-react-native/build-hooks/allstak-sourcemaps.gradle`.
|
|
59
|
+
|
|
60
|
+
### JavaScript
|
|
61
|
+
|
|
62
|
+
- `index.js` / `App.tsx` — wrap root component in `<AllStakProvider>` (same pattern as `react`).
|
|
63
|
+
- `metro.config.js` — extend `transformer.hermesParser` only when needed; default leave alone.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Open questions for v0.2 design
|
|
68
|
+
|
|
69
|
+
1. **Does `pod install` run inside the wizard's transaction?** Recommendation: NO. Pod install mutates `Podfile.lock` and the `Pods/` tree atomically; rolling that back is not feasible. The wizard should print "Pods updated; run `pod install` once more if you see linker errors" and let the user own that step.
|
|
70
|
+
2. **Does the integration block on a connected emulator?** Recommendation: NO. The wizard is offline-first; users can run `react-native run-ios` themselves. Integration tests in CI gate on emulator presence.
|
|
71
|
+
3. **Expo bare workflow** (post-`expo prebuild`) — is this `expo` integration (config-plugin path) or `react-native` (bare path)? Recommendation: detect `npx expo prebuild` evidence (presence of `ios/` AND a `app.json` with `expo` key) and offer the user a choice.
|
|
72
|
+
4. **Old Architecture vs New Architecture** — wizard reads `android/gradle.properties:newArchEnabled`. If true, the integration must include the Fabric component registration (a more involved Gradle change). v0.2 might gate this behind `--experimental` even after the rest of bare RN is `beta`.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Wizard-side plumbing already in place
|
|
77
|
+
|
|
78
|
+
These already exist and don't need re-work:
|
|
79
|
+
|
|
80
|
+
- The `react-native` integration object refuses cleanly with a clear `UnsupportedFrameworkError` and pointer to manual docs.
|
|
81
|
+
- The `IntegrationManifest` has `wire-native-ios` / `wire-native-android` capabilities to declare in v0.2.
|
|
82
|
+
- `Transaction` + `SnapshotStore` already handle the JS-side patches transactionally.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Recommended ticket breakdown
|
|
87
|
+
|
|
88
|
+
1. **RN-1** Add `fixtures/react-native-bare/` with a minimal RN 0.74 + 0.75 + 0.76 project. CI runner with Xcode + Android emu (use macOS GitHub-hosted runner for iOS, Ubuntu + Android emulator for Android).
|
|
89
|
+
2. **RN-2** Implement `src/integrations/react-native-bare/` (renamed from current placeholder) with `manifest`/`detect`/`patch`/`uninstall`/`doctor`. Reuse `_shared.ts` and `_scaffold.ts`.
|
|
90
|
+
3. **RN-3** Native patchers: `src/patchers/podfile.ts`, `src/patchers/gradle.ts`, `src/patchers/appdelegate.ts`. Each writes through `Transaction` with a parser-based syntax check.
|
|
91
|
+
4. **RN-4** End-to-end `pod install` + `gradle assembleDebug` smoke in CI gated to RN-2.
|
|
92
|
+
5. **RN-5** Hermes source-map upload roundtrip — depends on the source-maps E2E spec landing first.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# v0.2 spec — Java SDK host configurability
|
|
2
|
+
|
|
3
|
+
**Status:** PROPOSED. No code in `allstak-java-sdk` has been modified by this wizard release.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Problem
|
|
8
|
+
|
|
9
|
+
The wizard's `--host` / `--ingest-host` / `--dashboard-host` flags allow users
|
|
10
|
+
to point the wizard at a self-hosted AllStak deployment. For most SDKs this
|
|
11
|
+
flows through to a runtime `host` field on `init()` config.
|
|
12
|
+
|
|
13
|
+
For `sa.allstak:allstak-spring-boot-starter` and `sa.allstak:allstak-java-core`,
|
|
14
|
+
the host is **hardcoded** to `https://api.allstak.sa` in the SDK source.
|
|
15
|
+
Wizard's `--host` is silently a no-op for Java users — events go to the wrong
|
|
16
|
+
backend without any error.
|
|
17
|
+
|
|
18
|
+
Per the v0.1 implementation report (2026-05-07): "filed below as a v0.2
|
|
19
|
+
SDK-side blocker."
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Required SDK-side change
|
|
24
|
+
|
|
25
|
+
Reference the AllStak SDK workspace at:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
/Volumes/M.2/MyProjects/AllStak-Projects/sdks/allstak-java-sdk
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The change is small but needs to land in the SDK before the wizard's `java`
|
|
32
|
+
integration can graduate from `experimental`:
|
|
33
|
+
|
|
34
|
+
### 1. Add a `host` field to `AllStakConfig`
|
|
35
|
+
|
|
36
|
+
```java
|
|
37
|
+
public class AllStakConfig {
|
|
38
|
+
private String apiKey;
|
|
39
|
+
private String environment;
|
|
40
|
+
private String release;
|
|
41
|
+
private String serviceName;
|
|
42
|
+
private String host; // NEW — defaults to "https://api.allstak.sa"
|
|
43
|
+
// …existing fields…
|
|
44
|
+
|
|
45
|
+
// Builder method:
|
|
46
|
+
public Builder host(String host) { this.host = host; return this; }
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Read `ALLSTAK_HOST` env var in the auto-config
|
|
51
|
+
|
|
52
|
+
```java
|
|
53
|
+
@ConfigurationProperties(prefix = "allstak")
|
|
54
|
+
public class AllStakProperties {
|
|
55
|
+
// existing fields…
|
|
56
|
+
private String host = System.getenv().getOrDefault("ALLSTAK_HOST", "https://api.allstak.sa");
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 3. Spring Boot `application.yml` exposure
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
allstak:
|
|
64
|
+
api-key: ${ALLSTAK_API_KEY}
|
|
65
|
+
host: ${ALLSTAK_HOST:https://api.allstak.sa} # NEW
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 4. Pass `host` through to the HTTP transport
|
|
69
|
+
|
|
70
|
+
The transport class (likely `AllStakHttpClient` or similar) currently has a
|
|
71
|
+
hardcoded base URL. Replace with `config.getHost()`.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Compatibility implications
|
|
76
|
+
|
|
77
|
+
- **Backwards compatible:** existing users who pass nothing get the old
|
|
78
|
+
default. No breaking change to the public API.
|
|
79
|
+
- **Bumps the minor version** — first SDK release with the field should be
|
|
80
|
+
`0.2.0` (not `0.1.x`) per semver.
|
|
81
|
+
- **Wizard manifest update:** once shipped, edit
|
|
82
|
+
`src/integrations/java.ts` and the manifest's `compatibility` to require
|
|
83
|
+
the new minimum version: `{ name: 'sa.allstak:allstak-java-core',
|
|
84
|
+
minVersion: '0.2', maxMajorExclusive: null, required: true }`.
|
|
85
|
+
- **Wizard's `java` integration warning** can be removed from
|
|
86
|
+
`manifest.stabilityNote` once v0.2.0 of the SDK is the minimum.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Wizard-side validation v0.2 must add
|
|
91
|
+
|
|
92
|
+
After the SDK ships:
|
|
93
|
+
|
|
94
|
+
1. Update `src/integrations/java.ts` to actually patch `pom.xml` /
|
|
95
|
+
`build.gradle` (currently the integration is `experimental` and only
|
|
96
|
+
writes env vars).
|
|
97
|
+
2. Add `fixtures/spring-boot/` with a minimal Spring Boot 3.x project
|
|
98
|
+
(`./mvnw test` runs in CI).
|
|
99
|
+
3. Doctor stage `event-ingest` should be runnable against a Java-emitted
|
|
100
|
+
event (the existing doctor probe is a generic event so this Just Works
|
|
101
|
+
once the SDK respects `--host`).
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Why the wizard does NOT change this from this side
|
|
106
|
+
|
|
107
|
+
- CLAUDE.md's monorepo policy: "Do not modify unrelated SDKs unless required."
|
|
108
|
+
- Even with permission, modifying a Java SDK from a TypeScript wizard
|
|
109
|
+
session has no path to validate the change (no `mvn` in the wizard's CI
|
|
110
|
+
matrix).
|
|
111
|
+
- The change is small enough (~20 LoC) that it belongs in a focused PR
|
|
112
|
+
against `allstak-java-sdk` rather than being smuggled in through wizard
|
|
113
|
+
work.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Action items for whoever picks this up
|
|
118
|
+
|
|
119
|
+
1. Open a ticket against `allstak-java-sdk` referencing this spec.
|
|
120
|
+
2. Implement the `host` field + env-var lookup in the SDK.
|
|
121
|
+
3. Bump SDK to `0.2.0` and publish to Maven Central.
|
|
122
|
+
4. Update `src/integrations/java.ts` manifest to require `0.2+`.
|
|
123
|
+
5. Remove the warning blurb from the manifest's `stabilityNote`.
|
|
124
|
+
6. Move the integration's `stability` from `experimental` toward `beta`
|
|
125
|
+
once Spring Boot fixture validation lands.
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# v0.2 spec — Source-maps end-to-end roundtrip
|
|
2
|
+
|
|
3
|
+
**Status:** Wizard wires bundler plugins via `SourceMapProvider` (v0.1.1) but
|
|
4
|
+
does NOT yet validate the upload → release-binding → symbolication chain
|
|
5
|
+
against the live backend. This spec documents what v0.2 must add.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What works today (v0.1.x)
|
|
10
|
+
|
|
11
|
+
- `vite` provider: AST-injects `import { allstakVitePlugin } from '@allstak/js/vite'` and adds a managed-block hint.
|
|
12
|
+
- `next` provider: managed-block hint pointing the user at `withAllStak`.
|
|
13
|
+
- `webpack` provider: managed-block hint only.
|
|
14
|
+
- `metro` provider: intentionally inert; `detect()` returns false.
|
|
15
|
+
- `doctor` reports per-provider `wired` / `drifted` / `missing` state.
|
|
16
|
+
|
|
17
|
+
What this gives us: the bundler is correctly configured to produce + upload
|
|
18
|
+
source maps. What it does NOT verify: that uploaded maps actually resolve
|
|
19
|
+
stack frames in the dashboard.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Backend contract (verified 2026-05-07)
|
|
24
|
+
|
|
25
|
+
Endpoint:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
POST /api/v1/sourcemaps/upload?projectId=:id&release=:version&fileName=:path&bundleUrl=:url
|
|
29
|
+
Content-Type: application/json
|
|
30
|
+
Authorization: Bearer <user JWT>
|
|
31
|
+
|
|
32
|
+
Body: raw .map JSON content (size limit 16 MB)
|
|
33
|
+
|
|
34
|
+
Response: 200 OK
|
|
35
|
+
{
|
|
36
|
+
"id": "uuid",
|
|
37
|
+
"release": "1.2.3",
|
|
38
|
+
"fileName": "assets/main-abc123.js.map",
|
|
39
|
+
"sizeBytes": 12345,
|
|
40
|
+
"uploadedAt": "2026-05-07T..."
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Server-side resolution: the dashboard's error detail view symbolicates frames
|
|
45
|
+
on read by looking up `(projectId, release, fileName)`. Maps are stored
|
|
46
|
+
indefinitely (no TTL).
|
|
47
|
+
|
|
48
|
+
Symbolication endpoint (used by error-detail UI; we can use it to verify):
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
POST /api/v1/sourcemaps/symbolicate
|
|
52
|
+
Body: { projectId, release, frames: [stackString] }
|
|
53
|
+
Response: { release, totalFrames, resolvedFrames, frames: [{ raw, resolved }] }
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Validation matrix v0.2 must pass
|
|
59
|
+
|
|
60
|
+
| # | Check | Pass condition |
|
|
61
|
+
|---|-------|----------------|
|
|
62
|
+
| 1 | Upload happens during `npm run build` | Per-bundler post-build hook actually POSTs `.map` files. |
|
|
63
|
+
| 2 | Release binding | Uploaded maps are queryable by `(projectId, release)`. |
|
|
64
|
+
| 3 | Round-trip resolution | Send a synthetic event with a stack frame referencing the uploaded bundle → symbolicate endpoint resolves it to the original source line. |
|
|
65
|
+
| 4 | Idempotent upload | Re-running build with same `(release, fileName)` is a no-op or a clean overwrite — never a duplicate. |
|
|
66
|
+
| 5 | Auth scope | Upload requires JWT (not API key). Wizard's `requireUserCredentials` already handles this. |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## What v0.2 needs to build
|
|
71
|
+
|
|
72
|
+
### A. A real upload runner
|
|
73
|
+
|
|
74
|
+
`src/sourcemaps/upload.ts`:
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
export async function uploadSourceMap(
|
|
78
|
+
apiHost: string,
|
|
79
|
+
accessToken: string,
|
|
80
|
+
params: {
|
|
81
|
+
projectId: string;
|
|
82
|
+
release: string;
|
|
83
|
+
fileName: string; // e.g. "assets/main-abc123.js"
|
|
84
|
+
bundleUrl?: string; // public URL of the bundle (helps dashboard match)
|
|
85
|
+
mapContent: string; // raw JSON from .map
|
|
86
|
+
},
|
|
87
|
+
): Promise<{ id: string }> {
|
|
88
|
+
// Use apiRequest from src/api/http.ts with body=mapContent and contentType='application/json'.
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This already has a slot in `src/api/http.ts` (the `contentType` override
|
|
93
|
+
parameter exists for exactly this case).
|
|
94
|
+
|
|
95
|
+
### B. A `wizard sourcemaps upload` CLI subcommand
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
allstak sourcemaps upload \
|
|
99
|
+
--project-id <uuid> \
|
|
100
|
+
--release "$GIT_SHA" \
|
|
101
|
+
--build-dir dist \
|
|
102
|
+
--pattern "**/*.js.map"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Walks `build-dir`, POSTs each `.map` file, prints the upload manifest. Reuses
|
|
106
|
+
`getCredentialStore()` + `requireUserCredentials()`.
|
|
107
|
+
|
|
108
|
+
### C. End-to-end doctor stage
|
|
109
|
+
|
|
110
|
+
Extend `runDoctor` with a new stage `source-maps-e2e` that runs only with
|
|
111
|
+
`--live-probe`:
|
|
112
|
+
|
|
113
|
+
1. Build a tiny known fixture into a temp dir.
|
|
114
|
+
2. Upload its `.map`.
|
|
115
|
+
3. Send a probe event whose stack frame points at the uploaded bundle.
|
|
116
|
+
4. Hit `/api/v1/sourcemaps/symbolicate` and assert `resolvedFrames > 0`.
|
|
117
|
+
|
|
118
|
+
### D. CI matrix entry
|
|
119
|
+
|
|
120
|
+
Add a `source-maps-e2e` job to the wizard's CI workflow gated on a
|
|
121
|
+
repository secret (`ALLSTAK_E2E_API_KEY` + `ALLSTAK_E2E_PROJECT_ID`).
|
|
122
|
+
Without those secrets the job skips.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Risks
|
|
127
|
+
|
|
128
|
+
1. **`.map` files can be huge** (50MB+ for production bundles). Backend
|
|
129
|
+
currently caps at 16MB. v0.2 should either:
|
|
130
|
+
- Detect maps larger than the cap and skip with a warning, OR
|
|
131
|
+
- Negotiate a larger cap with the backend team.
|
|
132
|
+
2. **`bundleUrl` parameter is optional but improves resolution accuracy.**
|
|
133
|
+
The wizard should compute it from the project's deploy target where
|
|
134
|
+
possible (Vercel? Netlify? Cloudflare Pages? — heuristics).
|
|
135
|
+
3. **Hermes maps require a different upload format.** Bytecode → JS source
|
|
136
|
+
resolution is a separate symbolication pipeline; the v0.1 wizard does NOT
|
|
137
|
+
support this. Document explicitly when implementing.
|
|
138
|
+
4. **Token rotation during long uploads.** The user JWT has a 15-minute TTL.
|
|
139
|
+
If uploading 100 `.map` files takes >15 minutes, the wizard must
|
|
140
|
+
`refreshTokens()` mid-upload. The credential store + auth client already
|
|
141
|
+
support this; just needs a wrapper.
|
|
142
|
+
5. **Idempotency**: backend probably accepts the same `(release, fileName)`
|
|
143
|
+
twice and overwrites. Verify before relying on this.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Why this is deferred
|
|
148
|
+
|
|
149
|
+
End-to-end validation requires:
|
|
150
|
+
- A live AllStak instance (production or staging).
|
|
151
|
+
- A real org + project the engineer can write to.
|
|
152
|
+
- Credentials with both ingest scope AND user scope.
|
|
153
|
+
- The ability to assert dashboard-side symbolication output.
|
|
154
|
+
|
|
155
|
+
None of these are available in the v0.1.x wizard test environment. The
|
|
156
|
+
provider abstraction landed in v0.1.1 specifically so this work can plug in
|
|
157
|
+
without rewriting integrations.
|
package/package.json
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@allstak/wizard",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Unified installation and configuration wizard for AllStak SDKs.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"allstak-wizard": "./dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./registry": {
|
|
17
|
+
"types": "./dist/registry/index.d.ts",
|
|
18
|
+
"import": "./dist/registry/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./detect": {
|
|
21
|
+
"types": "./dist/detect/index.d.ts",
|
|
22
|
+
"import": "./dist/detect/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./sourcemaps": {
|
|
25
|
+
"types": "./dist/sourcemaps/index.d.ts",
|
|
26
|
+
"import": "./dist/sourcemaps/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./migrations": {
|
|
29
|
+
"types": "./dist/migrations/index.d.ts",
|
|
30
|
+
"import": "./dist/migrations/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./output": {
|
|
33
|
+
"types": "./dist/output/index.d.ts",
|
|
34
|
+
"import": "./dist/output/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./telemetry": {
|
|
37
|
+
"types": "./dist/telemetry/provider.d.ts",
|
|
38
|
+
"import": "./dist/telemetry/provider.js"
|
|
39
|
+
},
|
|
40
|
+
"./snapshot": {
|
|
41
|
+
"types": "./dist/snapshot/store.d.ts",
|
|
42
|
+
"import": "./dist/snapshot/store.js"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist",
|
|
47
|
+
"README.md",
|
|
48
|
+
"LICENSE",
|
|
49
|
+
"CHANGELOG.md",
|
|
50
|
+
"docs/architecture"
|
|
51
|
+
],
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=18"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "tsc -p tsconfig.json",
|
|
57
|
+
"type-check": "tsc -p tsconfig.json --noEmit",
|
|
58
|
+
"test": "node --test --test-concurrency=1 --import tsx test/markers.test.mts test/transaction.test.mts test/patchers.test.mts test/detect.test.mts test/integration-react.test.mts test/integration-next.test.mts test/integration-js.test.mts test/snapshot.test.mts test/compat.test.mts test/lifecycle.test.mts test/sourcemaps.test.mts test/migrations.test.mts test/output.test.mts test/config.test.mts test/credentials.test.mts test/restore.test.mts test/error-codes.test.mts test/telemetry.test.mts test/config-migrations.test.mts",
|
|
59
|
+
"test:integration": "node --test --test-concurrency=1 --import tsx test/integration-*.test.mts",
|
|
60
|
+
"wizard": "tsx src/cli.ts",
|
|
61
|
+
"prepublishOnly": "npm run type-check && npm run test && npm run build"
|
|
62
|
+
},
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"@clack/prompts": "^0.7.0",
|
|
65
|
+
"commander": "^12.1.0",
|
|
66
|
+
"magicast": "^0.3.5",
|
|
67
|
+
"picocolors": "^1.0.1"
|
|
68
|
+
},
|
|
69
|
+
"devDependencies": {
|
|
70
|
+
"@types/node": "^20.12.0",
|
|
71
|
+
"tsx": "^4.19.0",
|
|
72
|
+
"typescript": "^5.4.0"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public",
|
|
76
|
+
"registry": "https://registry.npmjs.org/"
|
|
77
|
+
},
|
|
78
|
+
"keywords": [
|
|
79
|
+
"allstak",
|
|
80
|
+
"wizard",
|
|
81
|
+
"cli",
|
|
82
|
+
"sdk-install",
|
|
83
|
+
"observability",
|
|
84
|
+
"react",
|
|
85
|
+
"nextjs"
|
|
86
|
+
],
|
|
87
|
+
"license": "Apache-2.0",
|
|
88
|
+
"repository": {
|
|
89
|
+
"type": "git",
|
|
90
|
+
"url": "https://github.com/allstak-io/sdks.git",
|
|
91
|
+
"directory": "allstak-wizard"
|
|
92
|
+
},
|
|
93
|
+
"homepage": "https://github.com/allstak-io/sdks/tree/main/allstak-wizard",
|
|
94
|
+
"bugs": {
|
|
95
|
+
"url": "https://github.com/allstak-io/sdks/issues"
|
|
96
|
+
},
|
|
97
|
+
"private": false
|
|
98
|
+
}
|