@lovrabet/rabetbase-cli 2.5.3 → 2.5.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.d.ts +2 -0
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +4 -0
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +14 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +1 -0
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.d.ts +11 -10
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.d.ts +7 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.d.ts +5 -2
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.d.ts +15 -3
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +2 -2
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +5 -0
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +31 -17
- package/skills/rabetbase/guides/approval-flow-development-workflow.md +33 -11
- package/skills/rabetbase/guides/best-practices.md +1 -1
- package/skills/rabetbase/guides/conflict-detection.md +44 -92
- package/skills/rabetbase/guides/custom-page-flow-sdk.md +642 -0
- package/skills/rabetbase/guides/custom-page-flow-timeline-display.md +289 -0
- package/skills/rabetbase/guides/custom-page-workflow.md +12 -3
- package/skills/rabetbase/guides/sql-creation-workflow.md +44 -26
- package/skills/rabetbase/guides/sql-mybatis.md +18 -49
- package/skills/rabetbase/guides/typescript-sdk.md +18 -0
- package/skills/rabetbase/knowledge/approval-flow/config-json-schema.md +22 -6
- package/skills/rabetbase/knowledge/components.md +34 -28
- package/skills/rabetbase/knowledge/custom-page/generation-standards.md +2 -0
- package/skills/rabetbase/references/rabetbase-config.md +6 -4
- package/skills/rabetbase/references/rabetbase-flow-commands.md +8 -4
- package/skills/rabetbase/references/rabetbase-flow-resources.md +3 -3
- package/skills/rabetbase/references/rabetbase-flow-runtime-boundary.md +2 -0
- package/skills/rabetbase/references/rabetbase-init.md +7 -5
- package/skills/rabetbase/references/rabetbase-kb.md +14 -4
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +3 -1
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +3 -0
- package/skills/rabetbase/references/rabetbase-sql-push.md +5 -0
- package/skills/rabetbase/references/rabetbase-sql-validate.md +12 -6
- package/skills/rabetbase.manifest.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a200_0x4d14dc=a200_0xda21;(function(_0x33fea0,_0x5f09ab){const _0x1f4f26=a200_0xda21,_0x5642af=_0x33fea0();while(!![]){try{const _0x50ba38=parseInt(_0x1f4f26(0x196))/0x1+parseInt(_0x1f4f26(0x1ba))/0x2*(-parseInt(_0x1f4f26(0x1d8))/0x3)+-parseInt(_0x1f4f26(0x1b8))/0x4+parseInt(_0x1f4f26(0x198))/0x5+parseInt(_0x1f4f26(0x1bb))/0x6+-parseInt(_0x1f4f26(0x1d2))/0x7+-parseInt(_0x1f4f26(0x1c7))/0x8;if(_0x50ba38===_0x5f09ab)break;else _0x5642af['push'](_0x5642af['shift']());}catch(_0x54ca79){_0x5642af['push'](_0x5642af['shift']());}}}(a200_0x3ada,0x65ec5));import{copyFileSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import a200_0x1be399 from'node:path';function a200_0x3ada(){const _0xe517a2=['apiGroup','8FmLtAA','4291650uKTyZf','apiDir','migrate-single-app','app','api','unchanged','sdk-config.ts','outputDir','backups','appcode','has','length','2324824NvGYEP','isDefault','join','defaultApp','No\x20Lovrabet\x20model\x20profile\x20matches\x20Runtime\x20Domain','string','resolve','single','-api.ts','object','find','218946jauVKr','entries','files','flatMap','map','action','248379uZEeBa','includes','692881XNbAFu','startsWith','1306960sGVrXf','manualMergeRequired','parse','create','relative','modelRuntime','client','utf8','preserve','/**\x0a\x20*\x20Lovrabet\x20SDK\x20runtime\x20routing.\x0a\x20*\x20Generated\x20by\x20Rabetbase\x20CLI.\x20Do\x20not\x20add\x20credentials\x20to\x20this\x20file.\x0a\x20*/\x0aexport\x20const\x20LOVRABET_SDK_CONFIG\x20=\x20{}\x20as\x20const;\x0a','client.ts','apps','manual-merge','external-api-dir','default','unconfigured','The\x20existing\x20runtime\x20selector\x20is\x20not\x20a\x20recognized\x20current\x20generated\x20file.','replace-generated','.rabetbase.json','api.ts','.rabetbase','add','keys','project-upgrade','dirname','basename','some','The\x20file\x20contains\x20project-owned\x20code\x20and\x20will\x20not\x20be\x20overwritten.','push','normalizedApiDir','path','name','2396072OoZssG'];a200_0x3ada=function(){return _0xe517a2;};return a200_0x3ada();}import{getMultiAppConfigs,initMultiAppEnvironment,readConfigFile,writeConfigFile}from'../../context.js';import{DEFAULT_API_DIR}from'../../constant/paths.js';import{getRuntimeDomain}from'../../constant/domain.js';import{getRegistryGroup,resolveApiProfileLayouts}from'../../api/api-group.js';import{MODEL_REGISTRY_FILE_NAME,MODEL_RUNTIME_FILE_NAME,readModelRegistry,updateModelRegistry}from'../../api/model-registry-file.js';import{isLegacyGeneratedApiScaffold,isLegacyGeneratedClientScaffold,parseLegacyApiModels}from'../../api/legacy-api-file.js';import{renderModelRegistryScaffold}from'../../api/model-registry-scaffold.js';function a200_0xda21(_0x40a7a8,_0x59d1f1){_0x40a7a8=_0x40a7a8-0x195;const _0x3ada53=a200_0x3ada();let _0xda21d5=_0x3ada53[_0x40a7a8];return _0xda21d5;}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';const MIGRATION_ID='api-model-registry-v2',SDK_CONFIG_SOURCE=a200_0x4d14dc(0x1a1);function relativeMigrationDir(_0x3aa21b,_0x1b9e02){const _0x392980=a200_0x4d14dc,_0x115285=a200_0x1be399[_0x392980(0x19c)](_0x3aa21b,_0x1b9e02);return _0x115285&&!_0x115285[_0x392980(0x197)]('..')?_0x115285:_0x392980(0x1a5);}function candidatePath(_0xce2501,_0x5303d7,_0x1cee5a){const _0x2503d1=a200_0x4d14dc;return a200_0x1be399[_0x2503d1(0x1c9)](_0xce2501,_0x2503d1(0x1ac),_0x2503d1(0x1af),MIGRATION_ID,'candidates',relativeMigrationDir(_0xce2501,_0x5303d7),_0x1cee5a);}function backupPath(_0x5d845c,_0x31637e,_0x20d9da){const _0x251ace=a200_0x4d14dc;return a200_0x1be399[_0x251ace(0x1c9)](_0x5d845c,_0x251ace(0x1ac),'project-upgrade',MIGRATION_ID,_0x251ace(0x1c3),relativeMigrationDir(_0x5d845c,_0x31637e),_0x20d9da);}function readOptional(_0x3fb0e2){const _0x44d588=a200_0x4d14dc;try{return readFileSync(_0x3fb0e2,_0x44d588(0x19f));}catch{return undefined;}}function readJsonObject(_0x1d9694){const _0x2c77d1=a200_0x4d14dc;try{const _0x1664d3=JSON[_0x2c77d1(0x19a)](readFileSync(_0x1d9694,_0x2c77d1(0x19f)));return _0x1664d3&&typeof _0x1664d3===_0x2c77d1(0x1d0)?_0x1664d3:{};}catch{return{};}}function planEntrypoint(_0x14cf0a,_0x49460b,_0x4cfcfd,_0x3e00fa){const _0x492ef3=a200_0x4d14dc,_0x174fb8=a200_0x1be399[_0x492ef3(0x1c9)](_0x49460b,_0x4cfcfd),_0x38893a=readOptional(_0x174fb8);if(_0x38893a===undefined)return{'path':_0x174fb8,'action':_0x492ef3(0x19b)};if(_0x4cfcfd===_0x492ef3(0x1ab)?_0x38893a['includes']('./models.generated')&&_0x38893a[_0x492ef3(0x195)]('./model-runtime'):_0x38893a[_0x492ef3(0x195)]('LOVRABET_RUNTIME_DOMAIN'))return{'path':_0x174fb8,'action':_0x492ef3(0x1c0)};if(_0x3e00fa(_0x38893a))return{'path':_0x174fb8,'action':_0x492ef3(0x1a9),'reason':'Recognized\x20legacy\x20CLI\x20scaffold;\x20a\x20backup\x20will\x20be\x20retained.'};return{'path':_0x174fb8,'action':_0x492ef3(0x1a4),'reason':_0x492ef3(0x1b3),'candidatePath':candidatePath(_0x14cf0a,_0x49460b,_0x4cfcfd)};}function syntheticApps(_0x48a728){const _0x381140=a200_0x4d14dc,_0x3cc266=_0x48a728['apps']&&typeof _0x48a728[_0x381140(0x1a3)]===_0x381140(0x1d0)?_0x48a728['apps']:undefined;if(_0x3cc266&&Object[_0x381140(0x1ae)](_0x3cc266)[_0x381140(0x1c6)]>0x0){const _0x4f9e26=typeof _0x48a728[_0x381140(0x1ca)]===_0x381140(0x1cc)?_0x48a728[_0x381140(0x1ca)]:Object[_0x381140(0x1ae)](_0x3cc266)[_0x381140(0x1c6)]===0x1?Object[_0x381140(0x1ae)](_0x3cc266)[0x0]:undefined;return Object[_0x381140(0x1d3)](_0x3cc266)[_0x381140(0x1d5)](([_0x189545,_0x2576df])=>{const _0x4362ae=_0x381140,_0x39ecff=_0x2576df,_0x10a430=typeof _0x39ecff['appcode']===_0x4362ae(0x1cc)?_0x39ecff[_0x4362ae(0x1c4)]:'';return _0x10a430?[{'name':_0x189545,'appcode':_0x10a430,'apiGroup':typeof _0x39ecff['apiGroup']===_0x4362ae(0x1cc)?_0x39ecff[_0x4362ae(0x1b9)]:undefined,'isDefault':_0x189545===_0x4f9e26,'region':'cn','regionSource':_0x4362ae(0x1a6),'apiDir':typeof _0x39ecff[_0x4362ae(0x1bc)]===_0x4362ae(0x1cc)?_0x39ecff[_0x4362ae(0x1bc)]:typeof _0x48a728[_0x4362ae(0x1bc)]===_0x4362ae(0x1cc)?_0x48a728['apiDir']:undefined,'routingConfig':{}}]:[];});}const _0x53b78f=typeof _0x48a728[_0x381140(0x1c4)]===_0x381140(0x1cc)?_0x48a728[_0x381140(0x1c4)]:typeof _0x48a728[_0x381140(0x1be)]===_0x381140(0x1cc)?_0x48a728[_0x381140(0x1be)]:undefined;if(!_0x53b78f)return[];return[{'name':_0x53b78f,'appcode':_0x53b78f,'isDefault':!![],'region':'cn','regionSource':_0x381140(0x1a6),'apiDir':typeof _0x48a728[_0x381140(0x1bc)]===_0x381140(0x1cc)?_0x48a728[_0x381140(0x1bc)]:undefined,'routingConfig':{}}];}function configuredLayouts(_0x184370,_0x3c82ef){const _0x2fba8b=a200_0x4d14dc;return resolveApiProfileLayouts(_0x3c82ef,_0x586518=>a200_0x1be399[_0x2fba8b(0x1cd)](_0x184370,_0x586518['apiDir']||DEFAULT_API_DIR),_0x184370);}function uniqueRegistryGroups(_0x4f0fd9){const _0x3f5ea3=a200_0x4d14dc,_0x42d63d=[],_0x46df24=new Set(),_0x344170=new Set();for(const _0x4ba48e of _0x4f0fd9){const _0x28effc=getRegistryGroup(_0x4f0fd9,_0x4ba48e);if(!_0x28effc){_0x46df24[_0x3f5ea3(0x1ad)](_0x4ba48e[_0x3f5ea3(0x1c2)]);continue;}const _0x5308f5=_0x4ba48e[_0x3f5ea3(0x1b5)]+'\x00'+(_0x4ba48e[_0x3f5ea3(0x1b9)]??_0x3f5ea3(0x1ce));!_0x344170[_0x3f5ea3(0x1c5)](_0x5308f5)&&(_0x42d63d[_0x3f5ea3(0x1b4)](_0x28effc),_0x344170[_0x3f5ea3(0x1ad)](_0x5308f5));}return{'groups':_0x42d63d,'skipped':[..._0x46df24]};}function planGroup(_0x209bf8,_0x264d27){const _0x18b226=a200_0x4d14dc,_0x487eb8=_0x264d27[0x0][_0x18b226(0x1b5)],_0x315d69=a200_0x1be399['join'](_0x487eb8,MODEL_RUNTIME_FILE_NAME),_0x29ac8d=readOptional(_0x315d69),_0x1aa749=_0x29ac8d!==undefined&&_0x29ac8d[_0x18b226(0x195)]('Profile-aware\x20model\x20selection\x20generated\x20by\x20Rabetbase\x20CLI')&&_0x29ac8d[_0x18b226(0x195)]('Multiple\x20Lovrabet\x20model\x20profiles\x20match\x20Runtime\x20Domain')&&_0x29ac8d[_0x18b226(0x195)](_0x18b226(0x1cb)),_0x2df8d1=a200_0x1be399['join'](_0x487eb8,MODEL_REGISTRY_FILE_NAME),_0x23f408=a200_0x1be399[_0x18b226(0x1c9)](_0x487eb8,_0x18b226(0x1c1)),_0x56220b=[planEntrypoint(_0x209bf8,_0x487eb8,_0x18b226(0x1ab),isLegacyGeneratedApiScaffold),planEntrypoint(_0x209bf8,_0x487eb8,'client.ts',isLegacyGeneratedClientScaffold),{'path':_0x315d69,'action':_0x29ac8d===undefined?_0x18b226(0x19b):_0x1aa749?_0x18b226(0x1c0):'manual-merge','reason':_0x29ac8d===undefined?undefined:_0x18b226(0x1a8),..._0x29ac8d!==undefined&&!_0x1aa749?{'candidatePath':candidatePath(_0x209bf8,_0x487eb8,MODEL_RUNTIME_FILE_NAME)}:{}},{'path':_0x2df8d1,'action':existsSync(_0x2df8d1)?'preserve':_0x18b226(0x19b),'reason':'Model\x20facts\x20are\x20preserved\x20and\x20completed\x20from\x20legacy\x20generated\x20files\x20when\x20possible.'},{'path':_0x23f408,'action':existsSync(_0x23f408)?'preserve':_0x18b226(0x19b)}];return{'apiDir':_0x487eb8,'profiles':_0x264d27[_0x18b226(0x1d6)](_0x4f02c8=>_0x4f02c8[_0x18b226(0x1be)][_0x18b226(0x1b7)]),'files':_0x56220b};}export function analyzeProjectApiArchitecture(_0x5a6af2,_0x471778){const _0x272ddf=a200_0x4d14dc,_0x106b23=a200_0x1be399[_0x272ddf(0x1c9)](_0x5a6af2,'.rabetbase.json'),_0x42278e=_0x471778??(existsSync(_0x106b23)?readJsonObject(_0x106b23):{}),_0x4c553c=syntheticApps(_0x42278e);if(_0x4c553c['length']===0x0)return{'migration':MIGRATION_ID,'needed':![],'configAction':_0x272ddf(0x1a7),'groups':[],'skippedLegacyDirectories':[],'manualMergeRequired':![]};const _0x19d8c7=_0x42278e['apps']?_0x272ddf(0x1c0):_0x272ddf(0x1bd),{groups:_0x3035e5,skipped:_0x4f6a75}=uniqueRegistryGroups(configuredLayouts(_0x5a6af2,_0x4c553c)),_0x42e644=_0x3035e5[_0x272ddf(0x1d6)](_0x21da87=>planGroup(_0x5a6af2,_0x21da87)),_0x59cdcd=_0x42e644[_0x272ddf(0x1b2)](_0x41a82b=>_0x41a82b[_0x272ddf(0x1d4)][_0x272ddf(0x1b2)](_0x5ce63e=>_0x5ce63e[_0x272ddf(0x1d7)]===_0x272ddf(0x1a4))),_0x458738=_0x19d8c7===_0x272ddf(0x1bd)||_0x42e644['some'](_0x5181a4=>_0x5181a4['files'][_0x272ddf(0x1b2)](_0x39b6de=>![_0x272ddf(0x1c0),'preserve']['includes'](_0x39b6de['action'])));return{'migration':MIGRATION_ID,'needed':_0x458738,'configAction':_0x19d8c7,'groups':_0x42e644,'skippedLegacyDirectories':_0x4f6a75,'manualMergeRequired':_0x59cdcd};}function migrateSingleAppConfig(_0x42bff9){const _0x4af19c=a200_0x4d14dc,_0x38238f=a200_0x1be399['join'](_0x42bff9,_0x4af19c(0x1aa));if(!existsSync(_0x38238f))return;const _0x26f829=readConfigFile(_0x38238f);if(_0x26f829[_0x4af19c(0x1a3)]&&typeof _0x26f829[_0x4af19c(0x1a3)]==='object')return;const _0x5f2d3a=typeof _0x26f829[_0x4af19c(0x1c4)]===_0x4af19c(0x1cc)?_0x26f829[_0x4af19c(0x1c4)]:typeof _0x26f829[_0x4af19c(0x1be)]===_0x4af19c(0x1cc)?_0x26f829['app']:undefined;if(!_0x5f2d3a)return;_0x26f829[_0x4af19c(0x1a3)]={[_0x5f2d3a]:{'appcode':_0x5f2d3a}},_0x26f829['defaultApp']=_0x5f2d3a,delete _0x26f829['app'],delete _0x26f829[_0x4af19c(0x1c4)],writeConfigFile(_0x38238f,_0x26f829);}function legacyApiPath(_0x3e2551,_0x2f4878){const _0x405382=a200_0x4d14dc,_0x52d49b=_0x2f4878[_0x405382(0x1b5)],_0x18a426=_0x3e2551[_0x405382(0x1c6)]===0x1||_0x2f4878['app'][_0x405382(0x1c8)]?[a200_0x1be399['join'](_0x52d49b,_0x405382(0x1ab)),a200_0x1be399[_0x405382(0x1c9)](_0x52d49b,_0x2f4878[_0x405382(0x1be)][_0x405382(0x1b7)]+_0x405382(0x1cf))]:[a200_0x1be399['join'](_0x52d49b,_0x2f4878[_0x405382(0x1be)]['name']+_0x405382(0x1cf))];return _0x18a426['find'](existsSync);}function writeCandidateOrEntrypoint(_0x509beb,_0x3de1bf,_0x43adf4,_0xfcd07d){const _0x3ac77d=a200_0x4d14dc;if(_0x43adf4['action']===_0x3ac77d(0x1c0)||_0x43adf4[_0x3ac77d(0x1d7)]===_0x3ac77d(0x1a0))return;if(_0x43adf4['action']===_0x3ac77d(0x1a4)){const _0x2d4c7f=_0x43adf4['candidatePath'];mkdirSync(a200_0x1be399[_0x3ac77d(0x1b0)](_0x2d4c7f),{'recursive':!![]}),writeFileSync(_0x2d4c7f,_0xfcd07d,_0x3ac77d(0x19f));return;}if(_0x43adf4[_0x3ac77d(0x1d7)]===_0x3ac77d(0x1a9)){const _0x39cbe3=backupPath(_0x509beb,_0x3de1bf,a200_0x1be399[_0x3ac77d(0x1b1)](_0x43adf4[_0x3ac77d(0x1b6)]));mkdirSync(a200_0x1be399[_0x3ac77d(0x1b0)](_0x39cbe3),{'recursive':!![]}),copyFileSync(_0x43adf4[_0x3ac77d(0x1b6)],_0x39cbe3);}mkdirSync(a200_0x1be399['dirname'](_0x43adf4[_0x3ac77d(0x1b6)]),{'recursive':!![]}),writeFileSync(_0x43adf4[_0x3ac77d(0x1b6)],_0xfcd07d,_0x3ac77d(0x19f));}export async function upgradeProjectApiArchitecture(_0xaac08d){const _0xc288b4=a200_0x4d14dc,_0x2916ce=analyzeProjectApiArchitecture(_0xaac08d);migrateSingleAppConfig(_0xaac08d);const _0x424057=getMultiAppConfigs('project',_0xaac08d)??[],_0x4dd1d0=configuredLayouts(_0xaac08d,_0x424057),{groups:_0x49c93a}=uniqueRegistryGroups(_0x4dd1d0);let _0x1bc024;for(const _0x25c38e of _0x49c93a){const _0x1b3775=_0x25c38e[0x0]['normalizedApiDir'];mkdirSync(_0x1b3775,{'recursive':!![]});const _0x27f3b0=_0x25c38e['find'](_0x5b5749=>_0x5b5749[_0xc288b4(0x1be)][_0xc288b4(0x1c8)])??_0x25c38e[0x0];for(const _0x224bb2 of _0x25c38e){const _0x4318ab=a200_0x1be399[_0xc288b4(0x1c9)](_0x1b3775,MODEL_REGISTRY_FILE_NAME),_0x2b6ddf=readModelRegistry(_0x4318ab);if(_0x2b6ddf?.['profiles'][_0x224bb2[_0xc288b4(0x1be)][_0xc288b4(0x1b7)]])continue;const _0x341236=legacyApiPath(_0x25c38e,_0x224bb2),_0x3e3e27=_0x341236?readOptional(_0x341236):undefined;await initMultiAppEnvironment(_0x224bb2[_0xc288b4(0x1be)]),updateModelRegistry({'outputDir':_0x1b3775,'profileName':_0x224bb2['app'][_0xc288b4(0x1b7)],'defaultProfile':_0x27f3b0['app'][_0xc288b4(0x1b7)],'appCode':_0x224bb2[_0xc288b4(0x1be)][_0xc288b4(0x1c4)],'runtimeDomain':getRuntimeDomain(),'models':_0x3e3e27?parseLegacyApiModels(_0x3e3e27):[]});}const _0x5209cf=await renderModelRegistryScaffold(_0x1b3775,_0xaac08d),_0x599c70=planGroup(_0xaac08d,_0x25c38e);for(const _0x5d5b03 of _0x599c70[_0xc288b4(0x1d4)]){const _0x178583=a200_0x1be399[_0xc288b4(0x1b1)](_0x5d5b03[_0xc288b4(0x1b6)]);if(_0x178583===_0xc288b4(0x1ab))writeCandidateOrEntrypoint(_0xaac08d,_0x1b3775,_0x5d5b03,_0x5209cf[_0xc288b4(0x1bf)]);else{if(_0x178583===_0xc288b4(0x1a2))writeCandidateOrEntrypoint(_0xaac08d,_0x1b3775,_0x5d5b03,_0x5209cf[_0xc288b4(0x19e)]);else{if(_0x178583===MODEL_RUNTIME_FILE_NAME)writeCandidateOrEntrypoint(_0xaac08d,_0x1b3775,_0x5d5b03,_0x5209cf[_0xc288b4(0x19d)]);else _0x178583===_0xc288b4(0x1c1)&&_0x5d5b03[_0xc288b4(0x1d7)]===_0xc288b4(0x19b)&&writeCandidateOrEntrypoint(_0xaac08d,_0x1b3775,_0x5d5b03,SDK_CONFIG_SOURCE);}}}}const _0x49b6f8=_0x424057[_0xc288b4(0x1d1)](_0x4f350c=>_0x4f350c[_0xc288b4(0x1c8)])??_0x424057[0x0];_0x49b6f8&&(await initMultiAppEnvironment(_0x49b6f8),_0x1bc024=writeProjectDomainRoutingManifest(_0xaac08d)[_0xc288b4(0x1b6)]);const _0x30f14b=analyzeProjectApiArchitecture(_0xaac08d);return{..._0x2916ce,'completed':!_0x30f14b[_0xc288b4(0x199)],'manualMergeRequired':_0x30f14b[_0xc288b4(0x199)],'routingPath':_0x1bc024};}
|
|
1
|
+
const a200_0x55ccf0=a200_0x2a6d;(function(_0x5df315,_0x2c2c04){const _0x2f1136=a200_0x2a6d,_0x2fddda=_0x5df315();while(!![]){try{const _0x26a5b1=-parseInt(_0x2f1136(0x1ce))/0x1*(-parseInt(_0x2f1136(0x1e2))/0x2)+-parseInt(_0x2f1136(0x1e0))/0x3+-parseInt(_0x2f1136(0x1d7))/0x4+-parseInt(_0x2f1136(0x1da))/0x5+parseInt(_0x2f1136(0x1ee))/0x6*(parseInt(_0x2f1136(0x1b3))/0x7)+-parseInt(_0x2f1136(0x1c9))/0x8*(-parseInt(_0x2f1136(0x1d2))/0x9)+parseInt(_0x2f1136(0x1e5))/0xa*(-parseInt(_0x2f1136(0x1c0))/0xb);if(_0x26a5b1===_0x2c2c04)break;else _0x2fddda['push'](_0x2fddda['shift']());}catch(_0x3061f8){_0x2fddda['push'](_0x2fddda['shift']());}}}(a200_0x3c22,0x19876));import{copyFileSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import a200_0x1d034e from'node:path';import{getMultiAppConfigs,initMultiAppEnvironment,readConfigFile,writeConfigFile}from'../../context.js';import{DEFAULT_API_DIR}from'../../constant/paths.js';import{getRuntimeDomain}from'../../constant/domain.js';import{getRegistryGroup,resolveApiProfileLayouts}from'../../api/api-group.js';import{MODEL_REGISTRY_FILE_NAME,MODEL_RUNTIME_FILE_NAME,readModelRegistry,updateModelRegistry}from'../../api/model-registry-file.js';import{isLegacyGeneratedApiScaffold,isLegacyGeneratedClientScaffold,parseLegacyApiModels}from'../../api/legacy-api-file.js';import{renderModelRegistryScaffold}from'../../api/model-registry-scaffold.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';const MIGRATION_ID='api-model-registry-v2',SDK_CONFIG_SOURCE=a200_0x55ccf0(0x1df);function a200_0x2a6d(_0xbf4538,_0x3e4cd6){_0xbf4538=_0xbf4538-0x1b0;const _0x3c22e8=a200_0x3c22();let _0x2a6dc5=_0x3c22e8[_0xbf4538];return _0x2a6dc5;}function a200_0x3c22(){const _0x238a8d=['apiGroup','2984HjfTpV','relative','project','Recognized\x20legacy\x20CLI\x20scaffold;\x20a\x20backup\x20will\x20be\x20retained.','modelRuntime','3UEFNtM','client','entries','manual-merge','1845ZjuMhV','Multiple\x20Lovrabet\x20model\x20profiles\x20match\x20Runtime\x20Domain','-api.ts','parse','preserve','170792Tfmbzr','The\x20existing\x20runtime\x20selector\x20is\x20not\x20a\x20recognized\x20current\x20generated\x20file.','Profile-aware\x20model\x20selection\x20generated\x20by\x20Rabetbase\x20CLI','104860WkEdsN','profiles','dirname','flatMap','isDefault','/**\x0a\x20*\x20Lovrabet\x20SDK\x20runtime\x20routing.\x0a\x20*\x20Generated\x20by\x20Rabetbase\x20CLI.\x20Do\x20not\x20add\x20credentials\x20to\x20this\x20file.\x0a\x20*/\x0aexport\x20const\x20LOVRABET_SDK_CONFIG\x20=\x20{}\x20as\x20const;\x0a','226803beGJWE','normalizedApiDir','1354LCfFDW','client.ts','unchanged','275270SMuOyD','resolve','push','outputDir','migrate-single-app','.rabetbase','length','files','string','89016KfCdLZ','startsWith','action','apiDir','sdk-config.ts','path','some','replace-generated','app','The\x20file\x20contains\x20project-owned\x20code\x20and\x20will\x20not\x20be\x20overwritten.','api.ts','add','apps','single','find','./models.generated','91OPPPrC','backups','has','name','./model-runtime','.rabetbase.json','LOVRABET_RUNTIME_DOMAIN','appcode','defaultApp','keys','utf8','candidates','join','11Tsiueb','project-upgrade','map','includes','external-api-dir','basename','object','default'];a200_0x3c22=function(){return _0x238a8d;};return a200_0x3c22();}function relativeMigrationDir(_0x7ee339,_0x2c93dc){const _0x20e7fd=a200_0x55ccf0,_0x47d8b5=a200_0x1d034e[_0x20e7fd(0x1ca)](_0x7ee339,_0x2c93dc);return _0x47d8b5&&!_0x47d8b5[_0x20e7fd(0x1ef)]('..')?_0x47d8b5:_0x20e7fd(0x1c4);}function candidatePath(_0x537b96,_0x95eeb7,_0x264f26){const _0x551036=a200_0x55ccf0;return a200_0x1d034e[_0x551036(0x1bf)](_0x537b96,_0x551036(0x1ea),_0x551036(0x1c1),MIGRATION_ID,_0x551036(0x1be),relativeMigrationDir(_0x537b96,_0x95eeb7),_0x264f26);}function backupPath(_0x56a871,_0xd542ac,_0x369bb8){const _0x536dee=a200_0x55ccf0;return a200_0x1d034e['join'](_0x56a871,_0x536dee(0x1ea),'project-upgrade',MIGRATION_ID,_0x536dee(0x1b4),relativeMigrationDir(_0x56a871,_0xd542ac),_0x369bb8);}function readOptional(_0x3a2858){try{return readFileSync(_0x3a2858,'utf8');}catch{return undefined;}}function readJsonObject(_0x1a1c0c){const _0x12ac3c=a200_0x55ccf0;try{const _0x5990ce=JSON[_0x12ac3c(0x1d5)](readFileSync(_0x1a1c0c,_0x12ac3c(0x1bd)));return _0x5990ce&&typeof _0x5990ce===_0x12ac3c(0x1c6)?_0x5990ce:{};}catch{return{};}}function planEntrypoint(_0x3739c5,_0x592a0a,_0x545cd2,_0x27ef6d){const _0x149ad4=a200_0x55ccf0,_0x4a4e10=a200_0x1d034e[_0x149ad4(0x1bf)](_0x592a0a,_0x545cd2),_0x561e60=readOptional(_0x4a4e10);if(_0x561e60===undefined)return{'path':_0x4a4e10,'action':'create'};if(_0x545cd2==='api.ts'?_0x561e60[_0x149ad4(0x1c3)](_0x149ad4(0x1b2))&&_0x561e60[_0x149ad4(0x1c3)](_0x149ad4(0x1b7)):_0x561e60[_0x149ad4(0x1c3)](_0x149ad4(0x1b9)))return{'path':_0x4a4e10,'action':'unchanged'};if(_0x27ef6d(_0x561e60))return{'path':_0x4a4e10,'action':_0x149ad4(0x1f5),'reason':_0x149ad4(0x1cc)};return{'path':_0x4a4e10,'action':_0x149ad4(0x1d1),'reason':_0x149ad4(0x1f7),'candidatePath':candidatePath(_0x3739c5,_0x592a0a,_0x545cd2)};}function syntheticApps(_0x4fa2a2){const _0x34a80a=a200_0x55ccf0,_0x175833=_0x4fa2a2['apps']&&typeof _0x4fa2a2[_0x34a80a(0x1fa)]==='object'?_0x4fa2a2[_0x34a80a(0x1fa)]:undefined;if(_0x175833&&Object['keys'](_0x175833)[_0x34a80a(0x1eb)]>0x0){const _0x49b686=typeof _0x4fa2a2['defaultApp']==='string'?_0x4fa2a2[_0x34a80a(0x1bb)]:Object[_0x34a80a(0x1bc)](_0x175833)[_0x34a80a(0x1eb)]===0x1?Object[_0x34a80a(0x1bc)](_0x175833)[0x0]:undefined;return Object[_0x34a80a(0x1d0)](_0x175833)[_0x34a80a(0x1dd)](([_0x4a4e72,_0x14e864])=>{const _0xbc7d3c=_0x34a80a,_0x28c349=_0x14e864,_0x5ca7f2=typeof _0x28c349[_0xbc7d3c(0x1ba)]===_0xbc7d3c(0x1ed)?_0x28c349[_0xbc7d3c(0x1ba)]:'';return _0x5ca7f2?[{'name':_0x4a4e72,'appcode':_0x5ca7f2,'apiGroup':typeof _0x28c349[_0xbc7d3c(0x1c8)]===_0xbc7d3c(0x1ed)?_0x28c349[_0xbc7d3c(0x1c8)]:undefined,'isDefault':_0x4a4e72===_0x49b686,'region':'cn','regionSource':_0xbc7d3c(0x1c7),'apiDir':typeof _0x28c349[_0xbc7d3c(0x1f1)]===_0xbc7d3c(0x1ed)?_0x28c349[_0xbc7d3c(0x1f1)]:typeof _0x4fa2a2[_0xbc7d3c(0x1f1)]===_0xbc7d3c(0x1ed)?_0x4fa2a2[_0xbc7d3c(0x1f1)]:undefined,'routingConfig':{}}]:[];});}const _0x10eb82=typeof _0x4fa2a2[_0x34a80a(0x1ba)]===_0x34a80a(0x1ed)?_0x4fa2a2[_0x34a80a(0x1ba)]:typeof _0x4fa2a2[_0x34a80a(0x1f6)]==='string'?_0x4fa2a2['app']:undefined;if(!_0x10eb82)return[];return[{'name':_0x10eb82,'appcode':_0x10eb82,'isDefault':!![],'region':'cn','regionSource':_0x34a80a(0x1c7),'apiDir':typeof _0x4fa2a2['apiDir']===_0x34a80a(0x1ed)?_0x4fa2a2['apiDir']:undefined,'routingConfig':{}}];}function configuredLayouts(_0x9da6a5,_0x527c54){const _0x52f96b=a200_0x55ccf0;return resolveApiProfileLayouts(_0x527c54,_0x2f3693=>a200_0x1d034e[_0x52f96b(0x1e6)](_0x9da6a5,_0x2f3693['apiDir']||DEFAULT_API_DIR),_0x9da6a5);}function uniqueRegistryGroups(_0x4c9335){const _0x538f77=a200_0x55ccf0,_0x3ba2bc=[],_0x43f24e=new Set(),_0x2f0796=new Set();for(const _0x31fc37 of _0x4c9335){const _0x4c2d0b=getRegistryGroup(_0x4c9335,_0x31fc37);if(!_0x4c2d0b){_0x43f24e[_0x538f77(0x1f9)](_0x31fc37[_0x538f77(0x1e8)]);continue;}const _0x516f29=_0x31fc37[_0x538f77(0x1e1)]+'\x00'+(_0x31fc37['apiGroup']??_0x538f77(0x1b0));!_0x2f0796[_0x538f77(0x1b5)](_0x516f29)&&(_0x3ba2bc[_0x538f77(0x1e7)](_0x4c2d0b),_0x2f0796[_0x538f77(0x1f9)](_0x516f29));}return{'groups':_0x3ba2bc,'skipped':[..._0x43f24e]};}function planGroup(_0x4867f9,_0x8098c1){const _0x5f0142=a200_0x55ccf0,_0x4cbf5c=_0x8098c1[0x0]['normalizedApiDir'],_0xffa391=a200_0x1d034e[_0x5f0142(0x1bf)](_0x4cbf5c,MODEL_RUNTIME_FILE_NAME),_0x26b116=readOptional(_0xffa391),_0x35b771=_0x26b116!==undefined&&_0x26b116[_0x5f0142(0x1c3)](_0x5f0142(0x1d9))&&_0x26b116[_0x5f0142(0x1c3)](_0x5f0142(0x1d3))&&_0x26b116[_0x5f0142(0x1c3)]('No\x20Lovrabet\x20model\x20profile\x20matches\x20Runtime\x20Domain'),_0x1c4b75=a200_0x1d034e[_0x5f0142(0x1bf)](_0x4cbf5c,MODEL_REGISTRY_FILE_NAME),_0x56aedf=a200_0x1d034e[_0x5f0142(0x1bf)](_0x4cbf5c,_0x5f0142(0x1f2)),_0x22c33f=[planEntrypoint(_0x4867f9,_0x4cbf5c,_0x5f0142(0x1f8),isLegacyGeneratedApiScaffold),planEntrypoint(_0x4867f9,_0x4cbf5c,_0x5f0142(0x1e3),isLegacyGeneratedClientScaffold),{'path':_0xffa391,'action':_0x26b116===undefined?'create':_0x35b771?'unchanged':_0x5f0142(0x1d1),'reason':_0x26b116===undefined?undefined:_0x5f0142(0x1d8),..._0x26b116!==undefined&&!_0x35b771?{'candidatePath':candidatePath(_0x4867f9,_0x4cbf5c,MODEL_RUNTIME_FILE_NAME)}:{}},{'path':_0x1c4b75,'action':existsSync(_0x1c4b75)?_0x5f0142(0x1d6):'create','reason':'Model\x20facts\x20are\x20preserved\x20and\x20completed\x20from\x20legacy\x20generated\x20files\x20when\x20possible.'},{'path':_0x56aedf,'action':existsSync(_0x56aedf)?_0x5f0142(0x1d6):'create'}];return{'apiDir':_0x4cbf5c,'profiles':_0x8098c1['map'](_0x9f3a6b=>_0x9f3a6b[_0x5f0142(0x1f6)][_0x5f0142(0x1b6)]),'files':_0x22c33f};}export function analyzeProjectApiArchitecture(_0x92f2ef,_0x3ebd92){const _0x45a786=a200_0x55ccf0,_0x489262=a200_0x1d034e[_0x45a786(0x1bf)](_0x92f2ef,'.rabetbase.json'),_0x205139=_0x3ebd92??(existsSync(_0x489262)?readJsonObject(_0x489262):{}),_0x2c6477=syntheticApps(_0x205139);if(_0x2c6477[_0x45a786(0x1eb)]===0x0)return{'migration':MIGRATION_ID,'needed':![],'configAction':'unconfigured','groups':[],'skippedLegacyDirectories':[],'manualMergeRequired':![]};const _0x4bd6ba=_0x205139[_0x45a786(0x1fa)]?_0x45a786(0x1e4):_0x45a786(0x1e9),{groups:_0x1e91d5,skipped:_0x3f3b42}=uniqueRegistryGroups(configuredLayouts(_0x92f2ef,_0x2c6477)),_0x484cfc=_0x1e91d5[_0x45a786(0x1c2)](_0x1f5846=>planGroup(_0x92f2ef,_0x1f5846)),_0x250bb6=_0x484cfc[_0x45a786(0x1f4)](_0x4e6ba2=>_0x4e6ba2[_0x45a786(0x1ec)][_0x45a786(0x1f4)](_0x385be3=>_0x385be3[_0x45a786(0x1f0)]===_0x45a786(0x1d1))),_0x3d9476=_0x4bd6ba===_0x45a786(0x1e9)||_0x484cfc[_0x45a786(0x1f4)](_0xd4c283=>_0xd4c283['files'][_0x45a786(0x1f4)](_0x3fc4f4=>![_0x45a786(0x1e4),_0x45a786(0x1d6)][_0x45a786(0x1c3)](_0x3fc4f4[_0x45a786(0x1f0)])));return{'migration':MIGRATION_ID,'needed':_0x3d9476,'configAction':_0x4bd6ba,'groups':_0x484cfc,'skippedLegacyDirectories':_0x3f3b42,'manualMergeRequired':_0x250bb6};}function migrateSingleAppConfig(_0x155e2d){const _0x59b5c5=a200_0x55ccf0,_0x544e2d=a200_0x1d034e[_0x59b5c5(0x1bf)](_0x155e2d,_0x59b5c5(0x1b8));if(!existsSync(_0x544e2d))return;const _0x13f7e8=readConfigFile(_0x544e2d);if(_0x13f7e8[_0x59b5c5(0x1fa)]&&typeof _0x13f7e8['apps']===_0x59b5c5(0x1c6))return;const _0x4abeab=typeof _0x13f7e8['appcode']===_0x59b5c5(0x1ed)?_0x13f7e8['appcode']:typeof _0x13f7e8[_0x59b5c5(0x1f6)]===_0x59b5c5(0x1ed)?_0x13f7e8[_0x59b5c5(0x1f6)]:undefined;if(!_0x4abeab)return;_0x13f7e8['apps']={[_0x4abeab]:{'appcode':_0x4abeab}},_0x13f7e8[_0x59b5c5(0x1bb)]=_0x4abeab,delete _0x13f7e8['app'],delete _0x13f7e8['appcode'],writeConfigFile(_0x544e2d,_0x13f7e8);}function legacyApiPath(_0x146116,_0xb611e9){const _0x4da37c=a200_0x55ccf0,_0x27cca3=_0xb611e9[_0x4da37c(0x1e1)],_0x54d6c4=_0x146116[_0x4da37c(0x1eb)]===0x1||_0xb611e9['app'][_0x4da37c(0x1de)]?[a200_0x1d034e[_0x4da37c(0x1bf)](_0x27cca3,_0x4da37c(0x1f8)),a200_0x1d034e[_0x4da37c(0x1bf)](_0x27cca3,_0xb611e9['app'][_0x4da37c(0x1b6)]+_0x4da37c(0x1d4))]:[a200_0x1d034e['join'](_0x27cca3,_0xb611e9[_0x4da37c(0x1f6)][_0x4da37c(0x1b6)]+_0x4da37c(0x1d4))];return _0x54d6c4['find'](existsSync);}function writeCandidateOrEntrypoint(_0x545136,_0x544420,_0x119557,_0x592f66){const _0x57373a=a200_0x55ccf0;if(_0x119557[_0x57373a(0x1f0)]==='unchanged'||_0x119557[_0x57373a(0x1f0)]===_0x57373a(0x1d6))return;if(_0x119557[_0x57373a(0x1f0)]===_0x57373a(0x1d1)){const _0x1f59c2=_0x119557['candidatePath'];mkdirSync(a200_0x1d034e[_0x57373a(0x1dc)](_0x1f59c2),{'recursive':!![]}),writeFileSync(_0x1f59c2,_0x592f66,_0x57373a(0x1bd));return;}if(_0x119557['action']==='replace-generated'){const _0x16f38f=backupPath(_0x545136,_0x544420,a200_0x1d034e[_0x57373a(0x1c5)](_0x119557[_0x57373a(0x1f3)]));mkdirSync(a200_0x1d034e['dirname'](_0x16f38f),{'recursive':!![]}),copyFileSync(_0x119557[_0x57373a(0x1f3)],_0x16f38f);}mkdirSync(a200_0x1d034e['dirname'](_0x119557['path']),{'recursive':!![]}),writeFileSync(_0x119557[_0x57373a(0x1f3)],_0x592f66,_0x57373a(0x1bd));}export async function upgradeProjectApiArchitecture(_0x37f5b1){const _0x3417de=a200_0x55ccf0,_0x5bcf74=analyzeProjectApiArchitecture(_0x37f5b1);migrateSingleAppConfig(_0x37f5b1);const _0x3ac098=getMultiAppConfigs(_0x3417de(0x1cb),_0x37f5b1)??[],_0x13e047=configuredLayouts(_0x37f5b1,_0x3ac098),{groups:_0x21c69b}=uniqueRegistryGroups(_0x13e047);let _0x91a343;for(const _0x5ddee2 of _0x21c69b){const _0x4d7dc5=_0x5ddee2[0x0][_0x3417de(0x1e1)];mkdirSync(_0x4d7dc5,{'recursive':!![]});const _0x267777=_0x5ddee2[_0x3417de(0x1b1)](_0x308622=>_0x308622['app'][_0x3417de(0x1de)])??_0x5ddee2[0x0];for(const _0x5578a6 of _0x5ddee2){const _0x4c3147=a200_0x1d034e[_0x3417de(0x1bf)](_0x4d7dc5,MODEL_REGISTRY_FILE_NAME),_0x1b8165=readModelRegistry(_0x4c3147);if(_0x1b8165?.[_0x3417de(0x1db)][_0x5578a6[_0x3417de(0x1f6)][_0x3417de(0x1b6)]])continue;const _0x1d6431=legacyApiPath(_0x5ddee2,_0x5578a6),_0x44f4b6=_0x1d6431?readOptional(_0x1d6431):undefined;await initMultiAppEnvironment(_0x5578a6['app']),updateModelRegistry({'outputDir':_0x4d7dc5,'profileName':_0x5578a6['app'][_0x3417de(0x1b6)],'defaultProfile':_0x267777['app'][_0x3417de(0x1b6)],'appCode':_0x5578a6[_0x3417de(0x1f6)]['appcode'],'runtimeDomain':getRuntimeDomain(),'models':_0x44f4b6?parseLegacyApiModels(_0x44f4b6):[]});}const _0x77abe1=await renderModelRegistryScaffold(_0x4d7dc5,_0x37f5b1),_0x58e3c9=planGroup(_0x37f5b1,_0x5ddee2);for(const _0x53a508 of _0x58e3c9[_0x3417de(0x1ec)]){const _0x4a1a67=a200_0x1d034e[_0x3417de(0x1c5)](_0x53a508[_0x3417de(0x1f3)]);if(_0x4a1a67===_0x3417de(0x1f8))writeCandidateOrEntrypoint(_0x37f5b1,_0x4d7dc5,_0x53a508,_0x77abe1['api']);else{if(_0x4a1a67===_0x3417de(0x1e3))writeCandidateOrEntrypoint(_0x37f5b1,_0x4d7dc5,_0x53a508,_0x77abe1[_0x3417de(0x1cf)]);else{if(_0x4a1a67===MODEL_RUNTIME_FILE_NAME)writeCandidateOrEntrypoint(_0x37f5b1,_0x4d7dc5,_0x53a508,_0x77abe1[_0x3417de(0x1cd)]);else _0x4a1a67===_0x3417de(0x1f2)&&_0x53a508[_0x3417de(0x1f0)]==='create'&&writeCandidateOrEntrypoint(_0x37f5b1,_0x4d7dc5,_0x53a508,SDK_CONFIG_SOURCE);}}}}const _0x1d8e04=_0x3ac098[_0x3417de(0x1b1)](_0x3115cf=>_0x3115cf[_0x3417de(0x1de)])??_0x3ac098[0x0];_0x1d8e04&&(await initMultiAppEnvironment(_0x1d8e04),_0x91a343=writeProjectDomainRoutingManifest(_0x37f5b1)[_0x3417de(0x1f3)]);const _0x24575b=analyzeProjectApiArchitecture(_0x37f5b1);return{..._0x5bcf74,'completed':!_0x24575b['manualMergeRequired'],'manualMergeRequired':_0x24575b['manualMergeRequired'],'routingPath':_0x91a343};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a201_0x800b(_0x19b891,_0x1ec0a0){_0x19b891=_0x19b891-0x110;const _0x29a123=a201_0x29a1();let _0x800b63=_0x29a123[_0x19b891];return _0x800b63;}function a201_0x29a1(){const _0x2544c2=['Project\x20name:','\x22\x20already\x20exists','my-app','env','Skipped','1JeSeCZ','string','1417073ytuHvP','√\x20Login\x20status:\x20','2129498pJnkrK','green','7438524WERLgm','1220424dOQnPx','production','Directory\x20\x22','354159gOiOlq','200HRhTVV','16fmuMZG','resolve','1642175QRDOXl','Logged\x20in','trim','√\x20Project\x20Name:\x20','log','√\x20App\x20Code:\x20','cyan','24099650RbvQzi'];a201_0x29a1=function(){return _0x2544c2;};return a201_0x29a1();}(function(_0x3d605c,_0x917acf){const _0x60db7b=a201_0x800b,_0x10c427=_0x3d605c();while(!![]){try{const _0x5b85b7=parseInt(_0x60db7b(0x128))/0x1*(-parseInt(_0x60db7b(0x111))/0x2)+parseInt(_0x60db7b(0x114))/0x3+-parseInt(_0x60db7b(0x119))/0x4*(parseInt(_0x60db7b(0x11b))/0x5)+parseInt(_0x60db7b(0x113))/0x6+parseInt(_0x60db7b(0x12a))/0x7+parseInt(_0x60db7b(0x118))/0x8*(-parseInt(_0x60db7b(0x117))/0x9)+parseInt(_0x60db7b(0x122))/0xa;if(_0x5b85b7===_0x917acf)break;else _0x10c427['push'](_0x10c427['shift']());}catch(_0x3988c2){_0x10c427['push'](_0x10c427['shift']());}}}(a201_0x29a1,0xdaebe));import{existsSync}from'node:fs';import a201_0x443d3b from'node:path';import a201_0x2007f7 from'chalk';import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';export async function guidedCreateProject(_0x5cc4e3,_0x5a14a0,_0x5c279e){const _0x33aa19=a201_0x800b,_0x4f8da4=_0x33aa19(0x125),_0x15676a=readConfig(),_0x568b55=typeof _0x15676a[_0x33aa19(0x126)]===_0x33aa19(0x129)?_0x15676a['env']:undefined,_0x6926d9=await input({'message':_0x33aa19(0x123),'default':_0x4f8da4,'validate':_0x348c5a=>{const _0x318e85=_0x33aa19,_0x1ad7ef=_0x348c5a[_0x318e85(0x11d)]()||_0x4f8da4,_0x5e0688=getProjectNameValidationError(_0x1ad7ef);if(_0x5e0688)return _0x5e0688;const _0x56ade4=a201_0x443d3b[_0x318e85(0x11a)](process['cwd'](),_0x1ad7ef);if(existsSync(_0x56ade4))return _0x318e85(0x116)+_0x1ad7ef+_0x318e85(0x124);return!![];}});console['log'](a201_0x2007f7['green'](_0x33aa19(0x11e)+a201_0x2007f7[_0x33aa19(0x121)](_0x6926d9)));const _0x178116=await selectSingleAppcode(_0x5c279e);console[_0x33aa19(0x11f)](a201_0x2007f7[_0x33aa19(0x112)](_0x33aa19(0x120)+a201_0x2007f7[_0x33aa19(0x121)](_0x178116||'Not\x20set')));if(_0x178116){const _0x3f1551=await getIsSessionValid();if(!_0x3f1551){const _0x49f14b=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0x49f14b){const _0x27ae6b=await authServer({'silent':!![]});console[_0x33aa19(0x11f)](a201_0x2007f7['green'](_0x33aa19(0x110)+a201_0x2007f7[_0x33aa19(0x121)](_0x27ae6b?_0x33aa19(0x11c):'Login\x20failed')));}else console[_0x33aa19(0x11f)](a201_0x2007f7[_0x33aa19(0x112)](_0x33aa19(0x110)+a201_0x2007f7[_0x33aa19(0x121)](_0x33aa19(0x127))));}await _0x5cc4e3({'projectName':_0x6926d9,'appCode':_0x178116,'env':_0x5a14a0||_0x568b55||_0x33aa19(0x115)});}else await _0x5cc4e3({'projectName':_0x6926d9,'env':_0x5a14a0||_0x568b55||_0x33aa19(0x115)});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1ddde2,_0x46697){const _0x43504d=a202_0x47bc,_0x35d81a=_0x1ddde2();while(!![]){try{const _0x11772c=parseInt(_0x43504d(0x1d8))/0x1*(-parseInt(_0x43504d(0x1de))/0x2)+parseInt(_0x43504d(0x1e0))/0x3*(-parseInt(_0x43504d(0x1dc))/0x4)+parseInt(_0x43504d(0x1d9))/0x5*(-parseInt(_0x43504d(0x1da))/0x6)+-parseInt(_0x43504d(0x1e1))/0x7+-parseInt(_0x43504d(0x1dd))/0x8*(parseInt(_0x43504d(0x1df))/0x9)+-parseInt(_0x43504d(0x1d5))/0xa+-parseInt(_0x43504d(0x1d7))/0xb*(-parseInt(_0x43504d(0x1db))/0xc);if(_0x11772c===_0x46697)break;else _0x35d81a['push'](_0x35d81a['shift']());}catch(_0x50bfdf){_0x35d81a['push'](_0x35d81a['shift']());}}}(a202_0x1f2b,0x2e4cd));export function formatElapsed(_0x1c2efb){const _0x232ac7=a202_0x47bc,_0x4fe563=Date[_0x232ac7(0x1d6)]()-_0x1c2efb;if(_0x4fe563<0x3e8)return _0x4fe563+'ms';const _0x56e669=(_0x4fe563/0x3e8)['toFixed'](0x2),_0x3a8882=_0x56e669['replace'](/\.?0+$/u,'');return _0x3a8882+'s';}function a202_0x47bc(_0x1fc72b,_0x5b3f5c){_0x1fc72b=_0x1fc72b-0x1d5;const _0x1f2b54=a202_0x1f2b();let _0x47bc92=_0x1f2b54[_0x1fc72b];return _0x47bc92;}function a202_0x1f2b(){const _0x1dd174=['83875lcwiAZ','65575aBMHio','395xKgkQI','10848NUndnW','1392hvDLyf','148XEPImj','103832Nomtaz','10YTOGJa','45SmdUou','3333EQliPZ','373646BjyLXe','647680EvcgwP','now'];a202_0x1f2b=function(){return _0x1dd174;};return a202_0x1f2b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1cd824,_0x367784){const _0xe1afda=a203_0x132c,_0x2eb9d7=_0x1cd824();while(!![]){try{const _0x2e38f2=-parseInt(_0xe1afda(0x208))/0x1+-parseInt(_0xe1afda(0x227))/0x2+parseInt(_0xe1afda(0x243))/0x3*(-parseInt(_0xe1afda(0x235))/0x4)+parseInt(_0xe1afda(0x245))/0x5+-parseInt(_0xe1afda(0x1f1))/0x6*(-parseInt(_0xe1afda(0x234))/0x7)+parseInt(_0xe1afda(0x1da))/0x8*(-parseInt(_0xe1afda(0x1d4))/0x9)+parseInt(_0xe1afda(0x229))/0xa;if(_0x2e38f2===_0x367784)break;else _0x2eb9d7['push'](_0x2eb9d7['shift']());}catch(_0x326888){_0x2eb9d7['push'](_0x2eb9d7['shift']());}}}(a203_0x4d65,0xa6f14));import a203_0xdf9ccc from'path';import a203_0x47e0ef from'fs';import a203_0x268d8d from'chalk';import a203_0x29ebcc from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getRuntimeDomain,getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function a203_0x132c(_0x34bd72,_0x2b914d){_0x34bd72=_0x34bd72-0x1cb;const _0x4d6571=a203_0x4d65();let _0x132c15=_0x4d6571[_0x34bd72];return _0x132c15;}function readDirectoryIdentity(_0x50ebb6){const _0x5754ea=a203_0x132c;try{const _0x420687=a203_0x47e0ef[_0x5754ea(0x1cc)](_0x50ebb6);if(!_0x420687[_0x5754ea(0x201)]())return null;return{'dev':_0x420687[_0x5754ea(0x1d3)],'ino':_0x420687[_0x5754ea(0x206)]};}catch{return null;}}function isSameDirectory(_0x2fa2a9,_0x3a83e0){const _0x1c54e4=a203_0x132c;return!!_0x2fa2a9&&!!_0x3a83e0&&_0x2fa2a9['dev']===_0x3a83e0['dev']&&_0x2fa2a9[_0x1c54e4(0x206)]===_0x3a83e0[_0x1c54e4(0x206)];}function commitCurrentDirectoryProject(_0x53356e,_0x5a09fb,_0x4cdcb0){const _0x3f4e8d=a203_0x132c;if(!isSameDirectory(readDirectoryIdentity(_0x53356e),_0x4cdcb0))throw new Error(_0x3f4e8d(0x224));const _0x2637f7=a203_0xdf9ccc[_0x3f4e8d(0x1db)](_0x5a09fb),_0x25fff6=a203_0x47e0ef[_0x3f4e8d(0x22d)](_0x53356e);if(_0x25fff6[_0x3f4e8d(0x226)]!==0x1||_0x25fff6[0x0]!==_0x2637f7)throw CliErrors[_0x3f4e8d(0x21f)](_0x3f4e8d(0x1e6),_0x3f4e8d(0x210));const _0x54f492=a203_0xdf9ccc[_0x3f4e8d(0x225)](_0x5a09fb,_0x3f4e8d(0x1d1)),_0x4a72e9=[];try{for(const _0x13cf74 of a203_0x47e0ef['readdirSync'](_0x54f492)){a203_0x47e0ef[_0x3f4e8d(0x215)](a203_0xdf9ccc['join'](_0x54f492,_0x13cf74),a203_0xdf9ccc[_0x3f4e8d(0x225)](_0x53356e,_0x13cf74)),_0x4a72e9[_0x3f4e8d(0x1f5)](_0x13cf74);}a203_0x47e0ef[_0x3f4e8d(0x21d)](_0x5a09fb,{'recursive':!![],'force':!![]});}catch(_0x2cff05){for(const _0x5b73da of _0x4a72e9[_0x3f4e8d(0x207)]()){const _0x564184=a203_0xdf9ccc[_0x3f4e8d(0x225)](_0x53356e,_0x5b73da);if(!a203_0x47e0ef['existsSync'](_0x564184))continue;a203_0x47e0ef['renameSync'](_0x564184,a203_0xdf9ccc['join'](_0x54f492,_0x5b73da));}throw _0x2cff05;}}export async function createApp(_0x5aae9c){const _0xff7818=a203_0x132c,_0x5aa388=await checkCliVersion();(_0x5aa388[_0xff7818(0x204)]||_0x5aa388[_0xff7818(0x1ec)])&&(printCliUpgradeWarning(_0x5aa388),assertCliVersionSupported(_0x5aa388),logger['info']('create',_0xff7818(0x213),{'currentVersion':_0x5aa388[_0xff7818(0x205)],'stableVersion':_0x5aa388[_0xff7818(0x237)],'minimumVersion':_0x5aa388[_0xff7818(0x1e7)],'needsUpgrade':_0x5aa388[_0xff7818(0x204)],'belowMinimum':_0x5aa388[_0xff7818(0x1ec)]}));const _0x504bac=_0x5aae9c[_0xff7818(0x20c)]?a203_0xdf9ccc['basename'](process[_0xff7818(0x209)]()):_0x5aae9c[_0xff7818(0x244)];if(_0x504bac&&(_0x5aae9c[_0xff7818(0x1fb)]||_0x5aae9c[_0xff7818(0x21c)]))await runCreate({'projectName':_0x504bac,'appCode':_0x5aae9c[_0xff7818(0x1fb)],'env':_0x5aae9c['env']},_0x5aae9c);else{if(_0x504bac){const _0x3f9663=await selectSingleAppcode(_0x5aae9c[_0xff7818(0x1fe)]);await runCreate({'projectName':_0x504bac,'appCode':_0x3f9663||undefined,'env':_0x5aae9c[_0xff7818(0x23a)]},_0x5aae9c);}else await guidedCreateProject(_0x117cc2=>runCreate(_0x117cc2,_0x5aae9c),_0x5aae9c['env'],_0x5aae9c[_0xff7818(0x1fe)]);}}async function runCreate(_0x5694f0,_0x5a0ab9){const _0x4275b2=a203_0x132c;_0x5694f0['projectName']=validateProjectName(_0x5694f0[_0x4275b2(0x1d0)]);const _0x4740b2=_0x5a0ab9[_0x4275b2(0x20c)]?process[_0x4275b2(0x209)]():a203_0xdf9ccc[_0x4275b2(0x1cf)](process[_0x4275b2(0x209)](),_0x5694f0[_0x4275b2(0x1d0)]);if(_0x5a0ab9[_0x4275b2(0x20c)]){if(a203_0x47e0ef[_0x4275b2(0x22d)](_0x4740b2)[_0x4275b2(0x226)]>0x0)throw CliErrors[_0x4275b2(0x21f)](_0x4275b2(0x1f6),_0x4275b2(0x231));}else{if(a203_0x47e0ef[_0x4275b2(0x22b)](_0x4740b2))throw new Error(_0x4275b2(0x21a)+_0x5694f0[_0x4275b2(0x1d0)]+_0x4275b2(0x1d5));}let _0x211d4e=null;const _0x504f1c=_0x5a0ab9[_0x4275b2(0x20c)]?readDirectoryIdentity(_0x4740b2):null;let _0x2b8b06=null;try{a203_0x47e0ef[_0x4275b2(0x1de)](a203_0xdf9ccc[_0x4275b2(0x21b)](_0x4740b2),a203_0x47e0ef['constants'][_0x4275b2(0x23d)]);}catch{throw new Error(_0x4275b2(0x1d2));}logger[_0x4275b2(0x1cb)](_0x4275b2(0x1e2),'Starting\x20project\x20creation:\x20'+_0x5694f0['projectName'],{'projectDir':_0x4740b2,'appCode':_0x5694f0[_0x4275b2(0x1fb)]}),console[_0x4275b2(0x23c)](),console['log'](a203_0x268d8d[_0x4275b2(0x22e)]('\x20√\x20')+_0x4275b2(0x203)+a203_0x268d8d['green'](_0x5694f0[_0x4275b2(0x1d0)])+(_0x5694f0[_0x4275b2(0x1fb)]?_0x4275b2(0x219)+a203_0x268d8d['cyan'](_0x5694f0[_0x4275b2(0x1fb)]):''));try{let _0x38d8e4=_0x5694f0[_0x4275b2(0x1d0)];_0x5a0ab9[_0x4275b2(0x20c)]&&(_0x2b8b06=a203_0x47e0ef[_0x4275b2(0x1d7)](a203_0xdf9ccc[_0x4275b2(0x225)](_0x4740b2,_0x4275b2(0x1f4))),_0x38d8e4=a203_0xdf9ccc['relative'](process[_0x4275b2(0x209)](),a203_0xdf9ccc[_0x4275b2(0x225)](_0x2b8b06,_0x4275b2(0x1d1))));const _0x2706aa=a203_0xdf9ccc[_0x4275b2(0x1cf)](process['cwd'](),_0x38d8e4);await runTask(_0x4275b2(0x1cd),_0x2cc5d8=>copyProjectTemplate(_0x38d8e4,_0x1aee73=>_0x2cc5d8(projectTemplateStageLabel(_0x1aee73)),_0x5a0ab9[_0x4275b2(0x1fa)]),_0x4275b2(0x23e)),_0x211d4e=_0x5a0ab9[_0x4275b2(0x20c)]?null:readDirectoryIdentity(_0x4740b2);if(!_0x5a0ab9[_0x4275b2(0x20c)]&&!_0x211d4e)throw new Error(_0x4275b2(0x1ed));await updatePackageJsonName(_0x38d8e4,_0x5694f0['projectName']),await runTask(_0x4275b2(0x218),()=>installDependencies(_0x38d8e4)),await runTask(_0x4275b2(0x1e0),()=>formatProjectCode(_0x38d8e4)),await configureAppCode(_0x38d8e4,_0x5694f0['projectName'],_0x5694f0[_0x4275b2(0x1fb)]||'',_0x5694f0[_0x4275b2(0x23a)]);let _0x287d3f=![];if(_0x5694f0[_0x4275b2(0x1fb)]){console['log']('*\x20Pulling\x20API\x20configuration...');const _0x5e02ce=process[_0x4275b2(0x209)]();try{process[_0x4275b2(0x1dc)](_0x2706aa);const _0x5cb3de=_0x5694f0[_0x4275b2(0x23a)]||_0x4275b2(0x220);initEnv(_0x5cb3de);const {configArray:_0x3c6961}=await fetchModelList(_0x5694f0[_0x4275b2(0x1fb)],_0x5a0ab9[_0x4275b2(0x1fe)]||''),_0x5c6c8a=DEFAULT_API_DIR,_0x282a32=await generateApiFile(_0x3c6961,'',_0x5694f0[_0x4275b2(0x1fb)],!![],_0x5cb3de,_0x5c6c8a,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![],'modelProfile':{'name':_0x5694f0[_0x4275b2(0x1fb)],'defaultName':_0x5694f0[_0x4275b2(0x1fb)],'runtimeDomain':getRuntimeDomain()}});console[_0x4275b2(0x23c)]('√\x20Pulled\x20'+_0x3c6961[_0x4275b2(0x226)]+_0x4275b2(0x22a)+_0x282a32[_0x4275b2(0x1f9)]+_0x4275b2(0x21e)),logger[_0x4275b2(0x1cb)](_0x4275b2(0x1e2),_0x4275b2(0x202)+_0x5694f0[_0x4275b2(0x1fb)]);}catch(_0x1d1731){_0x287d3f=!![],console[_0x4275b2(0x23c)](_0x4275b2(0x1d9)+CLI_BIN_NAME+'\x20api\x20pull\x20--force\x20--yes'),logger[_0x4275b2(0x1e4)](_0x4275b2(0x1e2),_0x4275b2(0x22c),{'error':_0x1d1731 instanceof Error?_0x1d1731[_0x4275b2(0x1df)]:String(_0x1d1731)});}finally{process[_0x4275b2(0x1dc)](_0x5e02ce);}}if(_0x5a0ab9[_0x4275b2(0x20c)]){if(!_0x2b8b06||!_0x504f1c)throw new Error(_0x4275b2(0x20a));commitCurrentDirectoryProject(_0x4740b2,_0x2b8b06,_0x504f1c),_0x2b8b06=null;}try{logger[_0x4275b2(0x1e3)](_0x4740b2),logger[_0x4275b2(0x23b)]('create',_0x4275b2(0x20f)+_0x5694f0['projectName']);}catch(_0x331b75){console[_0x4275b2(0x1e4)](_0x4275b2(0x211)+(_0x331b75 instanceof Error?_0x331b75[_0x4275b2(0x1df)]:String(_0x331b75)));}console['log'](),console[_0x4275b2(0x23c)](a203_0x268d8d[_0x4275b2(0x22e)]('─'[_0x4275b2(0x1f0)](0x3c))),console[_0x4275b2(0x23c)](a203_0x268d8d['cyan'][_0x4275b2(0x242)](_0x4275b2(0x212))),console[_0x4275b2(0x23c)]();const _0x55f463=_0x5a0ab9[_0x4275b2(0x20c)]?CLI_BIN_NAME+'\x20run\x20start':_0x4275b2(0x1e1)+_0x5694f0['projectName']+'\x20&&\x20'+CLI_BIN_NAME+_0x4275b2(0x1ee);console[_0x4275b2(0x23c)]('\x20\x201.\x20Start\x20project:\x20'+a203_0x268d8d[_0x4275b2(0x1fc)][_0x4275b2(0x242)](_0x55f463)),_0x287d3f&&console[_0x4275b2(0x23c)](_0x4275b2(0x228)+a203_0x268d8d['cyan'][_0x4275b2(0x242)](CLI_BIN_NAME+'\x20api\x20pull\x20--force\x20--yes')),console['log'](a203_0x268d8d['green']('─'[_0x4275b2(0x1f0)](0x3c)));}catch(_0x450743){logger['error'](_0x4275b2(0x1e2),'Project\x20creation\x20failed:\x20'+_0x5694f0[_0x4275b2(0x1d0)],{'error':_0x450743 instanceof Error?_0x450743[_0x4275b2(0x1df)]:String(_0x450743)});try{const _0xbad898=readDirectoryIdentity(_0x4740b2);if(_0x5a0ab9[_0x4275b2(0x20c)]&&_0x2b8b06)a203_0x47e0ef[_0x4275b2(0x21d)](_0x2b8b06,{'recursive':!![],'force':!![]});else{if(_0x211d4e&&_0xbad898?.[_0x4275b2(0x1d3)]===_0x211d4e[_0x4275b2(0x1d3)]&&_0xbad898[_0x4275b2(0x206)]===_0x211d4e[_0x4275b2(0x206)])console['log'](_0x4275b2(0x1ea)+_0x4740b2),a203_0x47e0ef[_0x4275b2(0x21d)](_0x4740b2,{'recursive':!![],'force':!![]});else _0xbad898&&logger[_0x4275b2(0x1e4)]('create','Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20'+_0x4740b2);}}catch{logger['warn'](_0x4275b2(0x1e2),_0x4275b2(0x241)+_0x4740b2);}throw _0x450743;}}function a203_0x4d65(){const _0x8c9d49=['699470gJFacS','cwd','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','Updating\x20package.json\x20name','currentDir','Verifying\x20project\x20template','gray','Project\x20created:\x20','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','🚀\x20Next\x20Steps:','CLI\x20version\x20check','Failed\x20to\x20update\x20package.json','renameSync','verifying','toLocaleString','Install\x20dependencies','\x20|\x20AppCode:\x20','Project\x20directory\x20','dirname','nonInteractive','rmSync','\x20model(s)','validation','production','start','description','Copying\x20local\x20template\x20source','Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation','join','length','767370DMuAYO','\x20\x202.\x20Pull\x20API\x20configuration:\x20','4208160cIpRwV','\x20dataset(s),\x20generated\x20','existsSync','API\x20configuration\x20pull\x20failed','readdirSync','green','Failed\x20to\x20configure\x20app\x20AppCode','1.0.0','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','writeFileSync','parse','1988YqnDlt','12VvRhMn','string','stableVersion','extracting','text','env','success','log','W_OK','Project\x20template\x20ready','downloading','...','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','bold','611481KxJKfj','projectCode','5119095lrWhOj','info','lstatSync','Resolving\x20project\x20template','\x20config\x20set\x20appcode\x20<app-code>\x27','resolve','projectName','project','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','dev','2400039eMiMSE','\x20already\x20exists','Extracting\x20project\x20template','mkdtempSync','stringify','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','8EULpML','basename','chdir','package.json','accessSync','message','Format\x20code','cd\x20','create','setLogPath','warn','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','minimumVersion','version','readFileSync','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','name','belowMinimum','Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory','\x20run\x20start','error','repeat','25362PUmIEp','√\x20package.json\x20updated:\x20name=','utf8','.rabetbase-create-','push','The\x20current\x20directory\x20must\x20be\x20empty.','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','resolving','modelCount','templateSource','appCode','cyan','\x20√\x20','cookie','\x20Generated\x20by\x20rabetbase\x20cli\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','isDirectory','API\x20configuration\x20pulled:\x20','Project\x20name:\x20','needsUpgrade','currentVersion','ino','reverse'];a203_0x4d65=function(){return _0x8c9d49;};return a203_0x4d65();}async function runTask(_0x4569ac,_0x31774e,_0x52bf4f=_0x4569ac){const _0x5bfd61=a203_0x132c,_0xc2b5b8=a203_0x29ebcc(_0x4569ac+_0x5bfd61(0x240))[_0x5bfd61(0x221)]();try{const _0x493b4b=await _0x31774e(_0x345bc9=>{const _0x49ee07=_0x5bfd61;_0xc2b5b8[_0x49ee07(0x239)]=_0x345bc9+_0x49ee07(0x240);});_0xc2b5b8['stop'](),console[_0x5bfd61(0x23c)](''+a203_0x268d8d[_0x5bfd61(0x22e)](_0x5bfd61(0x1fd))+_0x52bf4f+'\x20'+a203_0x268d8d[_0x5bfd61(0x20e)]('['+_0x493b4b+']'));}catch(_0x396e1d){_0xc2b5b8['fail'](_0x4569ac);throw _0x396e1d;}}function projectTemplateStageLabel(_0x108c88){const _0x64cba0=a203_0x132c;switch(_0x108c88){case _0x64cba0(0x1f8):return'Resolving\x20project\x20template';case _0x64cba0(0x23f):return'Downloading\x20project\x20template';case _0x64cba0(0x216):return _0x64cba0(0x20d);case _0x64cba0(0x238):return _0x64cba0(0x1d6);case'copying':return _0x64cba0(0x223);}}async function updatePackageJsonName(_0x55e2d8,_0x3b9d00){const _0x25d867=a203_0x132c,_0x38d9fe=a203_0xdf9ccc[_0x25d867(0x1cf)](process[_0x25d867(0x209)](),_0x55e2d8),_0x4070ac=a203_0xdf9ccc['join'](_0x38d9fe,_0x25d867(0x1dd));try{console[_0x25d867(0x23c)](_0x25d867(0x200));const _0x20adf3=getRabetbaseCliPackageRoot(),_0x3b34c5=a203_0xdf9ccc['join'](_0x20adf3,_0x25d867(0x1dd));let _0x189bf1='1.0.0';try{const _0x2f21be=JSON[_0x25d867(0x233)](a203_0x47e0ef[_0x25d867(0x1e9)](_0x3b34c5,'utf8'));_0x189bf1=_0x2f21be[_0x25d867(0x1e8)]||_0x25d867(0x230);}catch{}const _0x5c007f=a203_0x47e0ef['readFileSync'](_0x4070ac,_0x25d867(0x1f3)),_0x5fb2fa=JSON[_0x25d867(0x233)](_0x5c007f);_0x5fb2fa[_0x25d867(0x1eb)]=_0x3b9d00,_0x5fb2fa[_0x25d867(0x222)]=_0x3b9d00+_0x25d867(0x1ff)+_0x189bf1,a203_0x47e0ef[_0x25d867(0x232)](_0x4070ac,JSON[_0x25d867(0x1d8)](_0x5fb2fa,null,0x2)+'\x0a',_0x25d867(0x1f3)),console[_0x25d867(0x23c)](_0x25d867(0x1f2)+_0x3b9d00),logger[_0x25d867(0x1cb)](_0x25d867(0x1e2),_0x25d867(0x20b));}catch(_0x40dffd){logger[_0x25d867(0x1ef)](_0x25d867(0x1e2),_0x25d867(0x214));throw _0x40dffd;}}async function configureAppCode(_0x43d2db,_0x1fdd11,_0x41c4c9,_0x1f314e){const _0x2bdd37=a203_0x132c,_0x38c01d=a203_0xdf9ccc['resolve'](process[_0x2bdd37(0x209)](),_0x43d2db),_0x6d72c=a203_0xdf9ccc['join'](_0x38c01d,NEW_CONFIG_NAME);try{_0x41c4c9?console[_0x2bdd37(0x23c)]('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x1fdd11+':\x20'+_0x41c4c9):console[_0x2bdd37(0x23c)](_0x2bdd37(0x1e5)+_0x1fdd11);const _0x1e06b6=getRabetbaseCliPackageRoot(),_0x523a64=a203_0xdf9ccc[_0x2bdd37(0x225)](_0x1e06b6,_0x2bdd37(0x1dd));let _0x9945b8=_0x2bdd37(0x230);try{const _0x575592=JSON['parse'](a203_0x47e0ef['readFileSync'](_0x523a64,_0x2bdd37(0x1f3)));_0x9945b8=_0x575592[_0x2bdd37(0x1e8)]||_0x2bdd37(0x230);}catch{}const {globalConfig:_0x3e7620}=loadRawConfigLayers(),_0xe04211=typeof _0x3e7620[_0x2bdd37(0x23a)]===_0x2bdd37(0x236)?_0x3e7620[_0x2bdd37(0x23a)]:undefined,_0x33738e={};for(const _0x5151cb of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3e7620[_0x5151cb]!=null)_0x33738e[_0x5151cb]=_0x3e7620[_0x5151cb];}const _0x14ed1c=buildCanonicalProjectConfig(_0x33738e,{'appCodes':_0x41c4c9?[_0x41c4c9]:[],'env':_0x1f314e||_0xe04211||_0x2bdd37(0x220),'metadata':{'createdAt':new Date()[_0x2bdd37(0x217)](),'version':_0x9945b8}});writeConfigFile(_0x6d72c,_0x14ed1c),await generateSdkConfigFile(a203_0xdf9ccc['join'](_0x38c01d,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x38c01d),_0x41c4c9?console[_0x2bdd37(0x23c)]('√\x20Configuration\x20file\x20created,\x20Apps:\x20'+Object['keys'](_0x14ed1c['apps']||{})['join'](',\x20')+'\x20|\x20Default:\x20implicit\x20(single\x20app)'):console['log'](_0x2bdd37(0x1f7)+CLI_BIN_NAME+_0x2bdd37(0x1ce)),logger[_0x2bdd37(0x1cb)](_0x2bdd37(0x1e2),'Configured\x20app\x20AppCode:\x20'+_0x41c4c9);}catch(_0x311cdd){logger[_0x2bdd37(0x1ef)](_0x2bdd37(0x1e2),_0x2bdd37(0x22f));throw _0x311cdd;}}
|
|
1
|
+
(function(_0x353241,_0xf7ac1f){const _0x970c0d=a203_0x412a,_0x260751=_0x353241();while(!![]){try{const _0x3f2426=-parseInt(_0x970c0d(0xf9))/0x1*(parseInt(_0x970c0d(0x103))/0x2)+parseInt(_0x970c0d(0xa3))/0x3*(parseInt(_0x970c0d(0xc8))/0x4)+-parseInt(_0x970c0d(0xb7))/0x5*(parseInt(_0x970c0d(0xeb))/0x6)+-parseInt(_0x970c0d(0xda))/0x7*(-parseInt(_0x970c0d(0xd7))/0x8)+parseInt(_0x970c0d(0xfc))/0x9+-parseInt(_0x970c0d(0x95))/0xa+parseInt(_0x970c0d(0xdc))/0xb;if(_0x3f2426===_0xf7ac1f)break;else _0x260751['push'](_0x260751['shift']());}catch(_0x398590){_0x260751['push'](_0x260751['shift']());}}}(a203_0x2ca5,0x52411));import a203_0x25495f from'path';import a203_0x4931cf from'fs';import a203_0xbb6924 from'chalk';import a203_0x464c98 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getRuntimeDomain,getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';function a203_0x2ca5(){const _0x42842c=['success','error','Configured\x20app\x20AppCode:\x20','project','stop','info','\x20√\x20','belowMinimum','keys','stableVersion','10XSkcje','Updating\x20package.json\x20name','join','text','green','cwd','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','create','Project\x20name:\x20','Project\x20template\x20ready','Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation','mkdtempSync','\x20run\x20start','\x20already\x20exists','accessSync','modelCount','The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','518660NfEmvR','cyan','Starting\x20project\x20creation:\x20','nonInteractive','downloading','Resolving\x20project\x20template','name','lstatSync','dirname','dev','\x20\x202.\x20Pull\x20API\x20configuration:\x20','\x20api\x20pull\x20--force\x20--yes','basename','\x20config\x20set\x20appcode\x20<app-code>\x27','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','1224568BGoWoL','warn','projectName','14MNRLuZ','Format\x20code','77946OHMJdw','.rabetbase-create-','renameSync','1.0.0','length','resolve','gray','toLocaleString','rmSync','\x20\x201.\x20Start\x20project:\x20','API\x20configuration\x20pull\x20failed','cookie','√\x20package.json\x20updated:\x20name=','\x20dataset(s),\x20generated\x20','bold','1437684wtTqiK','stringify','currentDir','W_OK','√\x20Pulled\x20','resolving','parse','start','fail','env','Project\x20creation\x20failed:\x20','utf8','\x20&&\x20','\x20|\x20AppCode:\x20','16eTIsav','Failed\x20to\x20update\x20package.json','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','3768552rLrCLE','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','package.json','chdir','validation','copying','\x20Generated\x20by\x20rabetbase\x20cli\x20','7594EBQPDl','relative','Install\x20dependencies','writeFileSync','...','cd\x20','verifying','3737230obcuCa','production','needsUpgrade','reverse','ino','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','appCode','Copying\x20local\x20template\x20source','🚀\x20Next\x20Steps:','apps','Project\x20created:\x20','message','repeat','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','12rSejdG','push','Downloading\x20project\x20template','existsSync','The\x20current\x20directory\x20must\x20be\x20empty.','*\x20Pulling\x20API\x20configuration...','extracting','log','readdirSync','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20'];a203_0x2ca5=function(){return _0x42842c;};return a203_0x2ca5();}import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x13c610){const _0x22dc06=a203_0x412a;try{const _0x5d9fb8=a203_0x4931cf[_0x22dc06(0xcf)](_0x13c610);if(!_0x5d9fb8['isDirectory']())return null;return{'dev':_0x5d9fb8['dev'],'ino':_0x5d9fb8[_0x22dc06(0x99)]};}catch{return null;}}function isSameDirectory(_0x3f5159,_0xbb85a1){const _0x4e278a=a203_0x412a;return!!_0x3f5159&&!!_0xbb85a1&&_0x3f5159['dev']===_0xbb85a1[_0x4e278a(0xd1)]&&_0x3f5159[_0x4e278a(0x99)]===_0xbb85a1['ino'];}function a203_0x412a(_0x2809b3,_0x38d3b3){_0x2809b3=_0x2809b3-0x95;const _0x2ca5f7=a203_0x2ca5();let _0x412a71=_0x2ca5f7[_0x2809b3];return _0x412a71;}function commitCurrentDirectoryProject(_0x441428,_0x2b315c,_0x3befd3){const _0x25deb6=a203_0x412a;if(!isSameDirectory(readDirectoryIdentity(_0x441428),_0x3befd3))throw new Error(_0x25deb6(0xc1));const _0x4f64b2=a203_0x25495f[_0x25deb6(0xd4)](_0x2b315c),_0x319533=a203_0x4931cf[_0x25deb6(0xab)](_0x441428);if(_0x319533['length']!==0x1||_0x319533[0x0]!==_0x4f64b2)throw CliErrors[_0x25deb6(0x100)](_0x25deb6(0xc7),'Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.');const _0x1131e9=a203_0x25495f[_0x25deb6(0xb9)](_0x2b315c,'project'),_0x225140=[];try{for(const _0xc9f825 of a203_0x4931cf[_0x25deb6(0xab)](_0x1131e9)){a203_0x4931cf[_0x25deb6(0xde)](a203_0x25495f[_0x25deb6(0xb9)](_0x1131e9,_0xc9f825),a203_0x25495f[_0x25deb6(0xb9)](_0x441428,_0xc9f825)),_0x225140[_0x25deb6(0xa4)](_0xc9f825);}a203_0x4931cf[_0x25deb6(0xe4)](_0x2b315c,{'recursive':!![],'force':!![]});}catch(_0x29ee17){for(const _0x34b9ed of _0x225140[_0x25deb6(0x98)]()){const _0x212b08=a203_0x25495f[_0x25deb6(0xb9)](_0x441428,_0x34b9ed);if(!a203_0x4931cf[_0x25deb6(0xa6)](_0x212b08))continue;a203_0x4931cf[_0x25deb6(0xde)](_0x212b08,a203_0x25495f[_0x25deb6(0xb9)](_0x1131e9,_0x34b9ed));}throw _0x29ee17;}}export async function createApp(_0x4b9471){const _0x162250=a203_0x412a,_0x45ce62=await checkCliVersion();(_0x45ce62['needsUpgrade']||_0x45ce62[_0x162250(0xb4)])&&(printCliUpgradeWarning(_0x45ce62),assertCliVersionSupported(_0x45ce62),logger[_0x162250(0xb2)](_0x162250(0xbe),'CLI\x20version\x20check',{'currentVersion':_0x45ce62['currentVersion'],'stableVersion':_0x45ce62[_0x162250(0xb6)],'minimumVersion':_0x45ce62['minimumVersion'],'needsUpgrade':_0x45ce62[_0x162250(0x97)],'belowMinimum':_0x45ce62[_0x162250(0xb4)]}));const _0x291619=_0x4b9471[_0x162250(0xed)]?a203_0x25495f[_0x162250(0xd4)](process['cwd']()):_0x4b9471['projectCode'];if(_0x291619&&(_0x4b9471[_0x162250(0x9b)]||_0x4b9471[_0x162250(0xcb)]))await runCreate({'projectName':_0x291619,'appCode':_0x4b9471['appCode'],'env':_0x4b9471['env']},_0x4b9471);else{if(_0x291619){const _0x2a6698=await selectSingleAppcode(_0x4b9471[_0x162250(0xe7)]);await runCreate({'projectName':_0x291619,'appCode':_0x2a6698||undefined,'env':_0x4b9471[_0x162250(0xf4)]},_0x4b9471);}else await guidedCreateProject(_0x4e4668=>runCreate(_0x4e4668,_0x4b9471),_0x4b9471[_0x162250(0xf4)],_0x4b9471[_0x162250(0xe7)]);}}async function runCreate(_0x5bf322,_0x37a652){const _0x41d6b5=a203_0x412a;_0x5bf322[_0x41d6b5(0xd9)]=validateProjectName(_0x5bf322[_0x41d6b5(0xd9)]);const _0x32a8ea=_0x37a652[_0x41d6b5(0xed)]?process[_0x41d6b5(0xbc)]():a203_0x25495f[_0x41d6b5(0xe1)](process[_0x41d6b5(0xbc)](),_0x5bf322[_0x41d6b5(0xd9)]);if(_0x37a652[_0x41d6b5(0xed)]){if(a203_0x4931cf[_0x41d6b5(0xab)](_0x32a8ea)[_0x41d6b5(0xe0)]>0x0)throw CliErrors[_0x41d6b5(0x100)](_0x41d6b5(0xa7),_0x41d6b5(0x9a));}else{if(a203_0x4931cf[_0x41d6b5(0xa6)](_0x32a8ea))throw new Error('Project\x20directory\x20'+_0x5bf322[_0x41d6b5(0xd9)]+_0x41d6b5(0xc4));}let _0x3fcd47=null;const _0x22d53e=_0x37a652['currentDir']?readDirectoryIdentity(_0x32a8ea):null;let _0x27548f=null;try{a203_0x4931cf[_0x41d6b5(0xc5)](a203_0x25495f[_0x41d6b5(0xd0)](_0x32a8ea),a203_0x4931cf['constants'][_0x41d6b5(0xee)]);}catch{throw new Error(_0x41d6b5(0xa2));}logger[_0x41d6b5(0xb2)](_0x41d6b5(0xbe),_0x41d6b5(0xca)+_0x5bf322[_0x41d6b5(0xd9)],{'projectDir':_0x32a8ea,'appCode':_0x5bf322['appCode']}),console[_0x41d6b5(0xaa)](),console[_0x41d6b5(0xaa)](a203_0xbb6924['green'](_0x41d6b5(0xb3))+_0x41d6b5(0xbf)+a203_0xbb6924[_0x41d6b5(0xbb)](_0x5bf322['projectName'])+(_0x5bf322[_0x41d6b5(0x9b)]?_0x41d6b5(0xf8)+a203_0xbb6924[_0x41d6b5(0xc9)](_0x5bf322['appCode']):''));try{let _0x590f94=_0x5bf322['projectName'];_0x37a652[_0x41d6b5(0xed)]&&(_0x27548f=a203_0x4931cf[_0x41d6b5(0xc2)](a203_0x25495f[_0x41d6b5(0xb9)](_0x32a8ea,_0x41d6b5(0xdd))),_0x590f94=a203_0x25495f[_0x41d6b5(0x104)](process[_0x41d6b5(0xbc)](),a203_0x25495f['join'](_0x27548f,_0x41d6b5(0xb0))));const _0x226a02=a203_0x25495f[_0x41d6b5(0xe1)](process['cwd'](),_0x590f94);await runTask(_0x41d6b5(0xcd),_0x3d8d18=>copyProjectTemplate(_0x590f94,_0x9094ec=>_0x3d8d18(projectTemplateStageLabel(_0x9094ec)),_0x37a652['templateSource']),_0x41d6b5(0xc0)),_0x3fcd47=_0x37a652[_0x41d6b5(0xed)]?null:readDirectoryIdentity(_0x32a8ea);if(!_0x37a652['currentDir']&&!_0x3fcd47)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x590f94,_0x5bf322['projectName']),await runTask(_0x41d6b5(0x105),()=>installDependencies(_0x590f94)),await runTask(_0x41d6b5(0xdb),()=>formatProjectCode(_0x590f94)),await configureAppCode(_0x590f94,_0x5bf322[_0x41d6b5(0xd9)],_0x5bf322[_0x41d6b5(0x9b)]||'',_0x5bf322['env']);let _0x2283f8=![];if(_0x5bf322[_0x41d6b5(0x9b)]){console[_0x41d6b5(0xaa)](_0x41d6b5(0xa8));const _0x5578fe=process[_0x41d6b5(0xbc)]();try{process[_0x41d6b5(0xff)](_0x226a02);const _0x5ec5ef=_0x5bf322[_0x41d6b5(0xf4)]||_0x41d6b5(0x96);initEnv(_0x5ec5ef);const {configArray:_0x430fe3}=await fetchModelList(_0x5bf322[_0x41d6b5(0x9b)],_0x37a652[_0x41d6b5(0xe7)]||''),_0xc1d5c1=DEFAULT_API_DIR,_0x291d0a=await generateApiFile(_0x430fe3,'',_0x5bf322[_0x41d6b5(0x9b)],!![],_0x5ec5ef,_0xc1d5c1,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![],'modelProfile':{'name':_0x5bf322[_0x41d6b5(0x9b)],'defaultName':_0x5bf322['appCode'],'runtimeDomain':getRuntimeDomain()}});console['log'](_0x41d6b5(0xef)+_0x430fe3[_0x41d6b5(0xe0)]+_0x41d6b5(0xe9)+_0x291d0a[_0x41d6b5(0xc6)]+'\x20model(s)'),logger[_0x41d6b5(0xb2)]('create','API\x20configuration\x20pulled:\x20'+_0x5bf322['appCode']);}catch(_0x4373bf){_0x2283f8=!![],console['log'](_0x41d6b5(0xac)+CLI_BIN_NAME+_0x41d6b5(0xd3)),logger['warn'](_0x41d6b5(0xbe),_0x41d6b5(0xe6),{'error':_0x4373bf instanceof Error?_0x4373bf['message']:String(_0x4373bf)});}finally{process[_0x41d6b5(0xff)](_0x5578fe);}}if(_0x37a652[_0x41d6b5(0xed)]){if(!_0x27548f||!_0x22d53e)throw new Error('Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace');commitCurrentDirectoryProject(_0x32a8ea,_0x27548f,_0x22d53e),_0x27548f=null;}try{logger['setLogPath'](_0x32a8ea),logger[_0x41d6b5(0xad)](_0x41d6b5(0xbe),_0x41d6b5(0x9f)+_0x5bf322[_0x41d6b5(0xd9)]);}catch(_0x20254b){console[_0x41d6b5(0xd8)](_0x41d6b5(0xbd)+(_0x20254b instanceof Error?_0x20254b['message']:String(_0x20254b)));}console[_0x41d6b5(0xaa)](),console[_0x41d6b5(0xaa)](a203_0xbb6924['green']('─'[_0x41d6b5(0xa1)](0x3c))),console[_0x41d6b5(0xaa)](a203_0xbb6924[_0x41d6b5(0xc9)][_0x41d6b5(0xea)](_0x41d6b5(0x9d))),console['log']();const _0x5017c3=_0x37a652[_0x41d6b5(0xed)]?CLI_BIN_NAME+_0x41d6b5(0xc3):_0x41d6b5(0x108)+_0x5bf322['projectName']+_0x41d6b5(0xf7)+CLI_BIN_NAME+_0x41d6b5(0xc3);console['log'](_0x41d6b5(0xe5)+a203_0xbb6924['cyan']['bold'](_0x5017c3)),_0x2283f8&&console[_0x41d6b5(0xaa)](_0x41d6b5(0xd2)+a203_0xbb6924[_0x41d6b5(0xc9)][_0x41d6b5(0xea)](CLI_BIN_NAME+_0x41d6b5(0xd3))),console['log'](a203_0xbb6924[_0x41d6b5(0xbb)]('─'[_0x41d6b5(0xa1)](0x3c)));}catch(_0x22b539){logger[_0x41d6b5(0xae)](_0x41d6b5(0xbe),_0x41d6b5(0xf5)+_0x5bf322['projectName'],{'error':_0x22b539 instanceof Error?_0x22b539[_0x41d6b5(0xa0)]:String(_0x22b539)});try{const _0x143639=readDirectoryIdentity(_0x32a8ea);if(_0x37a652[_0x41d6b5(0xed)]&&_0x27548f)a203_0x4931cf['rmSync'](_0x27548f,{'recursive':!![],'force':!![]});else{if(_0x3fcd47&&_0x143639?.[_0x41d6b5(0xd1)]===_0x3fcd47['dev']&&_0x143639[_0x41d6b5(0x99)]===_0x3fcd47[_0x41d6b5(0x99)])console[_0x41d6b5(0xaa)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x32a8ea),a203_0x4931cf['rmSync'](_0x32a8ea,{'recursive':!![],'force':!![]});else _0x143639&&logger[_0x41d6b5(0xd8)](_0x41d6b5(0xbe),'Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20'+_0x32a8ea);}}catch{logger[_0x41d6b5(0xd8)]('create',_0x41d6b5(0xfd)+_0x32a8ea);}throw _0x22b539;}}async function runTask(_0x4cb4c1,_0x5d26e2,_0x2c38b0=_0x4cb4c1){const _0x7406b1=a203_0x412a,_0x35be43=a203_0x464c98(_0x4cb4c1+'...')[_0x7406b1(0xf2)]();try{const _0x19abca=await _0x5d26e2(_0x332072=>{const _0x7bb513=_0x7406b1;_0x35be43[_0x7bb513(0xba)]=_0x332072+_0x7bb513(0x107);});_0x35be43[_0x7406b1(0xb1)](),console['log'](''+a203_0xbb6924['green']('\x20√\x20')+_0x2c38b0+'\x20'+a203_0xbb6924[_0x7406b1(0xe2)]('['+_0x19abca+']'));}catch(_0x4d3da8){_0x35be43[_0x7406b1(0xf3)](_0x4cb4c1);throw _0x4d3da8;}}function projectTemplateStageLabel(_0x5f3c82){const _0xf71172=a203_0x412a;switch(_0x5f3c82){case _0xf71172(0xf0):return _0xf71172(0xcd);case _0xf71172(0xcc):return _0xf71172(0xa5);case _0xf71172(0x109):return'Verifying\x20project\x20template';case _0xf71172(0xa9):return'Extracting\x20project\x20template';case _0xf71172(0x101):return _0xf71172(0x9c);}}async function updatePackageJsonName(_0x242553,_0x538ebc){const _0x152991=a203_0x412a,_0x46b6d7=a203_0x25495f[_0x152991(0xe1)](process[_0x152991(0xbc)](),_0x242553),_0x3a3686=a203_0x25495f[_0x152991(0xb9)](_0x46b6d7,'package.json');try{console['log']('*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields');const _0x18030f=getRabetbaseCliPackageRoot(),_0x54ba9d=a203_0x25495f['join'](_0x18030f,_0x152991(0xfe));let _0x2cccb4=_0x152991(0xdf);try{const _0x530e8f=JSON[_0x152991(0xf1)](a203_0x4931cf['readFileSync'](_0x54ba9d,_0x152991(0xf6)));_0x2cccb4=_0x530e8f['version']||_0x152991(0xdf);}catch{}const _0x5f2416=a203_0x4931cf['readFileSync'](_0x3a3686,_0x152991(0xf6)),_0x4bbd70=JSON[_0x152991(0xf1)](_0x5f2416);_0x4bbd70[_0x152991(0xce)]=_0x538ebc,_0x4bbd70['description']=_0x538ebc+_0x152991(0x102)+_0x2cccb4,a203_0x4931cf[_0x152991(0x106)](_0x3a3686,JSON[_0x152991(0xec)](_0x4bbd70,null,0x2)+'\x0a','utf8'),console['log'](_0x152991(0xe8)+_0x538ebc),logger[_0x152991(0xb2)]('create',_0x152991(0xb8));}catch(_0x393ae0){logger[_0x152991(0xae)]('create',_0x152991(0xfa));throw _0x393ae0;}}async function configureAppCode(_0x51b216,_0x563d8f,_0x5df076,_0x477f51){const _0x4b9f1d=a203_0x412a,_0x1eca2a=a203_0x25495f[_0x4b9f1d(0xe1)](process['cwd'](),_0x51b216),_0x65cc87=a203_0x25495f[_0x4b9f1d(0xb9)](_0x1eca2a,NEW_CONFIG_NAME);try{_0x5df076?console['log']('*\x20Configuring\x20AppCode\x20for\x20project\x20'+_0x563d8f+':\x20'+_0x5df076):console[_0x4b9f1d(0xaa)](_0x4b9f1d(0xfb)+_0x563d8f);const _0x154554=getRabetbaseCliPackageRoot(),_0x49c4b6=a203_0x25495f['join'](_0x154554,'package.json');let _0x155705=_0x4b9f1d(0xdf);try{const _0x8f1a5c=JSON[_0x4b9f1d(0xf1)](a203_0x4931cf['readFileSync'](_0x49c4b6,_0x4b9f1d(0xf6)));_0x155705=_0x8f1a5c['version']||_0x4b9f1d(0xdf);}catch{}const {globalConfig:_0x3d05eb}=loadRawConfigLayers(),_0x2a1eaa=typeof _0x3d05eb['env']==='string'?_0x3d05eb[_0x4b9f1d(0xf4)]:undefined,_0x4edc9d={};for(const _0x35e31d of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x3d05eb[_0x35e31d]!=null)_0x4edc9d[_0x35e31d]=_0x3d05eb[_0x35e31d];}const _0x11e6ad=buildCanonicalProjectConfig(_0x4edc9d,{'appCodes':_0x5df076?[_0x5df076]:[],'env':_0x477f51||_0x2a1eaa||'production','metadata':{'createdAt':new Date()[_0x4b9f1d(0xe3)](),'version':_0x155705}});writeConfigFile(_0x65cc87,_0x11e6ad),await generateSdkConfigFile(a203_0x25495f['join'](_0x1eca2a,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x1eca2a),_0x5df076?console[_0x4b9f1d(0xaa)]('√\x20Configuration\x20file\x20created,\x20Apps:\x20'+Object[_0x4b9f1d(0xb5)](_0x11e6ad[_0x4b9f1d(0x9e)]||{})['join'](',\x20')+'\x20|\x20Default:\x20implicit\x20(single\x20app)'):console[_0x4b9f1d(0xaa)](_0x4b9f1d(0xd6)+CLI_BIN_NAME+_0x4b9f1d(0xd5)),logger[_0x4b9f1d(0xb2)](_0x4b9f1d(0xbe),_0x4b9f1d(0xaf)+_0x5df076);}catch(_0xc52ca6){logger['error'](_0x4b9f1d(0xbe),'Failed\x20to\x20configure\x20app\x20AppCode');throw _0xc52ca6;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a204_0x2e28f7=a204_0x548a;(function(_0x3ea427,_0x1e85b9){const _0x45f0e5=a204_0x548a,_0xae1b0b=_0x3ea427();while(!![]){try{const _0x1ff23f=parseInt(_0x45f0e5(0x1e4))/0x1*(parseInt(_0x45f0e5(0x21e))/0x2)+-parseInt(_0x45f0e5(0x1e6))/0x3+parseInt(_0x45f0e5(0x1e9))/0x4+-parseInt(_0x45f0e5(0x1f0))/0x5*(-parseInt(_0x45f0e5(0x223))/0x6)+parseInt(_0x45f0e5(0x1c6))/0x7*(parseInt(_0x45f0e5(0x1b8))/0x8)+-parseInt(_0x45f0e5(0x205))/0x9+-parseInt(_0x45f0e5(0x209))/0xa*(parseInt(_0x45f0e5(0x1c2))/0xb);if(_0x1ff23f===_0x1e85b9)break;else _0xae1b0b['push'](_0xae1b0b['shift']());}catch(_0x2842e4){_0xae1b0b['push'](_0xae1b0b['shift']());}}}(a204_0x1b61,0xdebb5));import{createHash}from'node:crypto';import a204_0x5b6e0f from'node:fs/promises';import a204_0x4f7c58 from'node:path';import a204_0x273d20 from'semver';import{getProjectTemplateRelativeUrl}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{fetchProjectTemplateCdnConfig,isBetaCliVersion,resolveProjectTemplateDescriptor}from'../../../utils/cli-version-policy.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x5269ab){const _0xfeff91=a204_0x548a;return typeof _0x5269ab===_0xfeff91(0x211)&&_0x5269ab[_0xfeff91(0x1c8)]()?_0x5269ab[_0xfeff91(0x1c8)]():null;}function parseDescriptor(_0x55dfa7){const _0x3ea257=a204_0x548a;if(!_0x55dfa7||typeof _0x55dfa7!=='object')throw new Error(_0x3ea257(0x214)+TEMPLATE_ID+'\x22.');const _0x65a8fa=_0x55dfa7,_0x41904a=nonEmptyString(_0x65a8fa[_0x3ea257(0x1e1)]),_0x4d7987=nonEmptyString(_0x65a8fa[_0x3ea257(0x1c3)]),_0x41e798=_0x65a8fa['url']===undefined?undefined:nonEmptyString(_0x65a8fa[_0x3ea257(0x1d4)])||undefined,_0x2ac59a=nonEmptyString(_0x65a8fa[_0x3ea257(0x225)])?.[_0x3ea257(0x1ba)](),_0x147f8b=_0x65a8fa[_0x3ea257(0x200)];if(!_0x41904a||!a204_0x273d20['valid'](_0x41904a)||!_0x4d7987||_0x4d7987!==a204_0x4f7c58[_0x3ea257(0x1fa)][_0x3ea257(0x215)](_0x4d7987)||_0x4d7987['includes']('\x5c')||_0x65a8fa[_0x3ea257(0x1d4)]!==undefined&&!_0x41e798||!_0x2ac59a||!/^sha256:[a-f0-9]{64}$/[_0x3ea257(0x219)](_0x2ac59a)||typeof _0x147f8b!==_0x3ea257(0x1f5)||!Number[_0x3ea257(0x1da)](_0x147f8b)||_0x147f8b<=0x0||_0x147f8b>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22'+TEMPLATE_ID+'\x22.');return{'version':_0x41904a,'name':_0x4d7987,'url':_0x41e798,'sha256':_0x2ac59a,'size':_0x147f8b};}function a204_0x1b61(){const _0x5146b4=['name','Use\x20a\x20different\x20project\x20name.','writeFile','1834oMvadH','.rabetbase','trim','.rabetbase-create-','byteLength','validation','mkdtemp','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','join','verifying','content-length','chmod','application/zip','resolve','url','downloading','mkdir','release','body','object','isSafeInteger','message','Check\x20the\x20source\x20directory\x20and\x20retry.','Rabetbase\x20CDN\x20config\x20is\x20unavailable.','ino','Project\x20directory\x20already\x20exists:\x20','dirname','version','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','assetBaseUrl','8114UsOuZy','isFinite','5117019RmpOgU','lstat','.DS_Store','3832976LOzhIl','legacyAssetBaseUrl','access','.codegraph','Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.','.env.example','utf8','5QkVknK','Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.','includes','copyFile','Unable\x20to\x20claim\x20the\x20project\x20directory.','number','length','relative','extracting','isFile','posix','getReader','sep','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','EEXIST','dist','size','sha256:','status','mode','copying','9215460pRRpbd','CDN\x20project\x20template\x20relative\x20URL\x20must\x20match\x20its\x20release\x20channel\x20or\x20version.','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','from','11630550VeUpUU','.rabetbase.json','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','.lovrabet.log','isAbsolute','.idea','realpath','https:','string','startsWith','Local\x20template\x20source\x20does\x20not\x20exist:\x20','CDN\x20config\x20does\x20not\x20define\x20template\x20\x22','basename','origin','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','project','test','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','Invalid\x20local\x20template\x20source:\x20','headers','readdir','368jdfpFP','Project\x20template\x20package.json\x20is\x20invalid.','pathname','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','protocol','5585010uydeeb','package.json','sha256','.lovrabet.json','get','cdn','local','code','beta','43448wRVDZk','.git','toLowerCase','template.zip','cancel','error','isDirectory','dev','readFile',',\x20received\x20','11OJgIfd'];a204_0x1b61=function(){return _0x5146b4;};return a204_0x1b61();}async function fetchWithTimeout(_0x4360ec,_0x50b752,_0x875ec3,_0x5d8235){const _0x10804a=a204_0x548a,_0xecd6b9=new AbortController(),_0x1e8bc0=setTimeout(()=>_0xecd6b9['abort'](),_0x50b752);try{const _0x34a9e3=await fetch(_0x4360ec,{'headers':{'Accept':_0x875ec3},'redirect':_0x10804a(0x1bd),'signal':_0xecd6b9['signal']});return await _0x5d8235(_0x34a9e3);}finally{clearTimeout(_0x1e8bc0);}}async function fetchTemplateDescriptor(){const _0x47985b=a204_0x548a,_0x103982=getCliVersion(),_0x136f51=isBetaCliVersion(_0x103982)?_0x47985b(0x1b7):_0x47985b(0x1d7),_0x33a1d1=await fetchProjectTemplateCdnConfig();if(!_0x33a1d1)throw new Error(_0x47985b(0x1dd));const _0x356ca5=parseDescriptor(resolveProjectTemplateDescriptor(_0x33a1d1['config'],_0x103982));return{'descriptor':_0x356ca5,'channel':_0x136f51,'assetBaseUrl':_0x33a1d1[_0x47985b(0x1e3)],'legacyAssetBaseUrl':_0x33a1d1[_0x47985b(0x1ea)]};}function resolveArchiveUrl(_0x2eba94,_0x1fc16b,_0x535390,_0x2c0d32){const _0xf3d61c=a204_0x548a,_0x2799cf=new URL(_0x535390+'/'),_0x45e2a6=[getProjectTemplateRelativeUrl(_0x1fc16b),getProjectTemplateRelativeUrl(_0x1fc16b,_0x2eba94[_0xf3d61c(0x1e1)])];if(_0x2eba94[_0xf3d61c(0x1d4)]&&!_0x45e2a6[_0xf3d61c(0x1f2)](_0x2eba94[_0xf3d61c(0x1d4)]))throw new Error(_0xf3d61c(0x206));const _0x4c4a4f=new URL(_0x2c0d32+'/'),_0xbadb9e=_0x2eba94[_0xf3d61c(0x1d4)]?new URL(_0x2eba94['url'],_0x2799cf[_0xf3d61c(0x216)]):new URL(_0x2eba94[_0xf3d61c(0x1c3)],_0x4c4a4f),_0x376026=_0x2eba94[_0xf3d61c(0x1d4)]?_0x2799cf[_0xf3d61c(0x216)]:_0x4c4a4f[_0xf3d61c(0x216)];if(_0xbadb9e[_0xf3d61c(0x222)]!==_0xf3d61c(0x210)||_0xbadb9e[_0xf3d61c(0x216)]!==_0x376026||a204_0x4f7c58['posix'][_0xf3d61c(0x215)](decodeURIComponent(_0xbadb9e[_0xf3d61c(0x220)]))!==_0x2eba94[_0xf3d61c(0x1c3)]||!_0x2eba94[_0xf3d61c(0x1d4)]&&!_0xbadb9e[_0xf3d61c(0x220)][_0xf3d61c(0x212)](_0x4c4a4f[_0xf3d61c(0x220)]))throw new Error(_0xf3d61c(0x20b));return _0xbadb9e['href'];}async function readResponseBytes(_0x4019ad,_0x49fd29){const _0x12172d=a204_0x548a;if(!_0x4019ad['body']){const _0x1a0131=Buffer[_0x12172d(0x208)](await _0x4019ad['arrayBuffer']());if(_0x1a0131[_0x12172d(0x1f6)]>_0x49fd29)throw new Error(_0x12172d(0x221));return _0x1a0131;}const _0x44ac29=_0x4019ad[_0x12172d(0x1d8)][_0x12172d(0x1fb)](),_0xc64a34=[];let _0x42cbf7=0x0;try{while(!![]){const {done:_0x3d5a98,value:_0x1108be}=await _0x44ac29['read']();if(_0x3d5a98)break;_0x42cbf7+=_0x1108be[_0x12172d(0x1ca)];if(_0x42cbf7>_0x49fd29){await _0x44ac29[_0x12172d(0x1bc)]();throw new Error(_0x12172d(0x221));}_0xc64a34['push'](Buffer[_0x12172d(0x208)](_0x1108be));}}finally{_0x44ac29['releaseLock']();}return Buffer['concat'](_0xc64a34,_0x42cbf7);}async function downloadArchive(_0x332438,_0x152de6,_0x4d38e6,_0x2cca5e,_0x3dc16f,_0x492608){const _0x4f5f57=a204_0x548a,_0x130622=await fetchWithTimeout(resolveArchiveUrl(_0x332438,_0x152de6,_0x4d38e6,_0x2cca5e),ARCHIVE_TIMEOUT_MS,_0x4f5f57(0x1d2),async _0x2ab453=>{const _0x3ed53f=_0x4f5f57;if(!_0x2ab453['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x2ab453[_0x3ed53f(0x202)]+'.');const _0x55a248=Number(_0x2ab453[_0x3ed53f(0x21c)][_0x3ed53f(0x1b3)](_0x3ed53f(0x1d0)));if(Number[_0x3ed53f(0x1e5)](_0x55a248)&&_0x55a248>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.');return readResponseBytes(_0x2ab453,_0x332438['size']);});if(_0x130622['length']!==_0x332438['size'])throw new Error(_0x4f5f57(0x217)+_0x332438[_0x4f5f57(0x200)]+_0x4f5f57(0x1c1)+_0x130622['length']+'.');_0x492608?.(_0x4f5f57(0x1cf));const _0x3986e5=_0x4f5f57(0x201)+createHash(_0x4f5f57(0x225))['update'](_0x130622)['digest']('hex');if(_0x3986e5!==_0x332438[_0x4f5f57(0x225)])throw new Error(_0x4f5f57(0x21a));await a204_0x5b6e0f[_0x4f5f57(0x1c5)](_0x3dc16f,_0x130622,{'flag':'wx'});}function a204_0x548a(_0x233c9c,_0x22dbd2){_0x233c9c=_0x233c9c-0x1b3;const _0x1b611f=a204_0x1b61();let _0x548afd=_0x1b611f[_0x233c9c];return _0x548afd;}async function assertTemplateRoot(_0x5a4e94){const _0x9e058=a204_0x548a,_0x9ac0b3=a204_0x4f7c58[_0x9e058(0x1ce)](_0x5a4e94,_0x9e058(0x224)),_0x5d6460=JSON['parse'](await a204_0x5b6e0f[_0x9e058(0x1c0)](_0x9ac0b3,_0x9e058(0x1ef)));if(!_0x5d6460||typeof _0x5d6460!==_0x9e058(0x1d9))throw new Error(_0x9e058(0x21f));}const LOCAL_FORBIDDEN_NAMES=new Set([a204_0x2e28f7(0x1e8),a204_0x2e28f7(0x1ec),a204_0x2e28f7(0x1b9),a204_0x2e28f7(0x20e),a204_0x2e28f7(0x226),a204_0x2e28f7(0x20c),a204_0x2e28f7(0x1c7),a204_0x2e28f7(0x20a),a204_0x2e28f7(0x1ff),'node_modules']);function isForbiddenTemplateEntry(_0x510527){const _0x3aa3ee=a204_0x2e28f7;if(LOCAL_FORBIDDEN_NAMES['has'](_0x510527))return!![];return _0x510527==='.env'||_0x510527[_0x3aa3ee(0x212)]('.env.')&&_0x510527!==_0x3aa3ee(0x1ee);}function containsPath(_0x2a19b0,_0x908c1){const _0x194189=a204_0x2e28f7,_0x422d4f=a204_0x4f7c58[_0x194189(0x1f7)](_0x2a19b0,_0x908c1);return _0x422d4f===''||!_0x422d4f[_0x194189(0x212)]('..'+a204_0x4f7c58[_0x194189(0x1fc)])&&_0x422d4f!=='..'&&!a204_0x4f7c58[_0x194189(0x20d)](_0x422d4f);}async function copyLocalTemplateDirectory(_0x279829,_0x2e4cbf){const _0x2d80d1=a204_0x2e28f7;await a204_0x5b6e0f[_0x2d80d1(0x1d6)](_0x2e4cbf,{'recursive':!![]});for(const _0x5c43fc of await a204_0x5b6e0f[_0x2d80d1(0x21d)](_0x279829,{'withFileTypes':!![]})){const _0x18ff23=a204_0x4f7c58[_0x2d80d1(0x1ce)](_0x279829,_0x5c43fc[_0x2d80d1(0x1c3)]),_0x8f12de=a204_0x4f7c58[_0x2d80d1(0x1ce)](_0x2e4cbf,_0x5c43fc[_0x2d80d1(0x1c3)]);if(isForbiddenTemplateEntry(_0x5c43fc['name']))throw new Error('Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20'+_0x18ff23);const _0x439857=await a204_0x5b6e0f[_0x2d80d1(0x1e7)](_0x18ff23);if(_0x439857['isSymbolicLink']())throw new Error('Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20'+_0x18ff23);if(_0x439857[_0x2d80d1(0x1be)]()){await copyLocalTemplateDirectory(_0x18ff23,_0x8f12de);continue;}if(!_0x439857[_0x2d80d1(0x1f9)]())continue;await a204_0x5b6e0f[_0x2d80d1(0x1f3)](_0x18ff23,_0x8f12de),await a204_0x5b6e0f[_0x2d80d1(0x1d1)](_0x8f12de,_0x439857[_0x2d80d1(0x203)]&0x1ff);}}async function readTemplateVersion(_0x2a9881){const _0x45c905=a204_0x2e28f7,_0x458000=JSON['parse'](await a204_0x5b6e0f[_0x45c905(0x1c0)](a204_0x4f7c58['join'](_0x2a9881,_0x45c905(0x224)),_0x45c905(0x1ef)));return nonEmptyString(_0x458000[_0x45c905(0x1e1)])||_0x45c905(0x1b5);}async function readDirectoryIdentity(_0x5dca58){const _0x2670cc=a204_0x2e28f7;try{const _0x3d858b=await a204_0x5b6e0f['lstat'](_0x5dca58);if(!_0x3d858b[_0x2670cc(0x1be)]())return null;return{'dev':_0x3d858b[_0x2670cc(0x1bf)],'ino':_0x3d858b[_0x2670cc(0x1de)]};}catch{return null;}}async function commitStagedProject(_0x410b59,_0x1c63f9){const _0x1d428a=a204_0x2e28f7;await a204_0x5b6e0f[_0x1d428a(0x1d6)](_0x1c63f9);const _0x2db22d=await readDirectoryIdentity(_0x1c63f9);if(!_0x2db22d)throw new Error(_0x1d428a(0x1f4));try{for(const _0x473600 of await a204_0x5b6e0f['readdir'](_0x410b59)){await a204_0x5b6e0f['rename'](a204_0x4f7c58['join'](_0x410b59,_0x473600),a204_0x4f7c58[_0x1d428a(0x1ce)](_0x1c63f9,_0x473600));}}catch(_0xc613fb){const _0x42ddd1=await readDirectoryIdentity(_0x1c63f9);_0x42ddd1?.['dev']===_0x2db22d[_0x1d428a(0x1bf)]&&_0x42ddd1[_0x1d428a(0x1de)]===_0x2db22d['ino']&&await a204_0x5b6e0f['rm'](_0x1c63f9,{'recursive':!![],'force':!![]});throw _0xc613fb;}}export async function materializeProjectTemplate(_0x3a86b3,_0x1aa5bd){const _0x12f86c=a204_0x2e28f7,_0x3b2a5f=a204_0x4f7c58[_0x12f86c(0x1d3)](_0x3a86b3),_0x53d718=a204_0x4f7c58['dirname'](_0x3b2a5f);try{await a204_0x5b6e0f[_0x12f86c(0x1e7)](_0x3b2a5f);throw new Error(_0x12f86c(0x1df)+_0x3b2a5f);}catch(_0xbb0b95){if(_0xbb0b95[_0x12f86c(0x1b6)]!=='ENOENT')throw _0xbb0b95;}const _0x42c688=await a204_0x5b6e0f[_0x12f86c(0x1cc)](a204_0x4f7c58['join'](_0x53d718,'.rabetbase-create-')),_0x13d2fa=a204_0x4f7c58[_0x12f86c(0x1ce)](_0x42c688,_0x12f86c(0x218)),_0x50bcdd=a204_0x4f7c58[_0x12f86c(0x1ce)](_0x42c688,_0x12f86c(0x1bb));try{try{_0x1aa5bd?.('resolving');const {descriptor:_0xabe41a,channel:_0x45ce1e,assetBaseUrl:_0x499632,legacyAssetBaseUrl:_0x4b5a72}=await fetchTemplateDescriptor();return _0x1aa5bd?.(_0x12f86c(0x1d5)),await downloadArchive(_0xabe41a,_0x45ce1e,_0x499632,_0x4b5a72,_0x50bcdd,_0x1aa5bd),_0x1aa5bd?.(_0x12f86c(0x1f8)),await extractProjectTemplateArchive(_0x50bcdd,_0x13d2fa),await assertTemplateRoot(_0x13d2fa),await commitStagedProject(_0x13d2fa,_0x3b2a5f),{'source':_0x12f86c(0x1b4),'version':_0xabe41a[_0x12f86c(0x1e1)]};}catch(_0x295360){if(_0x295360[_0x12f86c(0x1b6)]===_0x12f86c(0x1fe))throw CliErrors[_0x12f86c(0x1cb)](_0x12f86c(0x1df)+_0x3b2a5f,_0x12f86c(0x1c4));const _0x49fca9=_0x295360 instanceof Error?_0x295360[_0x12f86c(0x1db)]:String(_0x295360);throw CliErrors[_0x12f86c(0x1cb)](_0x12f86c(0x1cd),_0x12f86c(0x1e2)+_0x49fca9);}}finally{await a204_0x5b6e0f['rm'](_0x42c688,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x183ac3,_0x5be500,_0x1f65b3){const _0x56b9a9=a204_0x2e28f7;let _0x494b20;try{_0x494b20=await a204_0x5b6e0f['realpath'](a204_0x4f7c58[_0x56b9a9(0x1d3)](_0x183ac3));}catch{throw CliErrors['validation'](_0x56b9a9(0x213)+a204_0x4f7c58[_0x56b9a9(0x1d3)](_0x183ac3),_0x56b9a9(0x1f1));}const _0x268de2=await a204_0x5b6e0f[_0x56b9a9(0x1e7)](_0x494b20);if(!_0x268de2[_0x56b9a9(0x1be)]())throw CliErrors[_0x56b9a9(0x1cb)](_0x56b9a9(0x207)+_0x494b20);const _0x336cc3=a204_0x4f7c58[_0x56b9a9(0x1d3)](_0x5be500),_0x410e19=await a204_0x5b6e0f[_0x56b9a9(0x20f)](a204_0x4f7c58[_0x56b9a9(0x1e0)](_0x336cc3)),_0x217ce1=a204_0x4f7c58['join'](_0x410e19,a204_0x4f7c58['basename'](_0x336cc3));if(containsPath(_0x494b20,_0x217ce1)||containsPath(_0x217ce1,_0x494b20))throw CliErrors[_0x56b9a9(0x1cb)]('Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.',_0x56b9a9(0x1fd));try{await a204_0x5b6e0f[_0x56b9a9(0x1e7)](_0x217ce1);throw CliErrors[_0x56b9a9(0x1cb)]('Project\x20directory\x20already\x20exists:\x20'+_0x217ce1,_0x56b9a9(0x1ed));}catch(_0x3933aa){if(_0x3933aa['code']!=='ENOENT')throw _0x3933aa;}const _0x41a5ad=a204_0x4f7c58[_0x56b9a9(0x1e0)](_0x217ce1);await a204_0x5b6e0f[_0x56b9a9(0x1eb)](_0x41a5ad);const _0x376edd=await a204_0x5b6e0f[_0x56b9a9(0x1cc)](a204_0x4f7c58[_0x56b9a9(0x1ce)](_0x41a5ad,_0x56b9a9(0x1c9))),_0x17d38a=a204_0x4f7c58['join'](_0x376edd,'project');try{_0x1f65b3?.(_0x56b9a9(0x204)),await copyLocalTemplateDirectory(_0x494b20,_0x17d38a),await assertTemplateRoot(_0x17d38a);const _0x148a42=await readTemplateVersion(_0x17d38a);return await commitStagedProject(_0x17d38a,_0x217ce1),{'source':_0x56b9a9(0x1b5),'version':_0x148a42};}catch(_0x4a5115){const _0x386319=_0x4a5115 instanceof Error?_0x4a5115[_0x56b9a9(0x1db)]:String(_0x4a5115);throw CliErrors['validation'](_0x56b9a9(0x21b)+_0x386319,_0x56b9a9(0x1dc));}finally{await a204_0x5b6e0f['rm'](_0x376edd,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
const a204_0x50b9cb=a204_0x3c6c;(function(_0x3bb164,_0x218b85){const _0x93c3d5=a204_0x3c6c,_0x278643=_0x3bb164();while(!![]){try{const _0xec7cda=-parseInt(_0x93c3d5(0x166))/0x1*(-parseInt(_0x93c3d5(0x19a))/0x2)+parseInt(_0x93c3d5(0x18c))/0x3*(-parseInt(_0x93c3d5(0x188))/0x4)+parseInt(_0x93c3d5(0x19d))/0x5+-parseInt(_0x93c3d5(0x145))/0x6*(-parseInt(_0x93c3d5(0x15b))/0x7)+parseInt(_0x93c3d5(0x16a))/0x8*(-parseInt(_0x93c3d5(0x18a))/0x9)+-parseInt(_0x93c3d5(0x150))/0xa+parseInt(_0x93c3d5(0x1b4))/0xb;if(_0xec7cda===_0x218b85)break;else _0x278643['push'](_0x278643['shift']());}catch(_0x2e1a60){_0x278643['push'](_0x278643['shift']());}}}(a204_0x321a,0xac5ca));import{createHash}from'node:crypto';import a204_0xaebcec from'node:fs/promises';import a204_0x2774ce from'node:path';import a204_0x2df993 from'semver';function a204_0x321a(){const _0x54b62d=['Use\x20a\x20different\x20project\x20name.','number','CDN\x20config\x20does\x20not\x20define\x20template\x20\x22','copyFile','cancel','verifying','package.json','from','update','.rabetbase','3474569boYjgD','CDN\x20project\x20template\x20relative\x20URL\x20must\x20match\x20its\x20release\x20channel\x20or\x20version.','dirname','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','ENOENT','readFile','message','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','validation','.lovrabet.json','join','3asISYT','pathname','.git','valid','136RVuCNI','parse','sha256:','Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20','release','template.zip','mode','protocol','utf8','get','dist','Invalid\x20local\x20template\x20source:\x20','code','byteLength','EEXIST','Local\x20template\x20source\x20does\x20not\x20exist:\x20','digest','push','resolving','string','.idea','lstat',',\x20received\x20','cdn','releaseLock','arrayBuffer','version','trim','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','isDirectory','4776RWgHCB','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','511839nQWJCn','Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.','153HKjhRq','url','node_modules','signal','readdir','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','.DS_Store','project','Project\x20directory\x20already\x20exists:\x20','startsWith','mkdir','name','Unable\x20to\x20claim\x20the\x20project\x20directory.','headers','470342JUdHjR','content-length','downloading','2510350SAwhaN','posix','mkdtemp','access','abort','object','test','getReader','href','config','Project\x20template\x20package.json\x20is\x20invalid.','.codegraph','legacyAssetBaseUrl','copying','ino','application/zip','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','status','size','writeFile','Check\x20the\x20source\x20directory\x20and\x20retry.','realpath','toLowerCase','2991956klEEhj','local','basename','.env','https:','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','.rabetbase-create-','isFile','isSymbolicLink','extracting','sep','includes','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','length','sha256','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','6HQXztM','resolve','body','.env.','rename','concat','Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','has','dev','origin','2422510MgPPdy'];a204_0x321a=function(){return _0x54b62d;};return a204_0x321a();}import{getProjectTemplateRelativeUrl}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{fetchProjectTemplateCdnConfig,isBetaCliVersion,resolveProjectTemplateDescriptor}from'../../../utils/cli-version-policy.js';import{getCliVersion}from'../../../utils/version.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x319ada){const _0x1f8512=a204_0x3c6c;return typeof _0x319ada===_0x1f8512(0x17d)&&_0x319ada[_0x1f8512(0x185)]()?_0x319ada[_0x1f8512(0x185)]():null;}function parseDescriptor(_0x59d03b){const _0x2fb3ce=a204_0x3c6c;if(!_0x59d03b||typeof _0x59d03b!==_0x2fb3ce(0x1a2))throw new Error(_0x2fb3ce(0x153)+TEMPLATE_ID+'\x22.');const _0x261f06=_0x59d03b,_0x555192=nonEmptyString(_0x261f06['version']),_0x7093c6=nonEmptyString(_0x261f06[_0x2fb3ce(0x197)]),_0x501309=_0x261f06[_0x2fb3ce(0x18d)]===undefined?undefined:nonEmptyString(_0x261f06[_0x2fb3ce(0x18d)])||undefined,_0x443c97=nonEmptyString(_0x261f06['sha256'])?.[_0x2fb3ce(0x1b3)](),_0x3076b1=_0x261f06[_0x2fb3ce(0x1af)];if(!_0x555192||!a204_0x2df993[_0x2fb3ce(0x169)](_0x555192)||!_0x7093c6||_0x7093c6!==a204_0x2774ce[_0x2fb3ce(0x19e)]['basename'](_0x7093c6)||_0x7093c6[_0x2fb3ce(0x140)]('\x5c')||_0x261f06[_0x2fb3ce(0x18d)]!==undefined&&!_0x501309||!_0x443c97||!/^sha256:[a-f0-9]{64}$/[_0x2fb3ce(0x1a3)](_0x443c97)||typeof _0x3076b1!==_0x2fb3ce(0x152)||!Number['isSafeInteger'](_0x3076b1)||_0x3076b1<=0x0||_0x3076b1>MAX_ARCHIVE_SIZE)throw new Error(_0x2fb3ce(0x1ad)+TEMPLATE_ID+'\x22.');return{'version':_0x555192,'name':_0x7093c6,'url':_0x501309,'sha256':_0x443c97,'size':_0x3076b1};}function a204_0x3c6c(_0x112d40,_0x40e1ed){_0x112d40=_0x112d40-0x139;const _0x321a08=a204_0x321a();let _0x3c6c15=_0x321a08[_0x112d40];return _0x3c6c15;}async function fetchWithTimeout(_0x30189f,_0x20f07c,_0x340aa6,_0x2c7cb6){const _0x501d7f=a204_0x3c6c,_0x135e12=new AbortController(),_0x1a69c8=setTimeout(()=>_0x135e12[_0x501d7f(0x1a1)](),_0x20f07c);try{const _0x3847ea=await fetch(_0x30189f,{'headers':{'Accept':_0x340aa6},'redirect':'error','signal':_0x135e12[_0x501d7f(0x18f)]});return await _0x2c7cb6(_0x3847ea);}finally{clearTimeout(_0x1a69c8);}}async function fetchTemplateDescriptor(){const _0x35957f=a204_0x3c6c,_0x1088b4=getCliVersion(),_0x43a7c8=isBetaCliVersion(_0x1088b4)?'beta':_0x35957f(0x16e),_0x170d65=await fetchProjectTemplateCdnConfig();if(!_0x170d65)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');const _0x2f62cb=parseDescriptor(resolveProjectTemplateDescriptor(_0x170d65[_0x35957f(0x1a6)],_0x1088b4));return{'descriptor':_0x2f62cb,'channel':_0x43a7c8,'assetBaseUrl':_0x170d65['assetBaseUrl'],'legacyAssetBaseUrl':_0x170d65[_0x35957f(0x1a9)]};}function resolveArchiveUrl(_0x2df981,_0x46eab0,_0x488d50,_0x5855ac){const _0x7f157f=a204_0x3c6c,_0x1b5954=new URL(_0x488d50+'/'),_0x1d03c6=[getProjectTemplateRelativeUrl(_0x46eab0),getProjectTemplateRelativeUrl(_0x46eab0,_0x2df981['version'])];if(_0x2df981['url']&&!_0x1d03c6[_0x7f157f(0x140)](_0x2df981[_0x7f157f(0x18d)]))throw new Error(_0x7f157f(0x15c));const _0x1311fc=new URL(_0x5855ac+'/'),_0x5ee17e=_0x2df981[_0x7f157f(0x18d)]?new URL(_0x2df981[_0x7f157f(0x18d)],_0x1b5954[_0x7f157f(0x14f)]):new URL(_0x2df981[_0x7f157f(0x197)],_0x1311fc),_0x1d11fa=_0x2df981['url']?_0x1b5954[_0x7f157f(0x14f)]:_0x1311fc[_0x7f157f(0x14f)];if(_0x5ee17e[_0x7f157f(0x171)]!==_0x7f157f(0x1b8)||_0x5ee17e[_0x7f157f(0x14f)]!==_0x1d11fa||a204_0x2774ce[_0x7f157f(0x19e)][_0x7f157f(0x1b6)](decodeURIComponent(_0x5ee17e['pathname']))!==_0x2df981['name']||!_0x2df981[_0x7f157f(0x18d)]&&!_0x5ee17e[_0x7f157f(0x167)][_0x7f157f(0x195)](_0x1311fc['pathname']))throw new Error(_0x7f157f(0x139));return _0x5ee17e[_0x7f157f(0x1a5)];}async function readResponseBytes(_0x5d9d7f,_0x488702){const _0x125730=a204_0x3c6c;if(!_0x5d9d7f[_0x125730(0x147)]){const _0x5c0e18=Buffer['from'](await _0x5d9d7f[_0x125730(0x183)]());if(_0x5c0e18['length']>_0x488702)throw new Error(_0x125730(0x14c));return _0x5c0e18;}const _0x4a43ac=_0x5d9d7f[_0x125730(0x147)][_0x125730(0x1a4)](),_0x560f5d=[];let _0x136d9c=0x0;try{while(!![]){const {done:_0x386ba2,value:_0x326909}=await _0x4a43ac['read']();if(_0x386ba2)break;_0x136d9c+=_0x326909[_0x125730(0x177)];if(_0x136d9c>_0x488702){await _0x4a43ac[_0x125730(0x155)]();throw new Error(_0x125730(0x14c));}_0x560f5d[_0x125730(0x17b)](Buffer[_0x125730(0x158)](_0x326909));}}finally{_0x4a43ac[_0x125730(0x182)]();}return Buffer[_0x125730(0x14a)](_0x560f5d,_0x136d9c);}async function downloadArchive(_0x3da4d0,_0x3d563b,_0x2e191d,_0x13c36a,_0x407212,_0x22b4a9){const _0x76de6b=a204_0x3c6c,_0x1430c6=await fetchWithTimeout(resolveArchiveUrl(_0x3da4d0,_0x3d563b,_0x2e191d,_0x13c36a),ARCHIVE_TIMEOUT_MS,_0x76de6b(0x1ac),async _0x1c4adb=>{const _0x470548=_0x76de6b;if(!_0x1c4adb['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x1c4adb[_0x470548(0x1ae)]+'.');const _0x2fba4c=Number(_0x1c4adb[_0x470548(0x199)][_0x470548(0x173)](_0x470548(0x19b)));if(Number['isFinite'](_0x2fba4c)&&_0x2fba4c>MAX_ARCHIVE_SIZE)throw new Error(_0x470548(0x15e));return readResponseBytes(_0x1c4adb,_0x3da4d0[_0x470548(0x1af)]);});if(_0x1430c6[_0x76de6b(0x142)]!==_0x3da4d0[_0x76de6b(0x1af)])throw new Error(_0x76de6b(0x13a)+_0x3da4d0[_0x76de6b(0x1af)]+_0x76de6b(0x180)+_0x1430c6['length']+'.');_0x22b4a9?.(_0x76de6b(0x156));const _0x548f34=_0x76de6b(0x16c)+createHash(_0x76de6b(0x143))[_0x76de6b(0x159)](_0x1430c6)[_0x76de6b(0x17a)]('hex');if(_0x548f34!==_0x3da4d0[_0x76de6b(0x143)])throw new Error(_0x76de6b(0x186));await a204_0xaebcec[_0x76de6b(0x1b0)](_0x407212,_0x1430c6,{'flag':'wx'});}async function assertTemplateRoot(_0x42a7d0){const _0x93c675=a204_0x3c6c,_0x35aba3=a204_0x2774ce[_0x93c675(0x165)](_0x42a7d0,_0x93c675(0x157)),_0x1766f6=JSON[_0x93c675(0x16b)](await a204_0xaebcec[_0x93c675(0x160)](_0x35aba3,_0x93c675(0x172)));if(!_0x1766f6||typeof _0x1766f6!==_0x93c675(0x1a2))throw new Error(_0x93c675(0x1a7));}const LOCAL_FORBIDDEN_NAMES=new Set([a204_0x50b9cb(0x192),a204_0x50b9cb(0x1a8),a204_0x50b9cb(0x168),a204_0x50b9cb(0x17e),a204_0x50b9cb(0x164),'.lovrabet.log',a204_0x50b9cb(0x15a),'.rabetbase.json',a204_0x50b9cb(0x174),a204_0x50b9cb(0x18e)]);function isForbiddenTemplateEntry(_0x219e4d){const _0x2f7d65=a204_0x50b9cb;if(LOCAL_FORBIDDEN_NAMES[_0x2f7d65(0x14d)](_0x219e4d))return!![];return _0x219e4d===_0x2f7d65(0x1b7)||_0x219e4d[_0x2f7d65(0x195)](_0x2f7d65(0x148))&&_0x219e4d!=='.env.example';}function containsPath(_0x180f65,_0x557b37){const _0x287a21=a204_0x50b9cb,_0x36a927=a204_0x2774ce['relative'](_0x180f65,_0x557b37);return _0x36a927===''||!_0x36a927['startsWith']('..'+a204_0x2774ce[_0x287a21(0x13f)])&&_0x36a927!=='..'&&!a204_0x2774ce['isAbsolute'](_0x36a927);}async function copyLocalTemplateDirectory(_0x5ce760,_0x4a25a4){const _0x51e518=a204_0x50b9cb;await a204_0xaebcec[_0x51e518(0x196)](_0x4a25a4,{'recursive':!![]});for(const _0x315189 of await a204_0xaebcec[_0x51e518(0x190)](_0x5ce760,{'withFileTypes':!![]})){const _0x16d823=a204_0x2774ce['join'](_0x5ce760,_0x315189['name']),_0xf7d41f=a204_0x2774ce['join'](_0x4a25a4,_0x315189[_0x51e518(0x197)]);if(isForbiddenTemplateEntry(_0x315189[_0x51e518(0x197)]))throw new Error(_0x51e518(0x16d)+_0x16d823);const _0x574af5=await a204_0xaebcec[_0x51e518(0x17f)](_0x16d823);if(_0x574af5[_0x51e518(0x13d)]())throw new Error(_0x51e518(0x144)+_0x16d823);if(_0x574af5[_0x51e518(0x187)]()){await copyLocalTemplateDirectory(_0x16d823,_0xf7d41f);continue;}if(!_0x574af5[_0x51e518(0x13c)]())continue;await a204_0xaebcec[_0x51e518(0x154)](_0x16d823,_0xf7d41f),await a204_0xaebcec['chmod'](_0xf7d41f,_0x574af5[_0x51e518(0x170)]&0x1ff);}}async function readTemplateVersion(_0x351b67){const _0x252025=a204_0x50b9cb,_0x5304c0=JSON['parse'](await a204_0xaebcec['readFile'](a204_0x2774ce[_0x252025(0x165)](_0x351b67,_0x252025(0x157)),_0x252025(0x172)));return nonEmptyString(_0x5304c0[_0x252025(0x184)])||_0x252025(0x1b5);}async function readDirectoryIdentity(_0x33a011){const _0x34052a=a204_0x50b9cb;try{const _0x124f5d=await a204_0xaebcec[_0x34052a(0x17f)](_0x33a011);if(!_0x124f5d[_0x34052a(0x187)]())return null;return{'dev':_0x124f5d[_0x34052a(0x14e)],'ino':_0x124f5d[_0x34052a(0x1ab)]};}catch{return null;}}async function commitStagedProject(_0x33f2d8,_0x463ade){const _0x2cd57d=a204_0x50b9cb;await a204_0xaebcec[_0x2cd57d(0x196)](_0x463ade);const _0x2eb2c4=await readDirectoryIdentity(_0x463ade);if(!_0x2eb2c4)throw new Error(_0x2cd57d(0x198));try{for(const _0x11829a of await a204_0xaebcec[_0x2cd57d(0x190)](_0x33f2d8)){await a204_0xaebcec[_0x2cd57d(0x149)](a204_0x2774ce[_0x2cd57d(0x165)](_0x33f2d8,_0x11829a),a204_0x2774ce[_0x2cd57d(0x165)](_0x463ade,_0x11829a));}}catch(_0x22bf44){const _0x5d487a=await readDirectoryIdentity(_0x463ade);_0x5d487a?.['dev']===_0x2eb2c4[_0x2cd57d(0x14e)]&&_0x5d487a['ino']===_0x2eb2c4[_0x2cd57d(0x1ab)]&&await a204_0xaebcec['rm'](_0x463ade,{'recursive':!![],'force':!![]});throw _0x22bf44;}}export async function materializeProjectTemplate(_0x4fcbb0,_0x1eadf0){const _0x426ddd=a204_0x50b9cb,_0x245e96=a204_0x2774ce[_0x426ddd(0x146)](_0x4fcbb0),_0x2c4608=a204_0x2774ce[_0x426ddd(0x15d)](_0x245e96);try{await a204_0xaebcec[_0x426ddd(0x17f)](_0x245e96);throw new Error(_0x426ddd(0x194)+_0x245e96);}catch(_0x3f1315){if(_0x3f1315[_0x426ddd(0x176)]!==_0x426ddd(0x15f))throw _0x3f1315;}const _0x452082=await a204_0xaebcec[_0x426ddd(0x19f)](a204_0x2774ce[_0x426ddd(0x165)](_0x2c4608,_0x426ddd(0x13b))),_0x223700=a204_0x2774ce[_0x426ddd(0x165)](_0x452082,_0x426ddd(0x193)),_0x5c350f=a204_0x2774ce['join'](_0x452082,_0x426ddd(0x16f));try{try{_0x1eadf0?.(_0x426ddd(0x17c));const {descriptor:_0x32d10b,channel:_0x5edefb,assetBaseUrl:_0x2d59e9,legacyAssetBaseUrl:_0x739269}=await fetchTemplateDescriptor();return _0x1eadf0?.(_0x426ddd(0x19c)),await downloadArchive(_0x32d10b,_0x5edefb,_0x2d59e9,_0x739269,_0x5c350f,_0x1eadf0),_0x1eadf0?.(_0x426ddd(0x13e)),await extractProjectTemplateArchive(_0x5c350f,_0x223700),await assertTemplateRoot(_0x223700),await commitStagedProject(_0x223700,_0x245e96),{'source':_0x426ddd(0x181),'version':_0x32d10b[_0x426ddd(0x184)]};}catch(_0x52fbb8){if(_0x52fbb8[_0x426ddd(0x176)]===_0x426ddd(0x178))throw CliErrors[_0x426ddd(0x163)](_0x426ddd(0x194)+_0x245e96,_0x426ddd(0x151));const _0x3a526c=_0x52fbb8 instanceof Error?_0x52fbb8[_0x426ddd(0x161)]:String(_0x52fbb8);throw CliErrors[_0x426ddd(0x163)](_0x426ddd(0x141),_0x426ddd(0x191)+_0x3a526c);}}finally{await a204_0xaebcec['rm'](_0x452082,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x27ce0a,_0x5b68de,_0x380b06){const _0x204415=a204_0x50b9cb;let _0x4d434a;try{_0x4d434a=await a204_0xaebcec[_0x204415(0x1b2)](a204_0x2774ce[_0x204415(0x146)](_0x27ce0a));}catch{throw CliErrors[_0x204415(0x163)](_0x204415(0x179)+a204_0x2774ce[_0x204415(0x146)](_0x27ce0a),'Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.');}const _0x59d327=await a204_0xaebcec[_0x204415(0x17f)](_0x4d434a);if(!_0x59d327['isDirectory']())throw CliErrors[_0x204415(0x163)](_0x204415(0x189)+_0x4d434a);const _0x592017=a204_0x2774ce['resolve'](_0x5b68de),_0x32a88d=await a204_0xaebcec[_0x204415(0x1b2)](a204_0x2774ce[_0x204415(0x15d)](_0x592017)),_0x12d238=a204_0x2774ce[_0x204415(0x165)](_0x32a88d,a204_0x2774ce[_0x204415(0x1b6)](_0x592017));if(containsPath(_0x4d434a,_0x12d238)||containsPath(_0x12d238,_0x4d434a))throw CliErrors[_0x204415(0x163)](_0x204415(0x18b),_0x204415(0x162));try{await a204_0xaebcec[_0x204415(0x17f)](_0x12d238);throw CliErrors['validation'](_0x204415(0x194)+_0x12d238,_0x204415(0x14b));}catch(_0x3257dc){if(_0x3257dc['code']!==_0x204415(0x15f))throw _0x3257dc;}const _0x424e1f=a204_0x2774ce[_0x204415(0x15d)](_0x12d238);await a204_0xaebcec[_0x204415(0x1a0)](_0x424e1f);const _0x1c4d10=await a204_0xaebcec['mkdtemp'](a204_0x2774ce[_0x204415(0x165)](_0x424e1f,_0x204415(0x13b))),_0x25956a=a204_0x2774ce[_0x204415(0x165)](_0x1c4d10,_0x204415(0x193));try{_0x380b06?.(_0x204415(0x1aa)),await copyLocalTemplateDirectory(_0x4d434a,_0x25956a),await assertTemplateRoot(_0x25956a);const _0x550d49=await readTemplateVersion(_0x25956a);return await commitStagedProject(_0x25956a,_0x12d238),{'source':_0x204415(0x1b5),'version':_0x550d49};}catch(_0x44456b){const _0x516368=_0x44456b instanceof Error?_0x44456b[_0x204415(0x161)]:String(_0x44456b);throw CliErrors[_0x204415(0x163)](_0x204415(0x175)+_0x516368,_0x204415(0x1b1));}finally{await a204_0xaebcec['rm'](_0x1c4d10,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x496c92,_0x5c576c){const _0x532cb8=a205_0x4b30,_0x18ac23=_0x496c92();while(!![]){try{const _0x46937a=parseInt(_0x532cb8(0x1dd))/0x1*(parseInt(_0x532cb8(0x1e2))/0x2)+parseInt(_0x532cb8(0x1d7))/0x3*(parseInt(_0x532cb8(0x1d8))/0x4)+-parseInt(_0x532cb8(0x1e5))/0x5+-parseInt(_0x532cb8(0x1e0))/0x6+parseInt(_0x532cb8(0x1d6))/0x7+-parseInt(_0x532cb8(0x1e6))/0x8*(parseInt(_0x532cb8(0x1d3))/0x9)+-parseInt(_0x532cb8(0x1df))/0xa*(-parseInt(_0x532cb8(0x1d5))/0xb);if(_0x46937a===_0x5c576c)break;else _0x18ac23['push'](_0x18ac23['shift']());}catch(_0x2ed28d){_0x18ac23['push'](_0x18ac23['shift']());}}}(a205_0x48de,0xc6c6e));function a205_0x4b30(_0x5802ec,_0x3c82bd){_0x5802ec=_0x5802ec-0x1d2;const _0x48de60=a205_0x48de();let _0x4b307d=_0x48de60[_0x5802ec];return _0x4b307d;}import{CliErrors}from'../../../errors.js';const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;export function getProjectNameValidationError(_0x451183){const _0x183b6f=a205_0x4b30,_0x112cd1=_0x451183[_0x183b6f(0x1e3)]();if(!_0x112cd1)return _0x183b6f(0x1d4);if(_0x112cd1[_0x183b6f(0x1d9)]>MAX_PROJECT_NAME_LENGTH)return _0x183b6f(0x1dc)+MAX_PROJECT_NAME_LENGTH+_0x183b6f(0x1db);if(!PROJECT_NAME_PATTERN[_0x183b6f(0x1e1)](_0x112cd1))return _0x183b6f(0x1da);if(WINDOWS_RESERVED_NAME['test'](_0x112cd1))return _0x183b6f(0x1de)+_0x112cd1+_0x183b6f(0x1d2);return null;}export function validateProjectName(_0x5b60ab){const _0x3a5b32=a205_0x4b30,_0x594101=_0x5b60ab[_0x3a5b32(0x1e3)](),_0x3ff883=getProjectNameValidationError(_0x594101);if(_0x3ff883)throw CliErrors[_0x3a5b32(0x1e4)](_0x3ff883,'Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.');return _0x594101;}function a205_0x48de(){const _0x2cf044=['41rFPLlB','Project\x20name\x20\x22','2260YgkLfM','4481220UipeuR','test','44116XFxBkv','trim','validation','5815770FFncgt','959176JqOtfd','\x22\x20is\x20reserved\x20on\x20Windows','117QoXLAK','Project\x20name\x20cannot\x20be\x20empty','62458UDrDEC','10505439ToZDHn','36aawmEw','198164cBFSzY','length','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','\x20characters','Project\x20name\x20cannot\x20exceed\x20'];a205_0x48de=function(){return _0x2cf044;};return a205_0x48de();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x468986,_0x46bbc3){const _0x51b4e0=a206_0x23b3,_0x39c2f7=_0x468986();while(!![]){try{const _0x4c095b=parseInt(_0x51b4e0(0x1aa))/0x1+parseInt(_0x51b4e0(0x1c5))/0x2*(parseInt(_0x51b4e0(0x1a8))/0x3)+-parseInt(_0x51b4e0(0x1c3))/0x4*(-parseInt(_0x51b4e0(0x1bd))/0x5)+parseInt(_0x51b4e0(0x1c6))/0x6+-parseInt(_0x51b4e0(0x1b1))/0x7*(-parseInt(_0x51b4e0(0x1ab))/0x8)+parseInt(_0x51b4e0(0x1bb))/0x9*(parseInt(_0x51b4e0(0x1c1))/0xa)+parseInt(_0x51b4e0(0x1a9))/0xb*(-parseInt(_0x51b4e0(0x1a1))/0xc);if(_0x4c095b===_0x46bbc3)break;else _0x39c2f7['push'](_0x39c2f7['shift']());}catch(_0x42ec5f){_0x39c2f7['push'](_0x39c2f7['shift']());}}}(a206_0x2292,0x5e661));import{createWriteStream}from'node:fs';function a206_0x2292(){const _0x34c849=['1028WRReNN','1759518JahBZp','open','has','openReadStream','set','toLocaleLowerCase','isEncrypted','23828868OEfkFG','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20','join','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','uncompressedSize','error','888bZgZfs','11HLWcwZ','482259OTVXAV','8awMJVo','add','slice','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','mkdir','get','5107774dcseYc','Unable\x20to\x20open\x20project\x20template\x20archive.','endsWith','end','resolve','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','fileName','once','length','sep','18laerBK','en-US','15JFqAbW','split','replace','test','1570180XtdUlV','readEntry','534696TOFGsN','close'];a206_0x2292=function(){return _0x34c849;};return a206_0x2292();}import a206_0x2cadf5 from'node:fs/promises';function a206_0x23b3(_0xe9442a,_0x3291ab){_0xe9442a=_0xe9442a-0x19b;const _0x2292d7=a206_0x2292();let _0x23b331=_0x2292d7[_0xe9442a];return _0x23b331;}import a206_0x6eec7f from'node:path';import{pipeline}from'node:stream/promises';import a206_0x36453a from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x4ca2c4){return new Promise((_0x52ebfb,_0x48bf73)=>{const _0x1b2c42=a206_0x23b3;a206_0x36453a[_0x1b2c42(0x19b)](_0x4ca2c4,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x3e2b71,_0x301cdc)=>{const _0x1d1dcc=_0x1b2c42;if(_0x3e2b71||!_0x301cdc){_0x48bf73(_0x3e2b71||new Error(_0x1d1dcc(0x1b2)));return;}_0x52ebfb(_0x301cdc);});});}function openEntryStream(_0x316586,_0x2eae25){return new Promise((_0x5ae621,_0x275a5c)=>{const _0x3c209f=a206_0x23b3;_0x316586[_0x3c209f(0x19d)](_0x2eae25,(_0x567fcf,_0x2237d2)=>{const _0x8369c4=_0x3c209f;if(_0x567fcf||!_0x2237d2){_0x275a5c(_0x567fcf||new Error('Unable\x20to\x20read\x20ZIP\x20entry:\x20'+_0x2eae25[_0x8369c4(0x1b7)]));return;}_0x5ae621(_0x2237d2);});});}function validateEntryPath(_0x28ccfc){const _0x5dab0b=a206_0x23b3,_0x2eb26f=_0x28ccfc[_0x5dab0b(0x1bf)](/\\/g,'/'),_0xf8a137=_0x2eb26f[_0x5dab0b(0x1b3)]('/'),_0x374282=_0xf8a137?_0x2eb26f['slice'](0x0,-0x1):_0x2eb26f;if(!_0x374282||_0x2eb26f['startsWith']('/')||/^[A-Za-z]:\//[_0x5dab0b(0x1c0)](_0x2eb26f))throw new Error(_0x5dab0b(0x1a3)+_0x28ccfc);const _0xeb0928=_0x374282[_0x5dab0b(0x1be)]('/');for(const _0x4201c7 of _0xeb0928){if(!_0x4201c7||_0x4201c7==='.'||_0x4201c7==='..'||_0x4201c7[_0x5dab0b(0x1b3)]('.')||_0x4201c7['endsWith']('\x20')||WINDOWS_INVALID_CHAR[_0x5dab0b(0x1c0)](_0x4201c7)||WINDOWS_RESERVED_NAME['test'](_0x4201c7))throw new Error('Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20'+_0x28ccfc);}return{'relativePath':_0xeb0928['join'](a206_0x6eec7f[_0x5dab0b(0x1ba)]),'directory':_0xf8a137};}function isSymbolicLink(_0x173f02){const _0x53fb90=_0x173f02['externalFileAttributes']>>>0x10&0xffff;return(_0x53fb90&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x543432,_0x402b8c){const _0x543a59=a206_0x23b3,_0x35ba34=await openZip(_0x543432),_0x78b62e=a206_0x6eec7f['resolve'](_0x402b8c),_0x5e4aa4=new Set(),_0x587762=new Map();let _0x31d9ac=0x0,_0x5d73cd=0x0;await a206_0x2cadf5[_0x543a59(0x1af)](_0x78b62e,{'recursive':!![]}),await new Promise((_0x426764,_0x33c7e4)=>{const _0x328797=_0x543a59;let _0x40fbd6=![];const _0x14ccfb=_0x2b2f3e=>{const _0x2daa84=a206_0x23b3;if(_0x40fbd6)return;_0x40fbd6=!![],_0x35ba34[_0x2daa84(0x1c4)](),_0x33c7e4(_0x2b2f3e instanceof Error?_0x2b2f3e:new Error(String(_0x2b2f3e)));};_0x35ba34['once'](_0x328797(0x1a7),_0x14ccfb),_0x35ba34[_0x328797(0x1b8)](_0x328797(0x1b4),()=>{if(_0x40fbd6)return;_0x40fbd6=!![],_0x426764();}),_0x35ba34['on']('entry',_0x59fc63=>{void(async()=>{const _0x4bbd95=a206_0x23b3;_0x31d9ac+=0x1,_0x5d73cd+=_0x59fc63[_0x4bbd95(0x1a6)];if(_0x31d9ac>MAX_ENTRY_COUNT)throw new Error('Project\x20template\x20ZIP\x20exceeds\x20'+MAX_ENTRY_COUNT+'\x20entries.');if(_0x5d73cd>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x4bbd95(0x1a2));if(_0x59fc63[_0x4bbd95(0x1a0)]())throw new Error(_0x4bbd95(0x1a5)+_0x59fc63[_0x4bbd95(0x1b7)]);if(isSymbolicLink(_0x59fc63))throw new Error(_0x4bbd95(0x1ae)+_0x59fc63[_0x4bbd95(0x1b7)]);const {relativePath:_0x5cd075,directory:_0x10033f}=validateEntryPath(_0x59fc63['fileName']),_0x26b704=_0x5cd075[_0x4bbd95(0x1be)](a206_0x6eec7f[_0x4bbd95(0x1ba)]);for(let _0x39fff8=0x1;_0x39fff8<=_0x26b704[_0x4bbd95(0x1b9)];_0x39fff8+=0x1){const _0x49bca1=_0x26b704[_0x4bbd95(0x1ad)](0x0,_0x39fff8)[_0x4bbd95(0x1a4)](a206_0x6eec7f[_0x4bbd95(0x1ba)]),_0x3d6be0=_0x49bca1[_0x4bbd95(0x19f)](_0x4bbd95(0x1bc)),_0x16037f=_0x587762[_0x4bbd95(0x1b0)](_0x3d6be0);if(_0x16037f&&_0x16037f!==_0x49bca1)throw new Error('Case-conflicting\x20ZIP\x20entry\x20path:\x20'+_0x59fc63['fileName']);_0x587762[_0x4bbd95(0x19e)](_0x3d6be0,_0x49bca1);}const _0x12b2e4=_0x5cd075['toLocaleLowerCase'](_0x4bbd95(0x1bc));if(_0x5e4aa4[_0x4bbd95(0x19c)](_0x12b2e4))throw new Error('Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20'+_0x59fc63[_0x4bbd95(0x1b7)]);_0x5e4aa4[_0x4bbd95(0x1ac)](_0x12b2e4);const _0x525d4e=a206_0x6eec7f[_0x4bbd95(0x1b5)](_0x78b62e,_0x5cd075);if(_0x525d4e!==_0x78b62e&&!_0x525d4e['startsWith'](''+_0x78b62e+a206_0x6eec7f[_0x4bbd95(0x1ba)]))throw new Error(_0x4bbd95(0x1b6)+_0x59fc63[_0x4bbd95(0x1b7)]);if(_0x10033f)await a206_0x2cadf5[_0x4bbd95(0x1af)](_0x525d4e,{'recursive':!![]});else{await a206_0x2cadf5['mkdir'](a206_0x6eec7f['dirname'](_0x525d4e),{'recursive':!![]});const _0x5f0b9e=await openEntryStream(_0x35ba34,_0x59fc63);await pipeline(_0x5f0b9e,createWriteStream(_0x525d4e,{'flags':'wx','mode':0x1a4}));}_0x35ba34[_0x4bbd95(0x1c2)]();})()['catch'](_0x14ccfb);}),_0x35ba34['readEntry']();});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x10c908,_0x4e6fc7){const _0x36f84c=a207_0x3a8c,_0x461877=_0x10c908();while(!![]){try{const _0xa663f5=-parseInt(_0x36f84c(0x179))/0x1+parseInt(_0x36f84c(0x177))/0x2*(parseInt(_0x36f84c(0x175))/0x3)+-parseInt(_0x36f84c(0x17b))/0x4+parseInt(_0x36f84c(0x17a))/0x5*(-parseInt(_0x36f84c(0x178))/0x6)+-parseInt(_0x36f84c(0x174))/0x7+parseInt(_0x36f84c(0x176))/0x8+parseInt(_0x36f84c(0x17d))/0x9*(parseInt(_0x36f84c(0x17c))/0xa);if(_0xa663f5===_0x4e6fc7)break;else _0x461877['push'](_0x461877['shift']());}catch(_0x4fcb67){_0x461877['push'](_0x461877['shift']());}}}(a207_0x23b0,0x48ddd));import a207_0x9fcca1 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a207_0x9fcca1['dirname'](fileURLToPath(import.meta.url));function a207_0x3a8c(_0x5ee277,_0x44b5f6){_0x5ee277=_0x5ee277-0x174;const _0x23b0a6=a207_0x23b0();let _0x3a8cfd=_0x23b0a6[_0x5ee277];return _0x3a8cfd;}function a207_0x23b0(){const _0x148c40=['813505WnALPF','211353UvFwkM','716936fRPwLi','16xidiJx','210WFhpwD','478238fIxczQ','37460pGJWzH','595396eDLDgr','3253790NslvHe','18VEigEE','resolve'];a207_0x23b0=function(){return _0x148c40;};return a207_0x23b0();}export function getRabetbaseCliPackageRoot(){const _0xffff63=a207_0x3a8c;return a207_0x9fcca1[_0xffff63(0x17e)](__dirname,'../../../../');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xb8b00,_0xdea7cd){const _0x1fb912=a208_0x48a8,_0x55d676=_0xb8b00();while(!![]){try{const _0x2cf979=-parseInt(_0x1fb912(0xa9))/0x1*(-parseInt(_0x1fb912(0xa1))/0x2)+parseInt(_0x1fb912(0xaa))/0x3+parseInt(_0x1fb912(0xab))/0x4*(-parseInt(_0x1fb912(0xb1))/0x5)+parseInt(_0x1fb912(0xb0))/0x6+parseInt(_0x1fb912(0xa3))/0x7*(-parseInt(_0x1fb912(0xaf))/0x8)+-parseInt(_0x1fb912(0xa6))/0x9+-parseInt(_0x1fb912(0xa8))/0xa;if(_0x2cf979===_0xdea7cd)break;else _0x55d676['push'](_0x55d676['shift']());}catch(_0x1fffc5){_0x55d676['push'](_0x55d676['shift']());}}}(a208_0x4e62,0xcdb61));function a208_0x4e62(){const _0x83c288=['Failed\x20to\x20copy\x20project\x20template','2vZocjj','cwd','5970979KrmRBs','info','source','13390416FVNvmo','version','1001430nPiUWG','974824Koaypn','2758137eZRrtR','15236MYKHyR','resolve','copy','Project\x20template\x20created','8nYViYn','9067452AMVywg','160TuHsom','Starting\x20project\x20template\x20creation','now','message'];a208_0x4e62=function(){return _0x83c288;};return a208_0x4e62();}function a208_0x48a8(_0x4869ad,_0x3730e9){_0x4869ad=_0x4869ad-0xa0;const _0x4e62a0=a208_0x4e62();let _0x48a842=_0x4e62a0[_0x4869ad];return _0x48a842;}import a208_0x2b1f27 from'node:path';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{materializeLocalProjectTemplate,materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';export async function copyProjectTemplate(_0x31a8c5,_0x16ad84,_0x1a0025){const _0x3b8694=a208_0x48a8,_0x415a38=Date[_0x3b8694(0xb3)](),_0x5989f5=a208_0x2b1f27[_0x3b8694(0xac)](process[_0x3b8694(0xa2)](),_0x31a8c5);try{logger[_0x3b8694(0xa4)](_0x3b8694(0xad),_0x3b8694(0xb2),{'projectCode':_0x31a8c5});const _0x448df9=_0x1a0025?await materializeLocalProjectTemplate(_0x1a0025,_0x5989f5,_0x16ad84):await materializeProjectTemplate(_0x5989f5,_0x16ad84),_0x1870b7=Date['now']()-_0x415a38;logger['success'](_0x3b8694(0xad),_0x3b8694(0xae),_0x1870b7,{'projectCode':_0x31a8c5,'templateSource':_0x448df9[_0x3b8694(0xa5)],'templateVersion':_0x448df9[_0x3b8694(0xa7)]});}catch(_0x3a3c3d){const _0x14571d=Date['now']()-_0x415a38;logger['error'](_0x3b8694(0xad),_0x3b8694(0xa0),{'projectCode':_0x31a8c5,'error':_0x3a3c3d instanceof Error?_0x3a3c3d[_0x3b8694(0xb4)]:String(_0x3a3c3d),'duration':_0x14571d});throw _0x3a3c3d;}return formatElapsed(_0x415a38);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x53d9c5,_0x477c78){const _0x25688d=a209_0x3b44,_0x1b5244=_0x53d9c5();while(!![]){try{const _0x3f3a01=parseInt(_0x25688d(0x123))/0x1+-parseInt(_0x25688d(0x111))/0x2*(-parseInt(_0x25688d(0x115))/0x3)+-parseInt(_0x25688d(0x11c))/0x4*(-parseInt(_0x25688d(0x116))/0x5)+-parseInt(_0x25688d(0x120))/0x6+parseInt(_0x25688d(0x110))/0x7+-parseInt(_0x25688d(0x11b))/0x8*(parseInt(_0x25688d(0x113))/0x9)+-parseInt(_0x25688d(0x10f))/0xa;if(_0x3f3a01===_0x477c78)break;else _0x1b5244['push'](_0x1b5244['shift']());}catch(_0x393e1d){_0x1b5244['push'](_0x1b5244['shift']());}}}(a209_0x92d2,0x7ea2e));function a209_0x92d2(){const _0x2a613f=['--write','4059850ThnVyB','4276657NYUiWl','358ePVdce','Code\x20format\x20failed','36ChcItF','info','3180DlrbIC','1524945UaRIqu','prettier','format','resolve','Code\x20format\x20completed','355176WUhxQT','4GjtOTr','success','now','npx','3617526GjRmkx','cwd','Starting\x20code\x20format','599516KQeGPZ'];a209_0x92d2=function(){return _0x2a613f;};return a209_0x92d2();}function a209_0x3b44(_0x55da5b,_0x3d5863){_0x55da5b=_0x55da5b-0x10e;const _0x92d2b1=a209_0x92d2();let _0x3b444d=_0x92d2b1[_0x55da5b];return _0x3b444d;}import a209_0x5b25de from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x526bf8){const _0x4c98c8=a209_0x3b44,_0x3426fa=Date['now'](),_0x267fe3=a209_0x5b25de[_0x4c98c8(0x119)](process[_0x4c98c8(0x121)](),_0x526bf8);try{logger[_0x4c98c8(0x114)](_0x4c98c8(0x118),_0x4c98c8(0x122),{'projectCode':_0x526bf8}),await execa(resolveNpmBin(_0x4c98c8(0x11f)),[_0x4c98c8(0x117),_0x4c98c8(0x10e),'.'],{'cwd':_0x267fe3});const _0x15089c=Date['now']()-_0x3426fa;logger[_0x4c98c8(0x11d)](_0x4c98c8(0x118),_0x4c98c8(0x11a),_0x15089c,{'projectCode':_0x526bf8});}catch(_0x37b3b3){const _0x4829b3=Date[_0x4c98c8(0x11e)]()-_0x3426fa;logger['error']('format',_0x4c98c8(0x112),{'projectCode':_0x526bf8,'error':_0x37b3b3 instanceof Error?_0x37b3b3['message']:String(_0x37b3b3),'duration':_0x4829b3});throw _0x37b3b3;}return formatElapsed(_0x3426fa);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a210_0x209b(){const _0x4ee278=['cwd','https://registry.npmmirror.com','info','20144kLbYEu','1506SEjzhB','Dependency\x20install\x20completed','2884GdoPxu','resolve','9453750nrZaom','2497062lGryVC','603ynlYFx','11109vrhiqh','9275vcJhIq','now','install','11onXoCu','41631540ktmeyv','message','--registry','25196nZRBop','success','59oHEwHF','npm'];a210_0x209b=function(){return _0x4ee278;};return a210_0x209b();}(function(_0x59aa52,_0x3b4b1d){const _0xf403bd=a210_0x3fc6,_0x2e6932=_0x59aa52();while(!![]){try{const _0x3466c0=parseInt(_0xf403bd(0x9a))/0x1*(-parseInt(_0xf403bd(0x98))/0x2)+-parseInt(_0xf403bd(0x8e))/0x3+-parseInt(_0xf403bd(0x8b))/0x4*(parseInt(_0xf403bd(0x91))/0x5)+parseInt(_0xf403bd(0x89))/0x6*(-parseInt(_0xf403bd(0x90))/0x7)+parseInt(_0xf403bd(0x88))/0x8*(-parseInt(_0xf403bd(0x8f))/0x9)+parseInt(_0xf403bd(0x8d))/0xa+-parseInt(_0xf403bd(0x94))/0xb*(-parseInt(_0xf403bd(0x95))/0xc);if(_0x3466c0===_0x3b4b1d)break;else _0x2e6932['push'](_0x2e6932['shift']());}catch(_0x456a80){_0x2e6932['push'](_0x2e6932['shift']());}}}(a210_0x209b,0xe4288));function a210_0x3fc6(_0x2f276e,_0x180899){_0x2f276e=_0x2f276e-0x88;const _0x209b18=a210_0x209b();let _0x3fc638=_0x209b18[_0x2f276e];return _0x3fc638;}import a210_0x56d506 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x22a97d){const _0x546a78=a210_0x3fc6,_0x52f380=Date[_0x546a78(0x92)](),_0x52693a=a210_0x56d506[_0x546a78(0x8c)](process[_0x546a78(0x9c)](),_0x22a97d);try{logger[_0x546a78(0x9e)](_0x546a78(0x93),'Starting\x20dependency\x20install',{'projectCode':_0x22a97d,'registry':_0x546a78(0x9d)}),await execa(resolveNpmBin(_0x546a78(0x9b)),['install',_0x546a78(0x97),_0x546a78(0x9d)],{'cwd':_0x52693a});const _0x528150=Date[_0x546a78(0x92)]()-_0x52f380;logger[_0x546a78(0x99)](_0x546a78(0x93),_0x546a78(0x8a),_0x528150,{'projectCode':_0x22a97d});}catch(_0x98b445){const _0x4735d1=Date[_0x546a78(0x92)]()-_0x52f380;logger['error'](_0x546a78(0x93),'Dependency\x20install\x20failed',{'projectCode':_0x22a97d,'error':_0x98b445 instanceof Error?_0x98b445[_0x546a78(0x96)]:String(_0x98b445),'duration':_0x4735d1});throw _0x98b445;}return formatElapsed(_0x52f380);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a211_0x1188d8=a211_0x3569;(function(_0x123e8b,_0x42db63){const _0x5cbca5=a211_0x3569,_0x203d8d=_0x123e8b();while(!![]){try{const _0x531b41=parseInt(_0x5cbca5(0xaf))/0x1+parseInt(_0x5cbca5(0xba))/0x2+parseInt(_0x5cbca5(0xaa))/0x3+-parseInt(_0x5cbca5(0xbb))/0x4*(parseInt(_0x5cbca5(0xac))/0x5)+-parseInt(_0x5cbca5(0xb4))/0x6*(parseInt(_0x5cbca5(0xae))/0x7)+-parseInt(_0x5cbca5(0xab))/0x8+parseInt(_0x5cbca5(0xb9))/0x9;if(_0x531b41===_0x42db63)break;else _0x203d8d['push'](_0x203d8d['shift']());}catch(_0x2d27d7){_0x203d8d['push'](_0x203d8d['shift']());}}}(a211_0x48fa,0x71bd6));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';function a211_0x3569(_0x27fb45,_0x5e258c){_0x27fb45=_0x27fb45-0xaa;const _0x48fa67=a211_0x48fa();let _0x3569b0=_0x48fa67[_0x27fb45];return _0x3569b0;}function a211_0x48fa(){const _0x409555=['validation','\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','domain-routing-sync','34638aWzlIC','read','project','path','Domain\x20routing\x20synchronized:\x20','4947165HIexTC','1158520EyvCUW','619772SarpKa','1027113XdYKeQ','3000624JMuWYN','30fwzBzy','Run\x20','189bJBOKp','455169AcmHEi'];a211_0x48fa=function(){return _0x409555;};return a211_0x48fa();}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';export const projectDomainRoutingSyncDefinition={'service':a211_0x1188d8(0xb6),'command':a211_0x1188d8(0xb3),'description':'Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','risk':a211_0x1188d8(0xb5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0x482713=a211_0x1188d8,_0x3959c5=findProjectRootDirectory();if(!resolveConfigPath(_0x3959c5))throw CliErrors[_0x482713(0xb0)](_0x482713(0xb2),_0x482713(0xad)+CLI_BIN_NAME+_0x482713(0xb1));const _0x4c8711=writeProjectDomainRoutingManifest(_0x3959c5);return{'ok':!![],'message':_0x482713(0xb8)+_0x4c8711[_0x482713(0xb7)],'data':_0x4c8711};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a212_0x4e37b9=a212_0x2fd1;(function(_0x46118a,_0x1390f1){const _0x312852=a212_0x2fd1,_0x2fdddf=_0x46118a();while(!![]){try{const _0x20098e=-parseInt(_0x312852(0xab))/0x1+-parseInt(_0x312852(0xa5))/0x2+-parseInt(_0x312852(0xcc))/0x3*(parseInt(_0x312852(0xbd))/0x4)+-parseInt(_0x312852(0xc2))/0x5*(parseInt(_0x312852(0xb7))/0x6)+parseInt(_0x312852(0xb4))/0x7*(parseInt(_0x312852(0xa4))/0x8)+-parseInt(_0x312852(0xcb))/0x9*(-parseInt(_0x312852(0xa8))/0xa)+-parseInt(_0x312852(0xbc))/0xb*(-parseInt(_0x312852(0xb2))/0xc);if(_0x20098e===_0x1390f1)break;else _0x2fdddf['push'](_0x2fdddf['shift']());}catch(_0x4893c1){_0x2fdddf['push'](_0x2fdddf['shift']());}}}(a212_0x265a,0xc9b4a));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a212_0x265a(){const _0xfb958=['nonInteractive','Would\x20upgrade\x20project\x20dependencies\x20and\x20application\x20source\x20structure\x20without\x20overwriting\x20project-owned\x20entrypoints','upgrade','Project\x20upgrade\x20completed.','yes','Create\x20a\x20new\x20project','27864dXLxZU','1056792WQddUl','bool','--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.','540RuEudS','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','string','738513VFKGWm','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.','cwd','cancelled','template-source','Target\x20environment','trim','12uvYtjI','write','714QehHEx','Usage:\x20','project','6LRrSDL','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','str','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]','env','26740417pIzncg','492132qtwqwg','appcode','current-dir','name','create','3301595wivcXT','PATCH','Upgrade\x20cancelled.','Upgrade\x20project\x20dependencies\x20and\x20application\x20source\x20structure','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Project\x20upgrade\x20completed\x20with\x20follow-up\x20work.','validation','completed','boolean','15039nCTByF','3astgKU','cookie','project-name','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'];a212_0x265a=function(){return _0xfb958;};return a212_0x265a();}import{analyseProjectUpgrade,upgradeApp}from'../../commands/project/upgrade.js';function a212_0x2fd1(_0x7fc3d0,_0x520017){_0x7fc3d0=_0x7fc3d0-0x9d;const _0x265a33=a212_0x265a();let _0x2fd1e0=_0x265a33[_0x7fc3d0];return _0x2fd1e0;}import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';const createFlags=[{'name':a212_0x4e37b9(0xc0),'type':'string','description':'Project\x20name'},{'name':'env','type':a212_0x4e37b9(0xaa),'description':a212_0x4e37b9(0xb0)},{'name':a212_0x4e37b9(0xbe),'type':a212_0x4e37b9(0xaa),'description':a212_0x4e37b9(0x9d)},{'name':'current-dir','type':'boolean','description':a212_0x4e37b9(0xa9),'default':![]},{'name':a212_0x4e37b9(0xaf),'type':'string','description':'Prepared\x20local\x20project\x20template\x20directory'}],upgradeFlags=[{'name':'yes','type':a212_0x4e37b9(0xca),'description':'Skip\x20confirmation\x20prompt','default':![]}];export const projectDefinitions=[{'service':a212_0x4e37b9(0xb6),'command':a212_0x4e37b9(0xc1),'description':a212_0x4e37b9(0xa3),'risk':a212_0x4e37b9(0xb3),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a212_0x4e37b9(0xce),'description':a212_0x4e37b9(0xb8),'required':![]}],'flags':createFlags,async 'execute'(_0x59b181){const _0x442096=a212_0x4e37b9,{createApp:_0x292f16}=await import('../../commands/project/create/main.js'),_0x400c17=_0x59b181[_0x442096(0xb9)]('name')[_0x442096(0xb1)]()||_0x59b181['args'][0x0]?.[_0x442096(0xb1)](),_0x59c756=_0x59b181['str'](_0x442096(0xbb))||undefined,_0x1bf997=_0x59b181['str']('appcode')||undefined,_0x39ebc3=_0x59b181['str']('template-source')[_0x442096(0xb1)]()||undefined,_0x4283b5=_0x59b181[_0x442096(0xa6)](_0x442096(0xbf));if(_0x4283b5&&_0x400c17)throw CliErrors[_0x442096(0xc8)](_0x442096(0xa7),'Run\x20'+CLI_BIN_NAME+_0x442096(0xac));if(_0x59b181[_0x442096(0x9e)]){if(!_0x400c17&&!_0x4283b5)throw CliErrors[_0x442096(0xc8)](_0x442096(0xc6),_0x442096(0xb5)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20'+CLI_BIN_NAME+_0x442096(0xba));await _0x292f16({'projectCode':_0x400c17,'appCode':_0x1bf997,'env':_0x59c756,'cookie':_0x59b181[_0x442096(0xcd)],'currentDir':_0x4283b5,'nonInteractive':!![],'templateSource':_0x39ebc3});}else await _0x292f16({'projectCode':_0x400c17,'appCode':_0x1bf997,'env':_0x59c756,'cookie':_0x59b181['cookie'],'currentDir':_0x4283b5,'templateSource':_0x39ebc3});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':a212_0x4e37b9(0xb6),'command':a212_0x4e37b9(0xa0),'description':a212_0x4e37b9(0xc5),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'dryRun'(){const _0x5d0ae4=a212_0x4e37b9,_0x776d52=analyseProjectUpgrade(process[_0x5d0ae4(0xad)]());return{'method':_0x5d0ae4(0xc3),'url':process[_0x5d0ae4(0xad)](),'body':_0x776d52,'description':_0x5d0ae4(0x9f)};},async 'execute'(_0x277ca2){const _0x24af23=a212_0x4e37b9,_0xb71813=await upgradeApp(_0x277ca2[_0x24af23(0x9e)],{'yes':_0x277ca2[_0x24af23(0xa6)](_0x24af23(0xa2))});return{'ok':_0xb71813[_0x24af23(0xc9)]||_0xb71813['cancelled']===!![],'message':_0xb71813[_0x24af23(0xae)]?_0x24af23(0xc4):_0xb71813[_0x24af23(0xc9)]?_0x24af23(0xa1):_0x24af23(0xc7),'data':_0xb71813};}}];
|