akanjs 2.0.7 → 2.1.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/README.ko.md +4 -4
- package/README.md +4 -4
- package/client/router.ts +10 -3
- package/document/documentSchema.ts +9 -1
- package/index.ts +187 -0
- package/package.json +6 -50
- package/server/akanApp.ts +2 -24
- package/server/akanAppHeaders.ts +30 -0
- package/server/di/predefinedAdaptor.ts +1 -1
- package/types/dictionary/base.dictionary.d.ts +1 -1
- package/types/dictionary/dictionary.d.ts +8 -8
- package/types/document/documentSchema.d.ts +33 -0
- package/types/document/index.d.ts +1 -1
- package/types/document/schema.d.ts +1 -1
- package/types/document/types.d.ts +1 -1
- package/types/{devkit/akanConfig/types.d.ts → index.d.ts} +45 -54
- package/types/server/akanAppHeaders.d.ts +1 -0
- package/types/server/di/predefinedAdaptor.d.ts +1 -1
- package/types/store/baseSt.d.ts +2 -2
- package/ui/Link/SsrLink.tsx +2 -2
- package/webkit/useCodepush.tsx +1 -1
- package/cli/application/application.command.ts +0 -224
- package/cli/application/application.interface.tsx +0 -225
- package/cli/application/application.runner.ts +0 -355
- package/cli/application/application.script.ts +0 -244
- package/cli/build.ts +0 -27
- package/cli/cloud/cloud.command.ts +0 -48
- package/cli/cloud/cloud.runner.ts +0 -157
- package/cli/cloud/cloud.script.ts +0 -40
- package/cli/guideline/guideline.command.ts +0 -31
- package/cli/guideline/guideline.prompt.ts +0 -212
- package/cli/guideline/guideline.runner.ts +0 -53
- package/cli/guideline/guideline.script.ts +0 -33
- package/cli/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
- package/cli/guidelines/___library/utilUiStructureDescription.en.md +0 -395
- package/cli/guidelines/___lint/lintRuleDescription.en.md +0 -64
- package/cli/guidelines/___module/moduleStructureDescription.en.md +0 -80
- package/cli/guidelines/componentRule/componentRule.generate.json +0 -131
- package/cli/guidelines/componentRule/componentRule.instruction.md +0 -637
- package/cli/guidelines/cssRule/cssRule.generate.json +0 -93
- package/cli/guidelines/cssRule/cssRule.instruction.md +0 -435
- package/cli/guidelines/databaseModule/databaseModule.generate.json +0 -51
- package/cli/guidelines/databaseModule/databaseModule.instruction.md +0 -612
- package/cli/guidelines/docPageRule/docPageRule.generate.json +0 -72
- package/cli/guidelines/docPageRule/docPageRule.instruction.md +0 -389
- package/cli/guidelines/enumConstant/enumConstant.generate.json +0 -24
- package/cli/guidelines/enumConstant/enumConstant.instruction.md +0 -232
- package/cli/guidelines/framework/framework.generate.json +0 -119
- package/cli/guidelines/framework/framework.instruction.md +0 -1110
- package/cli/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
- package/cli/guidelines/modelConstant/modelConstant.generate.json +0 -128
- package/cli/guidelines/modelConstant/modelConstant.instruction.md +0 -506
- package/cli/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
- package/cli/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
- package/cli/guidelines/modelDocument/modelDocument.generate.json +0 -129
- package/cli/guidelines/modelDocument/modelDocument.instruction.md +0 -509
- package/cli/guidelines/modelService/modelService.generate.json +0 -135
- package/cli/guidelines/modelService/modelService.instruction.md +0 -708
- package/cli/guidelines/modelSignal/modelSignal.generate.json +0 -201
- package/cli/guidelines/modelSignal/modelSignal.instruction.md +0 -552
- package/cli/guidelines/modelStore/modelStore.generate.json +0 -130
- package/cli/guidelines/modelStore/modelStore.instruction.md +0 -585
- package/cli/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
- package/cli/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
- package/cli/guidelines/modelUnit/modelUnit.generate.json +0 -92
- package/cli/guidelines/modelUnit/modelUnit.instruction.md +0 -541
- package/cli/guidelines/modelUtil/modelUtil.generate.json +0 -93
- package/cli/guidelines/modelUtil/modelUtil.instruction.md +0 -752
- package/cli/guidelines/modelView/modelView.generate.json +0 -80
- package/cli/guidelines/modelView/modelView.instruction.md +0 -1005
- package/cli/guidelines/modelZone/modelZone.generate.json +0 -126
- package/cli/guidelines/modelZone/modelZone.instruction.md +0 -528
- package/cli/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
- package/cli/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
- package/cli/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
- package/cli/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
- package/cli/guidelines/scalarModule/scalarModule.generate.json +0 -35
- package/cli/guidelines/scalarModule/scalarModule.instruction.md +0 -81
- package/cli/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
- package/cli/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
- package/cli/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
- package/cli/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
- package/cli/index.js +0 -184444
- package/cli/index.ts +0 -24
- package/cli/library/library.command.ts +0 -28
- package/cli/library/library.runner.ts +0 -66
- package/cli/library/library.script.ts +0 -39
- package/cli/module/module.command.ts +0 -35
- package/cli/module/module.prompt.ts +0 -18
- package/cli/module/module.request.ts +0 -319
- package/cli/module/module.runner.ts +0 -76
- package/cli/module/module.script.ts +0 -161
- package/cli/npmRegistry.ts +0 -13
- package/cli/openBrowser.ts +0 -15
- package/cli/package/package.command.ts +0 -32
- package/cli/package/package.runner.ts +0 -94
- package/cli/package/package.script.ts +0 -35
- package/cli/page/page.command.ts +0 -14
- package/cli/page/page.runner.ts +0 -14
- package/cli/page/page.script.ts +0 -12
- package/cli/pluralizeName.ts +0 -5
- package/cli/scalar/scalar.command.ts +0 -21
- package/cli/scalar/scalar.prompt.ts +0 -131
- package/cli/scalar/scalar.runner.ts +0 -38
- package/cli/scalar/scalar.script.ts +0 -16
- package/cli/semver.ts +0 -18
- package/cli/templates/__scalar/__model__/__model__.constant.ts +0 -15
- package/cli/templates/__scalar/__model__/__model__.dictionary.ts +0 -19
- package/cli/templates/__scalar/__model__/__model__.document.ts +0 -15
- package/cli/templates/app/akan.config.ts +0 -14
- package/cli/templates/app/env/env.client.debug.ts.template +0 -7
- package/cli/templates/app/env/env.client.develop.ts.template +0 -7
- package/cli/templates/app/env/env.client.local.ts.template +0 -7
- package/cli/templates/app/env/env.client.main.ts.template +0 -7
- package/cli/templates/app/env/env.client.testing.ts.template +0 -7
- package/cli/templates/app/env/env.client.ts +0 -21
- package/cli/templates/app/env/env.client.type.ts +0 -16
- package/cli/templates/app/env/env.server.debug.ts.template +0 -7
- package/cli/templates/app/env/env.server.develop.ts.template +0 -7
- package/cli/templates/app/env/env.server.local.ts.template +0 -7
- package/cli/templates/app/env/env.server.main.ts.template +0 -7
- package/cli/templates/app/env/env.server.testing.ts.template +0 -6
- package/cli/templates/app/env/env.server.ts +0 -20
- package/cli/templates/app/lib/___appName__/__appName__.dictionary.ts +0 -17
- package/cli/templates/app/lib/___appName__/__appName__.service.ts +0 -13
- package/cli/templates/app/lib/___appName__/__appName__.signal.ts +0 -17
- package/cli/templates/app/lib/___appName__/__appName__.store.ts +0 -15
- package/cli/templates/app/lib/option.ts +0 -17
- package/cli/templates/app/main.ts +0 -16
- package/cli/templates/app/package.json.template +0 -5
- package/cli/templates/app/page/_index.tsx +0 -296
- package/cli/templates/app/page/_layout.tsx +0 -31
- package/cli/templates/app/page/styles.css.template +0 -53
- package/cli/templates/app/public/favicon.ico +0 -0
- package/cli/templates/app/public/logo.png +0 -0
- package/cli/templates/app/tsconfig.json.template +0 -21
- package/cli/templates/client.ts +0 -46
- package/cli/templates/crudPages/[__model__Id]/edit/page.tsx +0 -47
- package/cli/templates/crudPages/[__model__Id]/page.tsx +0 -52
- package/cli/templates/crudPages/new/page.tsx +0 -42
- package/cli/templates/crudPages/page.tsx +0 -43
- package/cli/templates/crudSinglePage/page.tsx +0 -37
- package/cli/templates/env/_env.server.type.ts +0 -16
- package/cli/templates/facetIndex/index.ts +0 -32
- package/cli/templates/index.ts +0 -10
- package/cli/templates/lib/__lib/lib.constant.ts +0 -38
- package/cli/templates/lib/__lib/lib.dictionary.ts +0 -33
- package/cli/templates/lib/__lib/lib.document.ts +0 -35
- package/cli/templates/lib/__lib/lib.service.ts +0 -33
- package/cli/templates/lib/__lib/lib.signal.ts +0 -34
- package/cli/templates/lib/__lib/lib.store.ts +0 -33
- package/cli/templates/lib/cnst.ts +0 -29
- package/cli/templates/lib/db.ts +0 -32
- package/cli/templates/lib/dict.ts +0 -49
- package/cli/templates/lib/sig.ts +0 -60
- package/cli/templates/lib/srv.ts +0 -34
- package/cli/templates/lib/st.ts +0 -31
- package/cli/templates/lib/useClient.ts +0 -19
- package/cli/templates/lib/useServer.ts +0 -7
- package/cli/templates/libRoot/.gitignore.template +0 -16
- package/cli/templates/libRoot/akan.config.ts +0 -12
- package/cli/templates/libRoot/base/baseLogic.ts +0 -10
- package/cli/templates/libRoot/base/index.ts +0 -8
- package/cli/templates/libRoot/common/commonLogic.ts +0 -10
- package/cli/templates/libRoot/common/index.ts +0 -8
- package/cli/templates/libRoot/env/env.server.example.ts.template +0 -6
- package/cli/templates/libRoot/env/env.server.testing.ts.template +0 -6
- package/cli/templates/libRoot/lib/___libName__/__libName__.dictionary.ts +0 -15
- package/cli/templates/libRoot/lib/___libName__/__libName__.service.ts +0 -11
- package/cli/templates/libRoot/lib/___libName__/__libName__.store.ts +0 -13
- package/cli/templates/libRoot/lib/option.ts +0 -17
- package/cli/templates/libRoot/package.json.template +0 -5
- package/cli/templates/libRoot/srvkit/backendLogic.ts +0 -10
- package/cli/templates/libRoot/srvkit/index.ts +0 -8
- package/cli/templates/libRoot/tsconfig.json.template +0 -11
- package/cli/templates/libRoot/ui/index.ts +0 -7
- package/cli/templates/libRoot/webkit/frontendLogic.ts +0 -10
- package/cli/templates/libRoot/webkit/index.ts +0 -8
- package/cli/templates/localDev/docker-compose.yaml.template +0 -37
- package/cli/templates/module/__Model__.Template.tsx +0 -36
- package/cli/templates/module/__Model__.Unit.tsx +0 -26
- package/cli/templates/module/__Model__.Util.tsx +0 -30
- package/cli/templates/module/__Model__.View.tsx +0 -29
- package/cli/templates/module/__Model__.Zone.tsx +0 -43
- package/cli/templates/module/__model__.constant.ts +0 -24
- package/cli/templates/module/__model__.dictionary.ts +0 -30
- package/cli/templates/module/__model__.document.ts +0 -23
- package/cli/templates/module/__model__.service.ts +0 -16
- package/cli/templates/module/__model__.signal.ts +0 -27
- package/cli/templates/module/__model__.store.ts +0 -19
- package/cli/templates/moduleRoot/index.tsx +0 -31
- package/cli/templates/pkgRoot/tsconfig.json.template +0 -10
- package/cli/templates/server.ts +0 -45
- package/cli/templates/workspaceRoot/.env.template +0 -14
- package/cli/templates/workspaceRoot/.gitignore.template +0 -120
- package/cli/templates/workspaceRoot/.vscode/settings.json.template +0 -23
- package/cli/templates/workspaceRoot/biome.json.template +0 -191
- package/cli/templates/workspaceRoot/bunfig.toml +0 -4
- package/cli/templates/workspaceRoot/package.json.template +0 -7
- package/cli/templates/workspaceRoot/tsconfig.json.template +0 -29
- package/cli/testHelpers.ts +0 -171
- package/cli/workspace/workspace.command.ts +0 -55
- package/cli/workspace/workspace.runner.ts +0 -79
- package/cli/workspace/workspace.script.ts +0 -74
- package/devkit/aiEditor.ts +0 -299
- package/devkit/akanApp/akanApp.host.ts +0 -393
- package/devkit/akanApp/index.ts +0 -1
- package/devkit/akanConfig/akanConfig.ts +0 -360
- package/devkit/akanConfig/index.ts +0 -2
- package/devkit/akanConfig/types.ts +0 -187
- package/devkit/applicationBuildReporter.ts +0 -69
- package/devkit/applicationBuildRunner.ts +0 -302
- package/devkit/applicationReleasePackager.ts +0 -205
- package/devkit/artifact/implicitRootLayout.ts +0 -155
- package/devkit/artifact/index.ts +0 -1
- package/devkit/artifact/routeSeedIndex.ts +0 -128
- package/devkit/auth.ts +0 -41
- package/devkit/builder.ts +0 -164
- package/devkit/capacitor.base.config.ts +0 -88
- package/devkit/capacitorApp.ts +0 -443
- package/devkit/commandDecorators/argMeta.ts +0 -102
- package/devkit/commandDecorators/command.ts +0 -340
- package/devkit/commandDecorators/commandBuilder.ts +0 -224
- package/devkit/commandDecorators/commandMeta.ts +0 -6
- package/devkit/commandDecorators/dependencyBuilder.ts +0 -100
- package/devkit/commandDecorators/helpFormatter.ts +0 -220
- package/devkit/commandDecorators/index.ts +0 -8
- package/devkit/commandDecorators/targetMeta.ts +0 -31
- package/devkit/commandDecorators/types.ts +0 -10
- package/devkit/constants.ts +0 -25
- package/devkit/createTunnel.ts +0 -36
- package/devkit/dependencyScanner.ts +0 -339
- package/devkit/executors.ts +0 -1362
- package/devkit/extractDeps.ts +0 -85
- package/devkit/fileEditor.ts +0 -106
- package/devkit/fileSys.ts +0 -39
- package/devkit/frontendBuild/allRoutesBuilder.ts +0 -103
- package/devkit/frontendBuild/clientBuildTypes.ts +0 -114
- package/devkit/frontendBuild/clientEntriesBundler.ts +0 -300
- package/devkit/frontendBuild/clientEntryDiscovery.ts +0 -196
- package/devkit/frontendBuild/csrArtifactBuilder.ts +0 -237
- package/devkit/frontendBuild/cssCompiler.ts +0 -285
- package/devkit/frontendBuild/cssImportResolver.ts +0 -116
- package/devkit/frontendBuild/fontOptimizer.ts +0 -427
- package/devkit/frontendBuild/hmrChangeClassifier.ts +0 -28
- package/devkit/frontendBuild/hmrWatcher.ts +0 -101
- package/devkit/frontendBuild/index.ts +0 -18
- package/devkit/frontendBuild/pagesBundleBuilder.ts +0 -137
- package/devkit/frontendBuild/pagesEntrySourceGenerator.ts +0 -37
- package/devkit/frontendBuild/precompressArtifacts.ts +0 -59
- package/devkit/frontendBuild/routeClientBuilder.ts +0 -290
- package/devkit/frontendBuild/routesManifestArtifactSerializer.ts +0 -62
- package/devkit/frontendBuild/ssrBaseArtifactBuilder.ts +0 -139
- package/devkit/frontendBuild/vendorSpecifiers.ts +0 -16
- package/devkit/frontendBuild/watchRootResolver.ts +0 -28
- package/devkit/getCredentials.ts +0 -19
- package/devkit/getDirname.ts +0 -3
- package/devkit/getModelFileData.ts +0 -59
- package/devkit/getRelatedCnsts.ts +0 -300
- package/devkit/guideline.ts +0 -19
- package/devkit/incrementalBuilder/incrementalBuilder.host.ts +0 -152
- package/devkit/incrementalBuilder/incrementalBuilder.proc.ts +0 -331
- package/devkit/incrementalBuilder/index.ts +0 -1
- package/devkit/index.ts +0 -36
- package/devkit/lint/no-deep-internal-import.grit +0 -25
- package/devkit/lint/no-import-client-functions.grit +0 -32
- package/devkit/lint/no-import-external-library.grit +0 -21
- package/devkit/lint/no-js-private-class-method.grit +0 -42
- package/devkit/lint/no-use-client-in-server.grit +0 -7
- package/devkit/lint/non-scalar-props-restricted.grit +0 -13
- package/devkit/linter.ts +0 -248
- package/devkit/mobile/index.ts +0 -1
- package/devkit/mobile/mobileTarget.ts +0 -88
- package/devkit/prompter.ts +0 -71
- package/devkit/scanInfo.ts +0 -606
- package/devkit/selectModel.ts +0 -11
- package/devkit/spinner.ts +0 -54
- package/devkit/src/capacitorApp.ts +0 -277
- package/devkit/sshTunnel.ts +0 -151
- package/devkit/streamAi.ts +0 -45
- package/devkit/transforms/barrelAnalyzer.ts +0 -249
- package/devkit/transforms/barrelImportsPlugin.ts +0 -457
- package/devkit/transforms/externalizeFrameworkPlugin.ts +0 -159
- package/devkit/transforms/index.ts +0 -5
- package/devkit/transforms/rscUseClientTransform.ts +0 -52
- package/devkit/transforms/useClientBundlePlugin.ts +0 -47
- package/devkit/typeChecker.ts +0 -260
- package/devkit/types.ts +0 -44
- package/devkit/ui/MultiScrollList.tsx +0 -228
- package/devkit/ui/ScrollList.tsx +0 -106
- package/devkit/ui/index.ts +0 -2
- package/devkit/uploadRelease.ts +0 -95
- package/devkit/useStdoutDimensions.ts +0 -20
- package/types/cli/application/application.command.d.ts +0 -7
- package/types/cli/application/application.interface.d.ts +0 -40
- package/types/cli/application/application.runner.d.ts +0 -66
- package/types/cli/application/application.script.d.ts +0 -72
- package/types/cli/build.d.ts +0 -1
- package/types/cli/cloud/cloud.command.d.ts +0 -7
- package/types/cli/cloud/cloud.runner.d.ts +0 -13
- package/types/cli/cloud/cloud.script.d.ts +0 -23
- package/types/cli/guideline/guideline.command.d.ts +0 -7
- package/types/cli/guideline/guideline.prompt.d.ts +0 -29
- package/types/cli/guideline/guideline.runner.d.ts +0 -21
- package/types/cli/guideline/guideline.script.d.ts +0 -16
- package/types/cli/index.d.ts +0 -2
- package/types/cli/library/library.command.d.ts +0 -7
- package/types/cli/library/library.runner.d.ts +0 -11
- package/types/cli/library/library.script.d.ts +0 -13
- package/types/cli/module/module.command.d.ts +0 -7
- package/types/cli/module/module.prompt.d.ts +0 -13
- package/types/cli/module/module.request.d.ts +0 -63
- package/types/cli/module/module.runner.d.ts +0 -55
- package/types/cli/module/module.script.d.ts +0 -22
- package/types/cli/npmRegistry.d.ts +0 -1
- package/types/cli/openBrowser.d.ts +0 -1
- package/types/cli/package/package.command.d.ts +0 -7
- package/types/cli/package/package.runner.d.ts +0 -13
- package/types/cli/package/package.script.d.ts +0 -18
- package/types/cli/page/page.command.d.ts +0 -7
- package/types/cli/page/page.runner.d.ts +0 -10
- package/types/cli/page/page.script.d.ts +0 -13
- package/types/cli/pluralizeName.d.ts +0 -1
- package/types/cli/scalar/scalar.command.d.ts +0 -7
- package/types/cli/scalar/scalar.prompt.d.ts +0 -23
- package/types/cli/scalar/scalar.runner.d.ts +0 -16
- package/types/cli/scalar/scalar.script.d.ts +0 -11
- package/types/cli/semver.d.ts +0 -1
- package/types/cli/templates/__scalar/__model__/__model__.constant.d.ts +0 -7
- package/types/cli/templates/__scalar/__model__/__model__.dictionary.d.ts +0 -7
- package/types/cli/templates/__scalar/__model__/__model__.document.d.ts +0 -7
- package/types/cli/templates/app/akan.config.d.ts +0 -6
- package/types/cli/templates/app/env/env.client.d.ts +0 -6
- package/types/cli/templates/app/env/env.client.type.d.ts +0 -6
- package/types/cli/templates/app/env/env.server.d.ts +0 -6
- package/types/cli/templates/app/lib/___appName__/__appName__.dictionary.d.ts +0 -7
- package/types/cli/templates/app/lib/___appName__/__appName__.service.d.ts +0 -7
- package/types/cli/templates/app/lib/___appName__/__appName__.signal.d.ts +0 -7
- package/types/cli/templates/app/lib/___appName__/__appName__.store.d.ts +0 -7
- package/types/cli/templates/app/lib/option.d.ts +0 -6
- package/types/cli/templates/app/main.d.ts +0 -6
- package/types/cli/templates/app/page/_index.d.ts +0 -9
- package/types/cli/templates/app/page/_layout.d.ts +0 -11
- package/types/cli/templates/client.d.ts +0 -4
- package/types/cli/templates/crudPages/[__model__Id]/edit/page.d.ts +0 -11
- package/types/cli/templates/crudPages/[__model__Id]/page.d.ts +0 -11
- package/types/cli/templates/crudPages/new/page.d.ts +0 -11
- package/types/cli/templates/crudPages/page.d.ts +0 -11
- package/types/cli/templates/crudSinglePage/page.d.ts +0 -11
- package/types/cli/templates/env/_env.server.type.d.ts +0 -7
- package/types/cli/templates/facetIndex/index.d.ts +0 -13
- package/types/cli/templates/facetIndex.d.ts +0 -1
- package/types/cli/templates/index.d.ts +0 -6
- package/types/cli/templates/lib/__lib/lib.constant.d.ts +0 -4
- package/types/cli/templates/lib/__lib/lib.dictionary.d.ts +0 -4
- package/types/cli/templates/lib/__lib/lib.document.d.ts +0 -4
- package/types/cli/templates/lib/__lib/lib.service.d.ts +0 -4
- package/types/cli/templates/lib/__lib/lib.signal.d.ts +0 -4
- package/types/cli/templates/lib/__lib/lib.store.d.ts +0 -4
- package/types/cli/templates/lib/cnst.d.ts +0 -4
- package/types/cli/templates/lib/db.d.ts +0 -4
- package/types/cli/templates/lib/dict.d.ts +0 -4
- package/types/cli/templates/lib/sig.d.ts +0 -4
- package/types/cli/templates/lib/srv.d.ts +0 -4
- package/types/cli/templates/lib/st.d.ts +0 -4
- package/types/cli/templates/lib/useClient.d.ts +0 -4
- package/types/cli/templates/lib/useServer.d.ts +0 -4
- package/types/cli/templates/libRoot/akan.config.d.ts +0 -5
- package/types/cli/templates/libRoot/base/baseLogic.d.ts +0 -5
- package/types/cli/templates/libRoot/base/index.d.ts +0 -5
- package/types/cli/templates/libRoot/base.d.ts +0 -1
- package/types/cli/templates/libRoot/common/commonLogic.d.ts +0 -5
- package/types/cli/templates/libRoot/common/index.d.ts +0 -5
- package/types/cli/templates/libRoot/common.d.ts +0 -1
- package/types/cli/templates/libRoot/lib/___libName__/__libName__.dictionary.d.ts +0 -6
- package/types/cli/templates/libRoot/lib/___libName__/__libName__.service.d.ts +0 -6
- package/types/cli/templates/libRoot/lib/___libName__/__libName__.store.d.ts +0 -6
- package/types/cli/templates/libRoot/lib/option.d.ts +0 -6
- package/types/cli/templates/libRoot/srvkit/backendLogic.d.ts +0 -5
- package/types/cli/templates/libRoot/srvkit/index.d.ts +0 -5
- package/types/cli/templates/libRoot/srvkit.d.ts +0 -1
- package/types/cli/templates/libRoot/ui/index.d.ts +0 -5
- package/types/cli/templates/libRoot/ui.d.ts +0 -1
- package/types/cli/templates/libRoot/webkit/frontendLogic.d.ts +0 -5
- package/types/cli/templates/libRoot/webkit/index.d.ts +0 -5
- package/types/cli/templates/libRoot/webkit.d.ts +0 -1
- package/types/cli/templates/module/__Model__.Template.d.ts +0 -11
- package/types/cli/templates/module/__Model__.Unit.d.ts +0 -11
- package/types/cli/templates/module/__Model__.Util.d.ts +0 -11
- package/types/cli/templates/module/__Model__.View.d.ts +0 -11
- package/types/cli/templates/module/__Model__.Zone.d.ts +0 -11
- package/types/cli/templates/module/__model__.constant.d.ts +0 -8
- package/types/cli/templates/module/__model__.dictionary.d.ts +0 -8
- package/types/cli/templates/module/__model__.document.d.ts +0 -8
- package/types/cli/templates/module/__model__.service.d.ts +0 -8
- package/types/cli/templates/module/__model__.signal.d.ts +0 -9
- package/types/cli/templates/module/__model__.store.d.ts +0 -8
- package/types/cli/templates/moduleRoot/index.d.ts +0 -11
- package/types/cli/templates/moduleRoot.d.ts +0 -1
- package/types/cli/templates/server.d.ts +0 -4
- package/types/cli/templates.d.ts +0 -1
- package/types/cli/testHelpers.d.ts +0 -64
- package/types/cli/workspace/workspace.command.d.ts +0 -7
- package/types/cli/workspace/workspace.runner.d.ts +0 -14
- package/types/cli/workspace/workspace.script.d.ts +0 -29
- package/types/cli.d.ts +0 -1
- package/types/devkit/aiEditor.d.ts +0 -50
- package/types/devkit/akanApp/akanApp.host.d.ts +0 -16
- package/types/devkit/akanApp/index.d.ts +0 -1
- package/types/devkit/akanApp.d.ts +0 -1
- package/types/devkit/akanConfig/akanConfig.d.ts +0 -36
- package/types/devkit/akanConfig/index.d.ts +0 -2
- package/types/devkit/akanConfig.d.ts +0 -1
- package/types/devkit/applicationBuildReporter.d.ts +0 -25
- package/types/devkit/applicationBuildRunner.d.ts +0 -29
- package/types/devkit/applicationReleasePackager.d.ts +0 -17
- package/types/devkit/artifact/implicitRootLayout.d.ts +0 -17
- package/types/devkit/artifact/index.d.ts +0 -1
- package/types/devkit/artifact/routeSeedIndex.d.ts +0 -38
- package/types/devkit/artifact.d.ts +0 -1
- package/types/devkit/auth.d.ts +0 -9
- package/types/devkit/builder.d.ts +0 -18
- package/types/devkit/capacitor.base.config.d.ts +0 -3
- package/types/devkit/capacitorApp.d.ts +0 -58
- package/types/devkit/commandDecorators/argMeta.d.ts +0 -68
- package/types/devkit/commandDecorators/command.d.ts +0 -2
- package/types/devkit/commandDecorators/commandBuilder.d.ts +0 -60
- package/types/devkit/commandDecorators/commandMeta.d.ts +0 -2
- package/types/devkit/commandDecorators/dependencyBuilder.d.ts +0 -22
- package/types/devkit/commandDecorators/helpFormatter.d.ts +0 -3
- package/types/devkit/commandDecorators/index.d.ts +0 -8
- package/types/devkit/commandDecorators/targetMeta.d.ts +0 -21
- package/types/devkit/commandDecorators/types.d.ts +0 -8
- package/types/devkit/commandDecorators.d.ts +0 -1
- package/types/devkit/constants.d.ts +0 -25
- package/types/devkit/createTunnel.d.ts +0 -8
- package/types/devkit/dependencyScanner.d.ts +0 -33
- package/types/devkit/executors.d.ts +0 -320
- package/types/devkit/extractDeps.d.ts +0 -7
- package/types/devkit/fileEditor.d.ts +0 -16
- package/types/devkit/fileSys.d.ts +0 -12
- package/types/devkit/frontendBuild/allRoutesBuilder.d.ts +0 -18
- package/types/devkit/frontendBuild/clientBuildTypes.d.ts +0 -107
- package/types/devkit/frontendBuild/clientEntriesBundler.d.ts +0 -12
- package/types/devkit/frontendBuild/clientEntryDiscovery.d.ts +0 -19
- package/types/devkit/frontendBuild/csrArtifactBuilder.d.ts +0 -16
- package/types/devkit/frontendBuild/cssCompiler.d.ts +0 -25
- package/types/devkit/frontendBuild/cssImportResolver.d.ts +0 -9
- package/types/devkit/frontendBuild/fontOptimizer.d.ts +0 -14
- package/types/devkit/frontendBuild/hmrChangeClassifier.d.ts +0 -5
- package/types/devkit/frontendBuild/hmrWatcher.d.ts +0 -21
- package/types/devkit/frontendBuild/index.d.ts +0 -18
- package/types/devkit/frontendBuild/pagesBundleBuilder.d.ts +0 -28
- package/types/devkit/frontendBuild/pagesEntrySourceGenerator.d.ts +0 -9
- package/types/devkit/frontendBuild/precompressArtifacts.d.ts +0 -7
- package/types/devkit/frontendBuild/routeClientBuilder.d.ts +0 -50
- package/types/devkit/frontendBuild/routesManifestArtifactSerializer.d.ts +0 -12
- package/types/devkit/frontendBuild/ssrBaseArtifactBuilder.d.ts +0 -16
- package/types/devkit/frontendBuild/vendorSpecifiers.d.ts +0 -2
- package/types/devkit/frontendBuild/watchRootResolver.d.ts +0 -6
- package/types/devkit/frontendBuild.d.ts +0 -1
- package/types/devkit/getCredentials.d.ts +0 -12
- package/types/devkit/getDirname.d.ts +0 -1
- package/types/devkit/getModelFileData.d.ts +0 -16
- package/types/devkit/getRelatedCnsts.d.ts +0 -53
- package/types/devkit/guideline.d.ts +0 -19
- package/types/devkit/incrementalBuilder/incrementalBuilder.host.d.ts +0 -30
- package/types/devkit/incrementalBuilder/incrementalBuilder.proc.d.ts +0 -1
- package/types/devkit/incrementalBuilder/index.d.ts +0 -1
- package/types/devkit/incrementalBuilder.d.ts +0 -1
- package/types/devkit/index.d.ts +0 -36
- package/types/devkit/linter.d.ts +0 -108
- package/types/devkit/mobile/index.d.ts +0 -1
- package/types/devkit/mobile/mobileTarget.d.ts +0 -14
- package/types/devkit/mobile.d.ts +0 -1
- package/types/devkit/prompter.d.ts +0 -15
- package/types/devkit/scanInfo.d.ts +0 -82
- package/types/devkit/selectModel.d.ts +0 -1
- package/types/devkit/spinner.d.ts +0 -20
- package/types/devkit/src/capacitorApp.d.ts +0 -39
- package/types/devkit/sshTunnel.d.ts +0 -14
- package/types/devkit/streamAi.d.ts +0 -6
- package/types/devkit/transforms/barrelAnalyzer.d.ts +0 -27
- package/types/devkit/transforms/barrelImportsPlugin.d.ts +0 -26
- package/types/devkit/transforms/externalizeFrameworkPlugin.d.ts +0 -49
- package/types/devkit/transforms/index.d.ts +0 -5
- package/types/devkit/transforms/rscUseClientTransform.d.ts +0 -10
- package/types/devkit/transforms/useClientBundlePlugin.d.ts +0 -19
- package/types/devkit/transforms.d.ts +0 -1
- package/types/devkit/typeChecker.d.ts +0 -62
- package/types/devkit/types.d.ts +0 -43
- package/types/devkit/ui/MultiScrollList.d.ts +0 -13
- package/types/devkit/ui/ScrollList.d.ts +0 -7
- package/types/devkit/ui/index.d.ts +0 -2
- package/types/devkit/ui.d.ts +0 -1
- package/types/devkit/uploadRelease.d.ts +0 -10
- package/types/devkit/useStdoutDimensions.d.ts +0 -1
- package/types/devkit.d.ts +0 -1
package/devkit/extractDeps.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import type { PackageJson } from "./types";
|
|
2
|
-
|
|
3
|
-
const NODE_NATIVE_MODULE_SET = new Set([
|
|
4
|
-
"assert",
|
|
5
|
-
"async_hooks",
|
|
6
|
-
"buffer",
|
|
7
|
-
"child_process",
|
|
8
|
-
"cluster",
|
|
9
|
-
"console",
|
|
10
|
-
"constants",
|
|
11
|
-
"crypto",
|
|
12
|
-
"dgram",
|
|
13
|
-
"dns",
|
|
14
|
-
"domain",
|
|
15
|
-
"events",
|
|
16
|
-
"fs",
|
|
17
|
-
"http",
|
|
18
|
-
"http2",
|
|
19
|
-
"https",
|
|
20
|
-
"inspector",
|
|
21
|
-
"module",
|
|
22
|
-
"net",
|
|
23
|
-
"os",
|
|
24
|
-
"path",
|
|
25
|
-
"perf_hooks",
|
|
26
|
-
"process",
|
|
27
|
-
"punycode",
|
|
28
|
-
"querystring",
|
|
29
|
-
"readline",
|
|
30
|
-
"repl",
|
|
31
|
-
"stream",
|
|
32
|
-
"string_decoder",
|
|
33
|
-
"timers",
|
|
34
|
-
"tls",
|
|
35
|
-
"trace_events",
|
|
36
|
-
"tty",
|
|
37
|
-
"url",
|
|
38
|
-
"util",
|
|
39
|
-
"v8",
|
|
40
|
-
"vm",
|
|
41
|
-
"wasi",
|
|
42
|
-
"worker_threads",
|
|
43
|
-
"zlib",
|
|
44
|
-
]);
|
|
45
|
-
|
|
46
|
-
export const extractDependencies = (
|
|
47
|
-
filepaths: { path: string; text: string }[],
|
|
48
|
-
pacakgeJson: PackageJson,
|
|
49
|
-
defaultDependencies: string[] = [],
|
|
50
|
-
) => {
|
|
51
|
-
if (!pacakgeJson.dependencies) throw new Error("No dependencies found in package.json");
|
|
52
|
-
const dependencies = new Set<string>(defaultDependencies);
|
|
53
|
-
|
|
54
|
-
const existingDependencies = new Set<string>([
|
|
55
|
-
...Object.keys(pacakgeJson.dependencies ?? {}),
|
|
56
|
-
...Object.keys(pacakgeJson.devDependencies ?? {}),
|
|
57
|
-
]);
|
|
58
|
-
const versionObj = {
|
|
59
|
-
...(pacakgeJson.dependencies ?? {}),
|
|
60
|
-
...(pacakgeJson.devDependencies ?? {}),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const requireRegex = /(?:require\s*\(|import\s*(?:[\w\s{},*]*\s+from\s*)?|import\s*\()\s*['"`]([^'"`]+)['"`]/g;
|
|
64
|
-
for (const { text } of filepaths.filter(({ path }) => path.endsWith(".js") || path.endsWith(".ts"))) {
|
|
65
|
-
let requireMatch = requireRegex.exec(text);
|
|
66
|
-
while (requireMatch !== null) {
|
|
67
|
-
const moduleName = requireMatch[1];
|
|
68
|
-
if (!moduleName) throw new Error(`No module name found in ${text}`);
|
|
69
|
-
const moduleNameParts = moduleName.split("/");
|
|
70
|
-
const subModuleLength = moduleNameParts.length;
|
|
71
|
-
for (let i = 0; i < subModuleLength; i++) {
|
|
72
|
-
const libName = moduleNameParts.slice(0, i + 1).join("/");
|
|
73
|
-
if (!NODE_NATIVE_MODULE_SET.has(libName) && existingDependencies.has(libName)) dependencies.add(libName);
|
|
74
|
-
}
|
|
75
|
-
requireMatch = requireRegex.exec(text);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return Object.fromEntries(
|
|
79
|
-
[...dependencies].sort().map((dep) => {
|
|
80
|
-
const version = versionObj[dep];
|
|
81
|
-
if (!version) throw new Error(`No version found for ${dep}`);
|
|
82
|
-
return [dep, version];
|
|
83
|
-
}),
|
|
84
|
-
);
|
|
85
|
-
};
|
package/devkit/fileEditor.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export class FileEditor {
|
|
2
|
-
private filePath: string;
|
|
3
|
-
private content: string;
|
|
4
|
-
|
|
5
|
-
private constructor(filePath: string, content: string) {
|
|
6
|
-
this.filePath = filePath;
|
|
7
|
-
this.content = content;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
static async create(filePath: string): Promise<FileEditor> {
|
|
11
|
-
try {
|
|
12
|
-
const content = await Bun.file(filePath).text();
|
|
13
|
-
return new FileEditor(filePath, content);
|
|
14
|
-
} catch (error) {
|
|
15
|
-
throw new Error(`Failed to read file: ${filePath}`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
find(pattern: string | RegExp): number {
|
|
20
|
-
const lines = this.content.split("\n");
|
|
21
|
-
const regex = typeof pattern === "string" ? new RegExp(pattern) : pattern;
|
|
22
|
-
|
|
23
|
-
for (let i = 0; i < lines.length; i++) {
|
|
24
|
-
const line = lines[i];
|
|
25
|
-
if (!line) continue;
|
|
26
|
-
if (regex.test(line)) return i;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return -1;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
findAll(pattern: string | RegExp): number[] {
|
|
33
|
-
const lines = this.content.split("\n");
|
|
34
|
-
const regex = typeof pattern === "string" ? new RegExp(pattern) : pattern;
|
|
35
|
-
const matches: number[] = [];
|
|
36
|
-
|
|
37
|
-
for (let i = 0; i < lines.length; i++) {
|
|
38
|
-
const line = lines[i];
|
|
39
|
-
if (!line) continue;
|
|
40
|
-
if (regex.test(line)) matches.push(i);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return matches;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
insertAfter(pattern: string | RegExp, data: string): this {
|
|
47
|
-
const lineIndex = this.find(pattern);
|
|
48
|
-
|
|
49
|
-
if (lineIndex === -1) {
|
|
50
|
-
throw new Error(`Pattern not found: ${pattern}`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const lines = this.content.split("\n");
|
|
54
|
-
lines.splice(lineIndex + 1, 0, data);
|
|
55
|
-
this.content = lines.join("\n");
|
|
56
|
-
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
insertBefore(pattern: string | RegExp, data: string): this {
|
|
61
|
-
const lineIndex = this.find(pattern);
|
|
62
|
-
|
|
63
|
-
if (lineIndex === -1) {
|
|
64
|
-
throw new Error(`Pattern not found: ${pattern}`);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const lines = this.content.split("\n");
|
|
68
|
-
lines.splice(lineIndex, 0, data);
|
|
69
|
-
this.content = lines.join("\n");
|
|
70
|
-
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
replace(pattern: string | RegExp, replacement: string): this {
|
|
75
|
-
const regex = typeof pattern === "string" ? new RegExp(pattern, "g") : pattern;
|
|
76
|
-
this.content = this.content.replace(regex, replacement);
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
append(data: string): this {
|
|
81
|
-
this.content += `\n${data}`;
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
prepend(data: string): this {
|
|
86
|
-
this.content = `${data}\n${this.content}`;
|
|
87
|
-
return this;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
async save(): Promise<void> {
|
|
91
|
-
try {
|
|
92
|
-
await Bun.write(this.filePath, this.content);
|
|
93
|
-
} catch (error) {
|
|
94
|
-
throw new Error(`Failed to save file: ${this.filePath}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
getContent(): string {
|
|
99
|
-
return this.content;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
setContent(content: string): this {
|
|
103
|
-
this.content = content;
|
|
104
|
-
return this;
|
|
105
|
-
}
|
|
106
|
-
}
|
package/devkit/fileSys.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { stat } from "node:fs/promises";
|
|
2
|
-
import { Logger } from "akanjs/common";
|
|
3
|
-
|
|
4
|
-
export class FileSys {
|
|
5
|
-
static logger = new Logger("FileSys");
|
|
6
|
-
static async fileExists(path: string) {
|
|
7
|
-
return await Bun.file(path).exists();
|
|
8
|
-
}
|
|
9
|
-
static async dirExists(path: string) {
|
|
10
|
-
return await stat(path)
|
|
11
|
-
.then((stat) => stat.isDirectory())
|
|
12
|
-
.catch(() => false);
|
|
13
|
-
}
|
|
14
|
-
static async exists(path: string) {
|
|
15
|
-
return await stat(path)
|
|
16
|
-
.then(() => true)
|
|
17
|
-
.catch(() => false);
|
|
18
|
-
}
|
|
19
|
-
static async readText(path: string) {
|
|
20
|
-
return await Bun.file(path).text();
|
|
21
|
-
}
|
|
22
|
-
static async readJson<T>(path: string): Promise<T> {
|
|
23
|
-
try {
|
|
24
|
-
return (await Bun.file(path).json()) as T;
|
|
25
|
-
} catch (error) {
|
|
26
|
-
FileSys.logger.error(`Failed to read JSON file: ${path}`);
|
|
27
|
-
throw error;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
static async delete(path: string) {
|
|
31
|
-
return await Bun.file(path).delete();
|
|
32
|
-
}
|
|
33
|
-
static async writeText(path: string, content: string) {
|
|
34
|
-
return await Bun.file(path).write(content);
|
|
35
|
-
}
|
|
36
|
-
static async writeJson(path: string, content: object) {
|
|
37
|
-
return await Bun.file(path).write(`${JSON.stringify(content, null, 2)}\n`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import type { BaseBuildArtifact, BuildRouteClientResult, RoutesManifest } from "akanjs/server";
|
|
3
|
-
import { resolveSsrPageEntriesForApp } from "../artifact/implicitRootLayout";
|
|
4
|
-
import { computeRouteSeedIndex, type RouteSeedIndex } from "../artifact/routeSeedIndex";
|
|
5
|
-
import type { App } from "../commandDecorators";
|
|
6
|
-
import type { ClientEntryDiscovery } from "./clientBuildTypes";
|
|
7
|
-
import { GraphClientEntryDiscovery } from "./clientEntryDiscovery";
|
|
8
|
-
import { RouteClientBuilder } from "./routeClientBuilder";
|
|
9
|
-
import { RoutesManifestArtifactSerializer } from "./routesManifestArtifactSerializer";
|
|
10
|
-
|
|
11
|
-
export interface BuildAllRoutesResult {
|
|
12
|
-
manifest: RoutesManifest;
|
|
13
|
-
manifestPath: string;
|
|
14
|
-
seedIndex: RouteSeedIndex;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Walk every route in `pages` and produce its client bundle up-front.
|
|
19
|
-
* Intended to run under `akan build` (production) so the serve path
|
|
20
|
-
* never needs to compile.
|
|
21
|
-
*/
|
|
22
|
-
export class AllRoutesBuilder {
|
|
23
|
-
#app: App;
|
|
24
|
-
#artifact: BaseBuildArtifact;
|
|
25
|
-
#command: "build" | "start";
|
|
26
|
-
#artifactDir: string;
|
|
27
|
-
#merged: Pick<RoutesManifest, "clientManifest" | "ssrManifest" | "knownEntries"> = {
|
|
28
|
-
clientManifest: {},
|
|
29
|
-
ssrManifest: { moduleLoading: null, moduleMap: {} },
|
|
30
|
-
knownEntries: [],
|
|
31
|
-
};
|
|
32
|
-
#knownSet = new Set<string>();
|
|
33
|
-
#routeIds: string[] = [];
|
|
34
|
-
#discovery: ClientEntryDiscovery | null = null;
|
|
35
|
-
|
|
36
|
-
constructor(app: App, artifact: BaseBuildArtifact, command: "build" | "start" = "start") {
|
|
37
|
-
this.#app = app;
|
|
38
|
-
this.#artifact = artifact;
|
|
39
|
-
this.#command = command;
|
|
40
|
-
this.#artifactDir = `${command === "build" ? app.dist.cwdPath : app.cwdPath}/.akan/artifact`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async build(): Promise<BuildAllRoutesResult> {
|
|
44
|
-
const pageKeys = await this.#app.getPageKeys();
|
|
45
|
-
const pageEntries = await resolveSsrPageEntriesForApp(this.#app, pageKeys);
|
|
46
|
-
const seedIndex = computeRouteSeedIndex(pageEntries);
|
|
47
|
-
this.#app.verbose(`[build-all] discovered ${seedIndex.entries.length} routes`);
|
|
48
|
-
this.#discovery = await GraphClientEntryDiscovery.create(this.#app);
|
|
49
|
-
|
|
50
|
-
for (const entry of seedIndex.entries) {
|
|
51
|
-
const seeds = Array.from(new Set([...seedIndex.globalLayoutFiles, ...entry.seeds]));
|
|
52
|
-
const delta = await this.#buildRoute(entry.routeId, seeds);
|
|
53
|
-
this.#mergeRoute(entry.routeId, delta);
|
|
54
|
-
}
|
|
55
|
-
this.#merged.knownEntries = Array.from(this.#knownSet);
|
|
56
|
-
|
|
57
|
-
const manifest: RoutesManifest = {
|
|
58
|
-
routeIds: this.#routeIds,
|
|
59
|
-
...this.#merged,
|
|
60
|
-
};
|
|
61
|
-
const manifestPath = path.join(path.resolve(this.#artifactDir), "routes-manifest.json");
|
|
62
|
-
await Bun.write(
|
|
63
|
-
manifestPath,
|
|
64
|
-
`${JSON.stringify(
|
|
65
|
-
RoutesManifestArtifactSerializer.serialize(manifest, this.#artifactDir, {
|
|
66
|
-
production: this.#command === "build",
|
|
67
|
-
}),
|
|
68
|
-
null,
|
|
69
|
-
2,
|
|
70
|
-
)}\n`,
|
|
71
|
-
);
|
|
72
|
-
this.#app.verbose(
|
|
73
|
-
`[build-all] wrote ${manifestPath} routes=${this.#routeIds.length} entries=${this.#merged.knownEntries.length}`,
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
return { manifest, manifestPath, seedIndex };
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async #buildRoute(routeId: string, seeds: string[]): Promise<BuildRouteClientResult> {
|
|
80
|
-
if (!this.#discovery) throw new Error("[build-all] client entry discovery is not initialized");
|
|
81
|
-
const started = Date.now();
|
|
82
|
-
const delta = await new RouteClientBuilder({
|
|
83
|
-
app: this.#app,
|
|
84
|
-
routeId,
|
|
85
|
-
seeds,
|
|
86
|
-
artifact: this.#artifact,
|
|
87
|
-
knownEntries: this.#knownSet,
|
|
88
|
-
discovery: this.#discovery,
|
|
89
|
-
command: this.#command,
|
|
90
|
-
}).build();
|
|
91
|
-
this.#app.verbose(`[build-all] ${routeId} +${delta.newEntries.length} entries (${Date.now() - started}ms)`);
|
|
92
|
-
return delta;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
#mergeRoute(routeId: string, delta: BuildRouteClientResult): void {
|
|
96
|
-
for (const [key, row] of Object.entries(delta.manifestDelta)) this.#merged.clientManifest[key] = row;
|
|
97
|
-
for (const [url, byName] of Object.entries(delta.ssrManifestDelta.moduleMap)) {
|
|
98
|
-
this.#merged.ssrManifest.moduleMap[url] = byName;
|
|
99
|
-
}
|
|
100
|
-
for (const abs of delta.newEntries) this.#knownSet.add(abs);
|
|
101
|
-
this.#routeIds.push(routeId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import type { ClientManifest, ClientManifestEntry, SsrManifest } from "akanjs/server";
|
|
2
|
-
import type { BunPlugin } from "bun";
|
|
3
|
-
import type { App } from "../commandDecorators";
|
|
4
|
-
|
|
5
|
-
export type { ClientManifest, ClientManifestEntry };
|
|
6
|
-
|
|
7
|
-
export interface BuildClientOptions {
|
|
8
|
-
appDir: string;
|
|
9
|
-
rscClientEntry: string;
|
|
10
|
-
outputDir?: string;
|
|
11
|
-
servePrefix?: string;
|
|
12
|
-
mode?: "production" | "test";
|
|
13
|
-
/** Additional Bun plugins applied to the client bundle build. */
|
|
14
|
-
plugins?: BunPlugin[];
|
|
15
|
-
/**
|
|
16
|
-
* Legacy fallback: additional directories to filesystem-scan for
|
|
17
|
-
* `"use client"` entry points. Only used when `workspaceRoot` /
|
|
18
|
-
* `tsconfigPaths` are not provided (in which case we fall back to the old
|
|
19
|
-
* filesystem-scan strategy). Prefer the graph-based discovery.
|
|
20
|
-
*/
|
|
21
|
-
extraClientScanRoots?: string[];
|
|
22
|
-
/**
|
|
23
|
-
* Environment variables to inline into the browser bundle via `define`.
|
|
24
|
-
* Keys are the original `process.env` names. Each key is emitted as
|
|
25
|
-
* `process.env.<KEY>` so existing server/client shared code that reads
|
|
26
|
-
* `process.env.AKAN_PUBLIC_*` keeps working unchanged.
|
|
27
|
-
*/
|
|
28
|
-
publicEnv?: Record<string, string>;
|
|
29
|
-
/**
|
|
30
|
-
* Workspace root used by the graph-based client-entry discovery to resolve
|
|
31
|
-
* tsconfig-aliased specifiers (`@libs/shared/ui`, `@apps/<name>/client`,
|
|
32
|
-
* ...). When provided together with `tsconfigPaths`, discovery traverses
|
|
33
|
-
* the import graph starting from `appDir` instead of doing a filesystem
|
|
34
|
-
* scan, so `"use client"` files that no route transitively imports (e.g.
|
|
35
|
-
* unused editor components in a shared UI package) stay out of the client
|
|
36
|
-
* bundle.
|
|
37
|
-
*/
|
|
38
|
-
workspaceRoot?: string;
|
|
39
|
-
/** Workspace tsconfig `compilerOptions.paths`. See `workspaceRoot`. */
|
|
40
|
-
tsconfigPaths?: Record<string, string[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Barrel specifiers whose imports are flattened by `barrelImportsPlugin`.
|
|
43
|
-
* Discovery rewrites barrel imports with the same analyzer before scanning,
|
|
44
|
-
* so the traversal sees the same leaf files the bundler will see.
|
|
45
|
-
*/
|
|
46
|
-
barrelImports?: string[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface BuildClientResult {
|
|
50
|
-
manifest: ClientManifest;
|
|
51
|
-
ssrManifest: SsrManifest;
|
|
52
|
-
outputDir: string;
|
|
53
|
-
servePrefix: string;
|
|
54
|
-
entries: string[];
|
|
55
|
-
rscClientUrl: string;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export const CLIENT_BUNDLE_NAMING = {
|
|
59
|
-
entry: "[name]-[hash].[ext]",
|
|
60
|
-
chunk: "chunks/[hash].[ext]",
|
|
61
|
-
asset: "assets/[hash].[ext]",
|
|
62
|
-
} as const;
|
|
63
|
-
|
|
64
|
-
export interface ClientEntryDiscovery {
|
|
65
|
-
discover(seeds: string[]): Promise<string[]>;
|
|
66
|
-
invalidate?(files: string[]): void;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface BundleClientEntriesOptions {
|
|
70
|
-
app: App;
|
|
71
|
-
entries: string[];
|
|
72
|
-
plugins?: BunPlugin[];
|
|
73
|
-
outputSubdir?: string;
|
|
74
|
-
/**
|
|
75
|
-
* Future Fast Refresh hook. Bun only injects the React Refresh transform;
|
|
76
|
-
* the browser runtime/update protocol still needs to be provided by Akan.
|
|
77
|
-
*/
|
|
78
|
-
reactFastRefresh?: boolean;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export interface BundleClientEntriesInternalOptions extends BundleClientEntriesOptions {
|
|
82
|
-
external?: readonly string[];
|
|
83
|
-
externalSubpaths?: readonly string[];
|
|
84
|
-
externalAliases?: Partial<Record<string, string>>;
|
|
85
|
-
command?: "build" | "start";
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface BundleClientEntriesResult {
|
|
89
|
-
manifest: ClientManifest;
|
|
90
|
-
ssrManifest: SsrManifest;
|
|
91
|
-
/** Absolute path → serve URL for every entry point we produced. */
|
|
92
|
-
entryUrlsByAbsPath: Map<string, string>;
|
|
93
|
-
/** Absolute source entry path → emitted entry file absolute path. */
|
|
94
|
-
entryOutputAbsByAbsPath: Map<string, string>;
|
|
95
|
-
/** Absolute source files that Bun included for each client entry bundle. */
|
|
96
|
-
entryDepsByAbsPath: Map<string, string[]>;
|
|
97
|
-
/** Absolute source entry path → workspace-relative client reference id. */
|
|
98
|
-
clientReferenceIdByAbsPath: Map<string, string>;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export type AkanConfig = Awaited<ReturnType<App["getConfig"]>>;
|
|
102
|
-
export type ScannedImport = { path: string; kind?: string };
|
|
103
|
-
export type MetafileOutput = {
|
|
104
|
-
imports: ScannedImport[];
|
|
105
|
-
entryPoint?: string;
|
|
106
|
-
exports?: string[];
|
|
107
|
-
inputs?: Record<string, unknown>;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export interface OpaqueEntryAliases {
|
|
111
|
-
entries: string[];
|
|
112
|
-
originalByAlias: Map<string, string>;
|
|
113
|
-
aliasDir: string;
|
|
114
|
-
}
|