@lovrabet/rabetbase-cli 2.4.3 → 2.4.4-beta.1
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/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.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/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/get.js +1 -1
- package/lib/commands/config/index.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/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.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-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/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.d.ts +2 -0
- package/lib/commands/db/diff-refresh-start.js +1 -0
- package/lib/commands/db/diff-refresh-status.d.ts +2 -0
- package/lib/commands/db/diff-refresh-status.js +1 -0
- 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/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.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/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/notification/config-create.d.ts +2 -0
- package/lib/commands/notification/config-create.js +1 -0
- package/lib/commands/notification/config-delete.d.ts +2 -0
- package/lib/commands/notification/config-delete.js +1 -0
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.d.ts +2 -0
- package/lib/commands/notification/config-update.js +1 -0
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.d.ts +97 -0
- package/lib/commands/notification/shared.js +1 -0
- package/lib/commands/ocr/index.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/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.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/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.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.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +11 -0
- package/lib/commands/project/create/materialize-project-template.js +1 -0
- package/lib/commands/project/create/project-name.d.ts +2 -0
- package/lib/commands/project/create/project-name.js +1 -0
- package/lib/commands/project/create/project-template-archive.d.ts +6 -0
- package/lib/commands/project/create/project-template-archive.js +1 -0
- package/lib/commands/project/create/project-template-path.d.ts +1 -3
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.d.ts +2 -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/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.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/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/schema.js +1 -1
- package/lib/constant/cdn.d.ts +2 -0
- 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.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/risk.js +1 -1
- 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.d.ts +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +29 -2
- 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/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.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/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.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/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.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.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.d.ts +13 -0
- 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/rules-cdn.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 +9 -4
- package/skills/rabetbase/SKILL.md +33 -22
- package/skills/rabetbase/guides/backend-function.md +5 -3
- package/skills/rabetbase/guides/bff-creation-workflow.md +2 -2
- package/skills/rabetbase/guides/conflict-detection.md +2 -2
- package/skills/rabetbase/guides/database-connection-workflow.md +39 -5
- package/skills/rabetbase/guides/react-custom-page-workflow.md +16 -4
- package/skills/rabetbase/guides/sql-creation-workflow.md +4 -2
- package/skills/rabetbase/guides/sql-mybatis.md +2 -2
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +3 -37
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +14 -3
- package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +4 -5
- package/skills/rabetbase/references/rabetbase-bff-save.md +3 -3
- package/skills/rabetbase/references/rabetbase-config.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-detail.md +3 -0
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +53 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +40 -21
- package/skills/rabetbase/references/rabetbase-db-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-kb.md +5 -3
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -10
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +1 -3
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +2 -3
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-notification-config-mutations.md +56 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +3 -0
- package/skills/rabetbase/references/rabetbase-run.md +1 -1
- package/skills/rabetbase/references/rabetbase-sql-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-sql-push.md +3 -4
- package/skills/rabetbase/references/rabetbase-user-account.md +0 -1
- package/skills/rabetbase.manifest.json +5 -5
- package/templates/README.md +14 -2
- package/lib/commands/project/create/non-interactive.d.ts +0 -9
- package/lib/commands/project/create/non-interactive.js +0 -1
- package/lib/utils/copy-directory.d.ts +0 -1
- package/lib/utils/copy-directory.js +0 -1
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +0 -291
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +0 -223
- package/templates/projects/sub-app-react-demo/.prettierrc +0 -1
- package/templates/projects/sub-app-react-demo/CHANGELOG.md +0 -67
- package/templates/projects/sub-app-react-demo/README.md +0 -246
- package/templates/projects/sub-app-react-demo/docs/quick-start.md +0 -245
- package/templates/projects/sub-app-react-demo/index.html +0 -27
- package/templates/projects/sub-app-react-demo/package.json +0 -34
- package/templates/projects/sub-app-react-demo/public/logo.svg +0 -1
- package/templates/projects/sub-app-react-demo/public/vite.svg +0 -1
- package/templates/projects/sub-app-react-demo/src/api/api.ts +0 -26
- package/templates/projects/sub-app-react-demo/src/api/client.ts +0 -32
- package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +0 -28
- package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +0 -55
- package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +0 -308
- package/templates/projects/sub-app-react-demo/src/main.tsx +0 -52
- package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +0 -570
- package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +0 -531
- package/templates/projects/sub-app-react-demo/src/pages/index.module.css +0 -500
- package/templates/projects/sub-app-react-demo/src/pages/index.tsx +0 -641
- package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +0 -536
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +0 -295
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +0 -242
- package/templates/projects/sub-app-react-demo/src/router/index.tsx +0 -30
- package/templates/projects/sub-app-react-demo/src/style.css +0 -108
- package/templates/projects/sub-app-react-demo/src/utils/api.ts +0 -12
- package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +0 -2
- package/templates/projects/sub-app-react-demo/tsconfig.json +0 -26
- package/templates/projects/sub-app-react-demo/vite.config.ts +0 -111
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a157_0x3ea44d=a157_0x8df7;(function(_0x5ee77d,_0x32e77c){const _0x4fcd45=a157_0x8df7,_0x554b69=_0x5ee77d();while(!![]){try{const _0x2c2037=parseInt(_0x4fcd45(0x9a))/0x1*(parseInt(_0x4fcd45(0x9d))/0x2)+-parseInt(_0x4fcd45(0x90))/0x3*(parseInt(_0x4fcd45(0x92))/0x4)+-parseInt(_0x4fcd45(0x9c))/0x5+parseInt(_0x4fcd45(0x8f))/0x6*(parseInt(_0x4fcd45(0x94))/0x7)+parseInt(_0x4fcd45(0xa2))/0x8+-parseInt(_0x4fcd45(0x9f))/0x9+parseInt(_0x4fcd45(0x9b))/0xa;if(_0x2c2037===_0x32e77c)break;else _0x554b69['push'](_0x554b69['shift']());}catch(_0x2aa12b){_0x554b69['push'](_0x554b69['shift']());}}}(a157_0x5344,0xa56a0));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessStandardPageState,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';export const pageStandardPageStatus={'service':a157_0x3ea44d(0x9e),'command':a157_0x3ea44d(0x96),'description':a157_0x3ea44d(0x97),'risk':a157_0x3ea44d(0x99),'defaultOutputFormat':a157_0x3ea44d(0xa4),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a157_0x3ea44d(0xa0),'type':'string','description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'}],async 'validate'(_0x4805a2){validateDatasetSelector(_0x4805a2);},async 'dryRun'(_0xc49106){const _0x32d89a=a157_0x3ea44d,_0x1d2f72=await loadDatasetDetailForPage(_0xc49106);return{'method':_0x32d89a(0xa3),'url':_0x32d89a(0xa9)+_0x1d2f72[_0x32d89a(0xa7)]+_0x32d89a(0xa1)+encodeURIComponent(_0xc49106[_0x32d89a(0x98)]),'description':serializeDryRunDescription({'dataset':{'id':_0x1d2f72['id'],'code':_0x1d2f72[_0x32d89a(0xa7)],'name':_0x1d2f72['name']},'action':_0x32d89a(0xa6)})};},async 'execute'(_0x1193cc){const _0x426c12=a157_0x3ea44d,_0x3fc44f=await loadDatasetDetailForPage(_0x1193cc),_0x11bad9=await loadStandardPageStatusForGenerate(_0x1193cc,_0x3fc44f[_0x426c12(0xa7)]),_0x5a330c=getUndeletedRelatedPages(_0x3fc44f),_0x34d880=assessStandardPageState(_0x3fc44f[_0x426c12(0xa7)],_0x11bad9,{'fallbackUndeletedPages':_0x5a330c});return{'ok':!![],'data':{'datasetCode':_0x3fc44f[_0x426c12(0xa7)],'precheckSource':_0x11bad9?.[_0x426c12(0xa8)]??'related-pages-fallback','status':_0x34d880['status'],'manualResolutionRequired':_0x34d880[_0x426c12(0xa5)],'nextAction':_0x34d880[_0x426c12(0x91)],'standardPageStatus':_0x11bad9,'relatedPages':{'total':_0x3fc44f[_0x426c12(0x93)][_0x426c12(0x95)],'undeletedCount':_0x5a330c[_0x426c12(0x95)]}}};}};function a157_0x8df7(_0xa8f911,_0x3ef170){_0xa8f911=_0xa8f911-0x8f;const _0x5344d0=a157_0x5344();let _0x8df7c9=_0x5344d0[_0xa8f911];return _0x8df7c9;}function a157_0x5344(){const _0x164b62=['manualResolutionRequired','query-standard-page-status','code','source','/smartapi/lovrabet/dataset/','5491482rxBqQu','68559rhVMQQ','nextAction','224UPCwZK','relatedPages','7lnhwes','length','standard-page-status','Query\x20Smart\x20List\x20Page\x20facts\x20for\x20a\x20dataset','appCode','read','1541qAgEWM','12960620fkHckO','2122710mdzsfr','2EKpPnP','page','4194801isZPFT','alias','/standard-page-status?appCode=','5080680aPHfPF','GET','compress'];a157_0x5344=function(){return _0x164b62;};return a157_0x5344();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a158_0x87765f=a158_0x30fd;(function(_0x3f8f64,_0x6bcb02){const _0x59d9fd=a158_0x30fd,_0x387417=_0x3f8f64();while(!![]){try{const _0x4feb00=-parseInt(_0x59d9fd(0x187))/0x1*(parseInt(_0x59d9fd(0x18a))/0x2)+-parseInt(_0x59d9fd(0x18d))/0x3+parseInt(_0x59d9fd(0x188))/0x4+parseInt(_0x59d9fd(0x189))/0x5*(-parseInt(_0x59d9fd(0x18f))/0x6)+-parseInt(_0x59d9fd(0x183))/0x7*(parseInt(_0x59d9fd(0x17d))/0x8)+parseInt(_0x59d9fd(0x192))/0x9+parseInt(_0x59d9fd(0x185))/0xa*(parseInt(_0x59d9fd(0x17b))/0xb);if(_0x4feb00===_0x6bcb02)break;else _0x387417['push'](_0x387417['shift']());}catch(_0x279c73){_0x387417['push'](_0x387417['shift']());}}}(a158_0x2481,0xd22de));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a158_0x30fd(_0xa9f211,_0x44be3c){_0xa9f211=_0xa9f211-0x17a;const _0x24810e=a158_0x2481();let _0x30fda5=_0x24810e[_0xa9f211];return _0x30fda5;}function a158_0x2481(){const _0x5d7952=['page','compress','88571eSqVlH','部分页面同步失败','842990ipmWxD','POST','881gpGtSM','200796NrIHIM','5wYFCkY','932UuSjpT','/sync-to-pages','appCode','173523MEAzlF','write','2197662AnUMeU','fieldCount','relatedPages','15302187FNqlsQ','isArray','\x20undeleted\x20related\x20page(s)\x20found','/smartapi/lovrabet/dataset/','failedPages','string','code','11ktxYWA','length','88NqYmAW','sync','undeletedPages','dataset'];a158_0x2481=function(){return _0x5d7952;};return a158_0x2481();}import{loadDatasetDetailForPage,prepareDatasetAction,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{syncStandardPages}from'../../core/api-client.js';export const pageSync={'service':a158_0x87765f(0x181),'command':a158_0x87765f(0x17e),'description':'Sync\x20dataset\x20changes\x20to\x20related\x20Smart\x20List\x20Pages','risk':a158_0x87765f(0x18e),'defaultOutputFormat':a158_0x87765f(0x182),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':a158_0x87765f(0x197),'description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'}],async 'validate'(_0x2cab60){validateDatasetSelector(_0x2cab60);},async 'dryRun'(_0x3dd52c){const _0x3f9005=a158_0x87765f,_0x4aaa02=await prepare(_0x3dd52c);return{'method':_0x3f9005(0x186),'url':_0x3f9005(0x195)+_0x4aaa02[_0x3f9005(0x180)][_0x3f9005(0x17a)]+_0x3f9005(0x18b),'body':{'appCode':_0x3dd52c[_0x3f9005(0x18c)]},'description':serializeDryRunDescription({'dataset':{'id':_0x4aaa02[_0x3f9005(0x180)]['id'],'code':_0x4aaa02[_0x3f9005(0x180)]['code'],'name':_0x4aaa02[_0x3f9005(0x180)]['name'],'fieldCount':_0x4aaa02['dataset'][_0x3f9005(0x190)]},'relatedPages':{'total':_0x4aaa02[_0x3f9005(0x180)][_0x3f9005(0x191)][_0x3f9005(0x17c)],'undeletedCount':_0x4aaa02[_0x3f9005(0x17f)][_0x3f9005(0x17c)]},'action':_0x3f9005(0x17e),'reason':_0x4aaa02['undeletedPages'][_0x3f9005(0x17c)]+_0x3f9005(0x194)})};},async 'execute'(_0x217e6a){const _0x3483d1=a158_0x87765f,_0x5df027=await prepare(_0x217e6a),_0x89a2c9=await syncStandardPages(_0x217e6a[_0x3483d1(0x18c)],_0x5df027[_0x3483d1(0x180)][_0x3483d1(0x17a)]),_0x1f9cc6=Array[_0x3483d1(0x193)](_0x89a2c9[_0x3483d1(0x196)])&&_0x89a2c9['failedPages'][_0x3483d1(0x17c)]>0x0,_0x323db9=_0x1f9cc6?_0x3483d1(0x184):'同步成功';return{'ok':!![],'message':_0x323db9,'data':{'datasetCode':_0x5df027['dataset']['code'],..._0x89a2c9}};}};async function prepare(_0x384f5b){const _0x2cf654=a158_0x87765f,_0xfa1346=await loadDatasetDetailForPage(_0x384f5b);return prepareDatasetAction(_0xfa1346,_0x2cf654(0x17e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a159_0x4930(_0x36ef32,_0x25e927){_0x36ef32=_0x36ef32-0x159;const _0x32fad4=a159_0x32fa();let _0x493018=_0x32fad4[_0x36ef32];return _0x493018;}(function(_0x4cc8a9,_0x35fef8){const _0x2fa5ec=a159_0x4930,_0xb9e602=_0x4cc8a9();while(!![]){try{const _0x2b891e=parseInt(_0x2fa5ec(0x15a))/0x1+parseInt(_0x2fa5ec(0x15e))/0x2*(parseInt(_0x2fa5ec(0x15d))/0x3)+-parseInt(_0x2fa5ec(0x161))/0x4*(parseInt(_0x2fa5ec(0x160))/0x5)+-parseInt(_0x2fa5ec(0x162))/0x6*(parseInt(_0x2fa5ec(0x15f))/0x7)+parseInt(_0x2fa5ec(0x15b))/0x8+parseInt(_0x2fa5ec(0x15c))/0x9+-parseInt(_0x2fa5ec(0x159))/0xa;if(_0x2b891e===_0x35fef8)break;else _0xb9e602['push'](_0xb9e602['shift']());}catch(_0x3bc093){_0xb9e602['push'](_0xb9e602['shift']());}}}(a159_0x32fa,0x7d909));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';function a159_0x32fa(){const _0x145e22=['410YneDWg','187229wFiBln','1996325TZrxLA','4VbmDhC','222gDMski','1175330ZSGEFW','643519LqdCQH','3799344Qyeysk','5166972DRTfxX','4803jRaaQC'];a159_0x32fa=function(){return _0x145e22;};return a159_0x32fa();}import{permitRoleApisSet}from'../../commands/permit/role-apis-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitRoleApisSet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a160_0x482556=a160_0x523f;(function(_0x57eda9,_0x157e51){const _0x51c790=a160_0x523f,_0x31c23d=_0x57eda9();while(!![]){try{const _0x2af468=-parseInt(_0x51c790(0x133))/0x1+parseInt(_0x51c790(0x132))/0x2*(parseInt(_0x51c790(0x12f))/0x3)+parseInt(_0x51c790(0x130))/0x4+parseInt(_0x51c790(0x12c))/0x5+parseInt(_0x51c790(0x12d))/0x6+-parseInt(_0x51c790(0x134))/0x7+-parseInt(_0x51c790(0x131))/0x8*(parseInt(_0x51c790(0x135))/0x9);if(_0x2af468===_0x157e51)break;else _0x31c23d['push'](_0x31c23d['shift']());}catch(_0x23f66c){_0x31c23d['push'](_0x31c23d['shift']());}}}(a160_0x284e,0x68768));import{getPagePermit}from'../../core/api-client.js';function a160_0x284e(){const _0x1f174b=['menu-id','66YxZjwn','796240ToCuEM','566136FdREXY','22966VjIMyA','394648SLaxGG','1856694mFCeTb','27npmJfv','Show\x20the\x20page\x20permission\x20snapshot\x20for\x20a\x20menu','page-get','Page\x20permit\x20for\x20menu\x20','3231075XnMLfg','1213020sAmBpH'];a160_0x284e=function(){return _0x1f174b;};return a160_0x284e();}function a160_0x523f(_0x54b04d,_0x4bd4e5){_0x54b04d=_0x54b04d-0x129;const _0x284e40=a160_0x284e();let _0x523f16=_0x284e40[_0x54b04d];return _0x523f16;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{MENU_ID_FLAG,projectPagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':'permit','command':a160_0x482556(0x12a),'description':a160_0x482556(0x129),'risk':'read','flags':[MENU_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0xe30321){const _0x225482=a160_0x482556,_0x527b35=_0xe30321['num'](_0x225482(0x12e)),_0x5e311b=await getPagePermit(_0x527b35);return{'ok':!![],'data':{'page':projectPagePermit(_0x5e311b)},'message':_0x225482(0x12b)+_0x527b35};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a161_0x229dfc=a161_0x4bdd;(function(_0x7be5ff,_0x503f27){const _0x4055a2=a161_0x4bdd,_0x18fe53=_0x7be5ff();while(!![]){try{const _0x3282db=-parseInt(_0x4055a2(0xa2))/0x1+-parseInt(_0x4055a2(0x9e))/0x2+-parseInt(_0x4055a2(0xab))/0x3*(parseInt(_0x4055a2(0xbb))/0x4)+parseInt(_0x4055a2(0xa1))/0x5*(parseInt(_0x4055a2(0xa5))/0x6)+parseInt(_0x4055a2(0x9b))/0x7*(-parseInt(_0x4055a2(0xa7))/0x8)+-parseInt(_0x4055a2(0xb7))/0x9+parseInt(_0x4055a2(0xaa))/0xa;if(_0x3282db===_0x503f27)break;else _0x18fe53['push'](_0x18fe53['shift']());}catch(_0x447965){_0x18fe53['push'](_0x18fe53['shift']());}}}(a161_0x5df0,0x6b6f5));import{getPagePermit,savePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a161_0x5df0(){const _0x46fcd4=['\x20cannot\x20be\x20empty.','join','push','Pass\x20at\x20least\x20one\x20of:\x20','Set\x20page\x20permissions\x20for\x20a\x20menu\x20(menu/create/update/delete/detail/export/row\x20roles);\x20requires\x20--yes','selector','1668033wIWIzt','permit','spec','length','4oBYVOR','/smartapi/permit/page/save','POST','1531859GTpQOI','appCode','page-set','1680534uDbJzX','Nothing\x20to\x20set.','num','190MBesRb','743141YdYgfg','flag','allowSelf','17886jZyHOj','high-risk-write','24NoThsj','Only\x20slots\x20present\x20in\x20`permit\x20page-get`\x20can\x20be\x20set.','Pass\x20at\x20least\x20one\x20role,\x20or\x20omit\x20the\x20flag.\x20Clearing\x20permissions\x20is\x20not\x20supported\x20by\x20this\x20command.','27833360ZaYrho','93915mZrOkA','map','key','validation','label','menuId'];a161_0x5df0=function(){return _0x46fcd4;};return a161_0x5df0();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{MENU_ID_FLAG,PAGE_SET_ROLE_FLAGS,PAGE_SLOT_SPECS,projectPageSlot,resolvePermitRoles,splitList}from'../../commands/permit/shared.js';function a161_0x4bdd(_0x4f9c92,_0x406af0){_0x4f9c92=_0x4f9c92-0x9a;const _0x5df093=a161_0x5df0();let _0x4bdd08=_0x5df093[_0x4f9c92];return _0x4bdd08;}const SAVE_PATH=a161_0x229dfc(0xbc);function collectRequestedSlots(_0x4ae735){const _0x5d70d7=a161_0x229dfc,_0x3c9e19=[];for(const _0x4c98e9 of PAGE_SLOT_SPECS){const _0x154bf7=_0x4ae735[_0x5d70d7(0xa3)](_0x4c98e9['flag']);if(_0x154bf7===undefined||_0x154bf7===null)continue;const _0x2b429d=splitList(String(_0x154bf7));if(_0x2b429d[_0x5d70d7(0xba)]===0x0)throw CliErrors[_0x5d70d7(0xae)]('--'+_0x4c98e9['flag']+_0x5d70d7(0xb1),_0x5d70d7(0xa9));_0x3c9e19[_0x5d70d7(0xb3)]({'spec':_0x4c98e9,'refs':_0x2b429d});}return _0x3c9e19;}async function buildPlan(_0x2b806c,_0x4f138c){const _0x5ac4c1=a161_0x229dfc,_0x632ffc=_0x2b806c[_0x5ac4c1(0xa0)]('menu-id'),_0x139308=collectRequestedSlots(_0x2b806c);if(_0x139308['length']===0x0)throw CliErrors[_0x5ac4c1(0xae)](_0x5ac4c1(0x9f),_0x5ac4c1(0xb4)+PAGE_SLOT_SPECS[_0x5ac4c1(0xac)](_0x158ea8=>'--'+_0x158ea8['flag'])[_0x5ac4c1(0xb2)](',\x20')+'.');const _0x413387=await getPagePermit(_0x632ffc),_0x2abec5={},_0x5639e4={},_0x495209=[];for(const {spec:_0x429634,refs:_0x38acfb}of _0x139308){const _0x2fff6d=_0x413387[_0x429634['key']];if(!_0x2fff6d)throw CliErrors[_0x5ac4c1(0xae)]('This\x20page\x20has\x20no\x20\x22'+_0x429634['label']+'\x22\x20permission\x20slot\x20('+_0x429634['key']+').',_0x5ac4c1(0xa8));_0x2abec5[_0x429634[_0x5ac4c1(0xad)]]=projectPageSlot(_0x2fff6d);const _0x214187=await resolvePermitRoles(_0x2b806c[_0x5ac4c1(0x9c)],_0x38acfb,{'allowSelf':_0x429634[_0x5ac4c1(0xa4)],'label':_0x429634[_0x5ac4c1(0xaf)]});_0x2fff6d['rolePermit']=_0x214187,_0x5639e4[_0x429634[_0x5ac4c1(0xad)]]=projectPageSlot(_0x2fff6d);}const _0x40b52a={'operation':_0x5ac4c1(0x9d),'selector':{'appCode':_0x2b806c[_0x5ac4c1(0x9c)],'menuId':_0x632ffc,'slots':_0x139308['map'](_0x30adb0=>_0x30adb0[_0x5ac4c1(0xb9)][_0x5ac4c1(0xad)])},'before':_0x2abec5,'after':_0x5639e4,'dryRun':_0x4f138c,'backend':{'method':_0x5ac4c1(0x9a),'path':SAVE_PATH},'warnings':_0x495209};return{'page':_0x413387,'mutation':_0x40b52a};}export const permitPageSet={'service':a161_0x229dfc(0xb8),'command':a161_0x229dfc(0x9d),'description':a161_0x229dfc(0xb5),'risk':a161_0x229dfc(0xa6),'flags':[MENU_ID_FLAG,...PAGE_SET_ROLE_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4a84d4){const _0x2b9c7c=a161_0x229dfc,_0x2e058c=collectRequestedSlots(_0x4a84d4);if(_0x2e058c[_0x2b9c7c(0xba)]===0x0)throw CliErrors[_0x2b9c7c(0xae)](_0x2b9c7c(0x9f),_0x2b9c7c(0xb4)+PAGE_SLOT_SPECS['map'](_0x5d1710=>'--'+_0x5d1710[_0x2b9c7c(0xa3)])[_0x2b9c7c(0xb2)](',\x20')+'.');},async 'dryRun'(_0x17c18f){const _0x1078f1=a161_0x229dfc,{mutation:_0x3082ac}=await buildPlan(_0x17c18f,!![]);return asDryRunResult(_0x3082ac,{'method':_0x1078f1(0x9a),'url':SAVE_PATH});},async 'execute'(_0x6f95bd){const _0x5533dd=a161_0x229dfc,{page:_0x2d0593,mutation:_0x11566c}=await buildPlan(_0x6f95bd,![]);return await savePagePermit(_0x2d0593),{'ok':!![],'data':_0x11566c,'message':'Updated\x20page\x20permit\x20for\x20menu\x20'+_0x11566c[_0x5533dd(0xb6)][_0x5533dd(0xb0)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a162_0x1c5db6=a162_0x12cc;(function(_0x236405,_0x327232){const _0xdea480=a162_0x12cc,_0x268008=_0x236405();while(!![]){try{const _0x2d438d=-parseInt(_0xdea480(0x172))/0x1+parseInt(_0xdea480(0x156))/0x2*(-parseInt(_0xdea480(0x165))/0x3)+parseInt(_0xdea480(0x169))/0x4*(-parseInt(_0xdea480(0x15b))/0x5)+parseInt(_0xdea480(0x15a))/0x6+parseInt(_0xdea480(0x152))/0x7*(-parseInt(_0xdea480(0x158))/0x8)+parseInt(_0xdea480(0x153))/0x9+parseInt(_0xdea480(0x16e))/0xa;if(_0x2d438d===_0x327232)break;else _0x268008['push'](_0x268008['shift']());}catch(_0x585eae){_0x268008['push'](_0x268008['shift']());}}}(a162_0x28a5,0x1c78c));import{getRoleApiResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a162_0x12cc(_0x457670,_0x524514){_0x457670=_0x457670-0x14f;const _0x28a5a2=a162_0x28a5();let _0x12ccd7=_0x28a5a2[_0x457670];return _0x12ccd7;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,DATASETS_FLAG,flattenApiResources,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';function a162_0x28a5(){const _0x8834aa=['set','POST','api-revoke','4aASFNj','filter','Verify\x20the\x20datasetCode,\x20or\x20check\x20the\x20role\x27s\x20API\x20resource\x20matrix.','high-risk-write','push','4407100ypyiMs','revoke','Revoked\x20API\x20access\x20for\x20','role-apis-set','163769wMDHwz','roleName','\x20dataset(s)\x20on\x20role\x20','flagMissing','Missing\x20--revoke.','13293JblTjh','288279EcOPIu','permit','get','59190dPPSER','str','592moAEit','length','1056246nBJcUn','991360neNLyJ','datasetCodes','join','role-apis-set\x20currently\x20supports\x20revoking\x20dataset\x20API\x20access\x20(use\x20case\x204).','bool','validation','API','appCode','Unknown\x20datasetCode(s)\x20for\x20this\x20role\x27s\x20API\x20resources:\x20','datasets','3zOEGPe'];a162_0x28a5=function(){return _0x8834aa;};return a162_0x28a5();}import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';async function buildPlan(_0x5be6c7,_0x173309){const _0x447e7f=a162_0x12cc,_0xb94fa8=await resolveRoleRef(_0x5be6c7[_0x447e7f(0x162)],readRoleRef(_0x5be6c7));assertPermConfigurable(_0xb94fa8);if(!_0x5be6c7['bool'](_0x447e7f(0x16f)))throw CliErrors['validation']('Missing\x20--revoke.',_0x447e7f(0x15e));const _0xbc3f36=splitList(_0x5be6c7['str'](_0x447e7f(0x164)));if(_0xbc3f36[_0x447e7f(0x159)]===0x0)throw CliErrors[_0x447e7f(0x150)]('datasets','Pass\x20--datasets\x20<datasetCode,...>.');const _0xf465d3=await getRoleApiResources(_0x5be6c7[_0x447e7f(0x162)],_0xb94fa8['id']),{byCode:_0x34c742,byDataset:_0x393482}=flattenApiResources(_0xf465d3),_0x57e60e=_0xbc3f36[_0x447e7f(0x16a)](_0xa1249d=>!_0x393482['has'](_0xa1249d));if(_0x57e60e[_0x447e7f(0x159)]>0x0)throw CliErrors['validation'](_0x447e7f(0x163)+_0x57e60e[_0x447e7f(0x15d)](',\x20')+'.',_0x447e7f(0x16b));const _0x2cfa16=new Map(),_0x48ef01=[],_0x407562=[];for(const _0x22606a of _0xbc3f36){for(const _0x1a8207 of _0x393482[_0x447e7f(0x155)](_0x22606a)){const _0x59de73=_0x34c742[_0x447e7f(0x155)](_0x1a8207);_0x2cfa16[_0x447e7f(0x166)](_0x1a8207,'0'),_0x48ef01[_0x447e7f(0x16d)]({'resourceCode':_0x1a8207,'datasetCode':_0x22606a,'action':_0x59de73['action']}),_0x407562['push']({'resourceCode':_0x1a8207,'datasetCode':_0x22606a,'action':'0'});}}const _0x1f6f36=buildPermits(_0x34c742,_0x2cfa16),_0x1deea6={'operation':_0x447e7f(0x168),'selector':{'appCode':_0x5be6c7[_0x447e7f(0x162)],'roleId':_0xb94fa8['id'],'roleName':_0xb94fa8[_0x447e7f(0x173)],'datasetCodes':_0xbc3f36},'before':_0x48ef01,'after':_0x407562,'dryRun':_0x173309,'backend':{'method':_0x447e7f(0x167),'path':UPDATE_PATH,'roleType':_0x447e7f(0x161)},'warnings':[]};return{'role':_0xb94fa8,'permits':_0x1f6f36,'mutation':_0x1deea6};}export const permitRoleApisSet={'service':a162_0x1c5db6(0x154),'command':a162_0x1c5db6(0x171),'description':'Revoke\x20a\x20role\x27s\x20dataset\x20API\x20access\x20by\x20datasetCode\x20(roleType\x20API);\x20requires\x20--yes','risk':a162_0x1c5db6(0x16c),'flags':[ROLE_REF_FLAG,REVOKE_FLAG,DATASETS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x15e8cb){const _0x376822=a162_0x1c5db6;if(!_0x15e8cb[_0x376822(0x15f)](_0x376822(0x16f)))throw CliErrors[_0x376822(0x160)](_0x376822(0x151),_0x376822(0x15e));if(splitList(_0x15e8cb[_0x376822(0x157)](_0x376822(0x164)))[_0x376822(0x159)]===0x0)throw CliErrors[_0x376822(0x150)](_0x376822(0x164),'Pass\x20--datasets\x20<datasetCode,...>.');},async 'dryRun'(_0x1b9b27){const _0x3796e2=a162_0x1c5db6,{mutation:_0x4876f4}=await buildPlan(_0x1b9b27,!![]);return asDryRunResult(_0x4876f4,{'method':_0x3796e2(0x167),'url':UPDATE_PATH});},async 'execute'(_0x77fba7){const _0x5c9153=a162_0x1c5db6,{role:_0x5f3dd7,permits:_0x215834,mutation:_0x361c60}=await buildPlan(_0x77fba7,![]);return await updateAppRole({'id':_0x5f3dd7['id'],'appCode':_0x77fba7['appCode'],'roleType':_0x5c9153(0x161),'permits':_0x215834}),{'ok':!![],'data':_0x361c60,'message':_0x5c9153(0x170)+_0x361c60['selector'][_0x5c9153(0x15c)][_0x5c9153(0x159)]+_0x5c9153(0x14f)+_0x5f3dd7[_0x5c9153(0x173)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a163_0x1b3ced=a163_0x34f9;(function(_0x208260,_0x199788){const _0x3a8ad0=a163_0x34f9,_0x47627e=_0x208260();while(!![]){try{const _0x5a4578=-parseInt(_0x3a8ad0(0xe2))/0x1*(-parseInt(_0x3a8ad0(0xfc))/0x2)+parseInt(_0x3a8ad0(0xf6))/0x3*(-parseInt(_0x3a8ad0(0xe6))/0x4)+parseInt(_0x3a8ad0(0xe1))/0x5+-parseInt(_0x3a8ad0(0x101))/0x6+-parseInt(_0x3a8ad0(0x100))/0x7+parseInt(_0x3a8ad0(0xf1))/0x8+parseInt(_0x3a8ad0(0xf9))/0x9*(parseInt(_0x3a8ad0(0xeb))/0xa);if(_0x5a4578===_0x199788)break;else _0x47627e['push'](_0x47627e['shift']());}catch(_0x2389d1){_0x47627e['push'](_0x47627e['shift']());}}}(a163_0x107d,0x45159));import{getRoleMenuResources,updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a163_0x34f9(_0x53955d,_0x23651f){_0x53955d=_0x53955d-0xe0;const _0x107dae=a163_0x107d();let _0x34f912=_0x107dae[_0x53955d];return _0x34f912;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{buildPermits,flattenMenuResources,GRANT_FLAG,MENUS_FLAG,readGrantRevoke,readRoleRef,REVOKE_FLAG,ROLE_REF_FLAG,splitList}from'../../commands/permit/shared.js';import{assertPermConfigurable,resolveRoleRef}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';async function buildPlan(_0x3d4404,_0x4d8297){const _0x3ea1d0=a163_0x34f9,_0x203573=await resolveRoleRef(_0x3d4404[_0x3ea1d0(0xe8)],readRoleRef(_0x3d4404));assertPermConfigurable(_0x203573);const _0xcc077a=readGrantRevoke(_0x3d4404),_0xa0c468=splitList(_0x3d4404[_0x3ea1d0(0xec)](_0x3ea1d0(0xf4)));if(_0xa0c468['length']===0x0)throw CliErrors[_0x3ea1d0(0xfb)]('menus',_0x3ea1d0(0xf7));const _0x3a56b6=await getRoleMenuResources(_0x3d4404[_0x3ea1d0(0xe8)],_0x203573['id']),_0x28b5b5=flattenMenuResources(_0x3a56b6),_0x1440ae=_0xa0c468['filter'](_0x5a079e=>!_0x28b5b5[_0x3ea1d0(0xe9)](_0x5a079e));if(_0x1440ae[_0x3ea1d0(0xf2)]>0x0)throw CliErrors['validation']('Unknown\x20menu\x20resourceCode(s):\x20'+_0x1440ae[_0x3ea1d0(0xe0)](',\x20')+'.',_0x3ea1d0(0xe4));const _0x4c946f=new Map(),_0x33a0a5=[],_0x52483f=[];for(const _0x131564 of _0xa0c468){const _0x222c3a=_0x28b5b5[_0x3ea1d0(0xee)](_0x131564);_0x4c946f['set'](_0x131564,_0xcc077a),_0x33a0a5[_0x3ea1d0(0xf5)]({'resourceCode':_0x131564,'action':_0x222c3a[_0x3ea1d0(0xfa)]}),_0x52483f[_0x3ea1d0(0xf5)]({'resourceCode':_0x131564,'action':_0xcc077a});}const _0x94a665=buildPermits(_0x28b5b5,_0x4c946f),_0x5602b1={'operation':_0xcc077a===_0x3ea1d0(0xe7)?_0x3ea1d0(0xef):_0x3ea1d0(0xfe),'selector':{'appCode':_0x3d4404['appCode'],'roleId':_0x203573['id'],'roleName':_0x203573[_0x3ea1d0(0xff)],'resourceCodes':_0xa0c468},'before':_0x33a0a5,'after':_0x52483f,'dryRun':_0x4d8297,'backend':{'method':_0x3ea1d0(0xf8),'path':UPDATE_PATH,'roleType':_0x3ea1d0(0xf3)},'warnings':[]};return{'role':_0x203573,'permits':_0x94a665,'mutation':_0x5602b1};}export const permitRoleMenusSet={'service':a163_0x1b3ced(0xea),'command':a163_0x1b3ced(0xf0),'description':'Grant\x20or\x20revoke\x20a\x20role\x27s\x20menu\x20access\x20by\x20resourceCode\x20(roleType\x20PAGE);\x20requires\x20--yes','risk':'high-risk-write','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3fc5aa){const _0x49a392=a163_0x1b3ced;readGrantRevoke(_0x3fc5aa);if(splitList(_0x3fc5aa['str'](_0x49a392(0xf4)))[_0x49a392(0xf2)]===0x0)throw CliErrors[_0x49a392(0xfb)](_0x49a392(0xf4),_0x49a392(0xf7));},async 'dryRun'(_0x26edea){const _0x12a18d=a163_0x1b3ced,{mutation:_0xf84ac3}=await buildPlan(_0x26edea,!![]);return asDryRunResult(_0xf84ac3,{'method':_0x12a18d(0xf8),'url':UPDATE_PATH});},async 'execute'(_0x268dfa){const _0x556a00=a163_0x1b3ced,{role:_0x3e1349,permits:_0x1eae9d,mutation:_0x1c0187}=await buildPlan(_0x268dfa,![]);return await updateAppRole({'id':_0x3e1349['id'],'appCode':_0x268dfa[_0x556a00(0xe8)],'roleType':_0x556a00(0xf3),'permits':_0x1eae9d}),{'ok':!![],'data':_0x1c0187,'message':_0x556a00(0xed)+_0x1c0187[_0x556a00(0xfd)][_0x556a00(0xe3)][_0x556a00(0xf2)]+_0x556a00(0xe5)+_0x3e1349['roleName']};}};function a163_0x107d(){const _0x312424=['676816mqMFsM','388494DQgFvN','join','16995nHnBYX','1RZveAb','resourceCodes','Run\x20`permit\x20role-menus\x20--role\x20<id>`\x20to\x20see\x20valid\x20resourceCodes.','\x20menu\x20permit(s)\x20for\x20role\x20','100GRAsDU','access','appCode','has','permit','620pOJLQp','str','Updated\x20','get','menu-grant','role-menus-set','2095360xwVLTH','length','PAGE','menus','push','32421jLeBRc','Pass\x20--menus\x20<resourceCode,...>.','POST','9846bahftO','action','flagMissing','762868TkvnYb','selector','menu-revoke','roleName'];a163_0x107d=function(){return _0x312424;};return a163_0x107d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a164_0x96ae8f=a164_0x1768;function a164_0x1768(_0x412555,_0x2b69a0){_0x412555=_0x412555-0x9b;const _0x2cb944=a164_0x2cb9();let _0x176831=_0x2cb944[_0x412555];return _0x176831;}(function(_0x177e05,_0x5b0dd1){const _0x10abdb=a164_0x1768,_0x2a4d69=_0x177e05();while(!![]){try{const _0x54c25e=parseInt(_0x10abdb(0xa0))/0x1*(-parseInt(_0x10abdb(0x9c))/0x2)+-parseInt(_0x10abdb(0xa5))/0x3*(-parseInt(_0x10abdb(0xa1))/0x4)+-parseInt(_0x10abdb(0x9f))/0x5*(-parseInt(_0x10abdb(0xb2))/0x6)+parseInt(_0x10abdb(0xa9))/0x7+-parseInt(_0x10abdb(0xad))/0x8*(-parseInt(_0x10abdb(0xb5))/0x9)+-parseInt(_0x10abdb(0xb3))/0xa+-parseInt(_0x10abdb(0xac))/0xb*(parseInt(_0x10abdb(0xb4))/0xc);if(_0x54c25e===_0x5b0dd1)break;else _0x2a4d69['push'](_0x2a4d69['shift']());}catch(_0x428b06){_0x2a4d69['push'](_0x2a4d69['shift']());}}}(a164_0x2cb9,0x9ffd0));import{getRoleMenuResources}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{flattenMenuResources,readRoleRef,ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a164_0x2cb9(){const _0x12c072=['\x20menu(s)\x20allowed','read','7028238Hbxvmh','role-menus','from','22GOBPzf','424VvjRTO','appCode','access','action','permit','3792102olDjZd','3412190LsuiYH','4670472UMYgnj','43353VXuxDy','allowed','1322KFXHOG','length','filter','5ZHGKwH','991ICyqys','1077284BcocSj','resourceCode','Role\x20','map','6zDEKGi','roleName'];a164_0x2cb9=function(){return _0x12c072;};return a164_0x2cb9();}import{resolveRoleRef}from'../../commands/role/shared.js';export const permitRoleMenus={'service':a164_0x96ae8f(0xb1),'command':a164_0x96ae8f(0xaa),'description':'Show\x20a\x20role\x27s\x20current\x20menu\x20permission\x20matrix','risk':a164_0x96ae8f(0xa8),'flags':[ROLE_REF_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3af40b){const _0x2b1f4=a164_0x96ae8f,_0x3edba1=await resolveRoleRef(_0x3af40b['appCode'],readRoleRef(_0x3af40b)),_0x2ed23f=await getRoleMenuResources(_0x3af40b[_0x2b1f4(0xae)],_0x3edba1['id']),_0x1657e3=flattenMenuResources(_0x2ed23f),_0x364214=Array[_0x2b1f4(0xab)](_0x1657e3['values']())[_0x2b1f4(0xa4)](_0x457bad=>({'resourceCode':_0x457bad[_0x2b1f4(0xa2)],'resourceName':_0x457bad['resourceName'],'allowed':_0x457bad['action']===_0x2b1f4(0xaf),'action':_0x457bad[_0x2b1f4(0xb0)]}));return{'ok':!![],'data':{'selector':{'appCode':_0x3af40b['appCode'],'roleId':_0x3edba1['id'],'roleName':_0x3edba1[_0x2b1f4(0xa6)]},'menus':_0x364214},'message':_0x2b1f4(0xa3)+_0x3edba1[_0x2b1f4(0xa6)]+'\x20has\x20'+_0x364214[_0x2b1f4(0x9e)](_0x5023f2=>_0x5023f2[_0x2b1f4(0x9b)])['length']+'/'+_0x364214[_0x2b1f4(0x9d)]+_0x2b1f4(0xa7)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a165_0x394210=a165_0x34a5;function a165_0x34a5(_0x1325db,_0x25fbc9){_0x1325db=_0x1325db-0x9a;const _0x5085be=a165_0x5085();let _0x34a518=_0x5085be[_0x1325db];return _0x34a518;}(function(_0xeda04b,_0xc9e506){const _0x9d2700=a165_0x34a5,_0x139f26=_0xeda04b();while(!![]){try{const _0x4f33a1=-parseInt(_0x9d2700(0xdf))/0x1+parseInt(_0x9d2700(0xe8))/0x2+-parseInt(_0x9d2700(0xbf))/0x3*(parseInt(_0x9d2700(0xf0))/0x4)+parseInt(_0x9d2700(0xae))/0x5*(parseInt(_0x9d2700(0xe0))/0x6)+-parseInt(_0x9d2700(0xed))/0x7*(-parseInt(_0x9d2700(0xa3))/0x8)+parseInt(_0x9d2700(0xd8))/0x9*(parseInt(_0x9d2700(0x9b))/0xa)+parseInt(_0x9d2700(0xcb))/0xb*(parseInt(_0x9d2700(0xca))/0xc);if(_0x4f33a1===_0xc9e506)break;else _0x139f26['push'](_0x139f26['shift']());}catch(_0x37551c){_0x139f26['push'](_0x139f26['shift']());}}}(a165_0x5085,0x779fc));import{listPermitRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a165_0x394210(0xa0),'type':a165_0x394210(0xd5),'required':!![],'description':a165_0x394210(0xa9)};export const ROLE_REF_FLAG={'name':a165_0x394210(0xb2),'type':a165_0x394210(0xeb),'required':!![],'description':'Role\x20id\x20or\x20role\x20name'};export const GRANT_FLAG={'name':'grant','type':a165_0x394210(0xe2),'required':![],'description':a165_0x394210(0xaf)};export const REVOKE_FLAG={'name':'revoke','type':a165_0x394210(0xe2),'required':![],'description':'Revoke\x20access\x20to\x20the\x20listed\x20resources'};export const MENUS_FLAG={'name':a165_0x394210(0xa4),'type':a165_0x394210(0xeb),'required':!![],'description':a165_0x394210(0xee)};export const DATASETS_FLAG={'name':a165_0x394210(0xd4),'type':'string','required':!![],'description':a165_0x394210(0xbd)};function a165_0x5085(){const _0x2bfb9b=['set','role','datasetCode','pageNodeList','Run\x20`role\x20list`,\x20or\x20use\x20SELF/ALL/<id>.','rolePermit','filter','resourceCode','label','some','Run\x20`role\x20list`.','Special\x20role\x20','Comma-separated\x20datasetCodes\x20to\x20revoke\x20API\x20access\x20for','trim','2151hscBEc',';\x20SELF\x20=\x20only\x20own\x20rows','export-roles','row\x20visibility','menuPermit','\x20not\x20found.','appCode','length','detail-roles','dataUpdate','dataExport','48LZiLZW','36069HnkYUU','get','map','roleName','\x20(comma-separated\x20SELF/ALL/id/name)','grant','SELF\x20is\x20not\x20allowed\x20for\x20','bool','revoke','datasets','number','dataDetail','entries','637668mLQQff','dataDelete','Roles\x20for\x20','Role\x20id\x20','data\x20update','join','--grant\x20and\x20--revoke\x20are\x20mutually\x20exclusive.','657633bSqZVZ','33486SUkqjN','data\x20create','boolean','ALL','Disambiguate\x20with\x20an\x20id.','update-roles','roleType','Missing\x20action.','146138qRaWJq','flagMissing','delete-roles','string','Role\x20\x22','12761UnSxRr','Comma-separated\x20menu\x20resourceCodes\x20to\x20grant/revoke','test','448aadvKz','action','allowedActions','\x20is\x20not\x20available\x20for\x20this\x20app.','push','Pass\x20exactly\x20one\x20of\x20--grant\x20/\x20--revoke.','\x22\x20is\x20ambiguous\x20(ids:\x20','60EPWNdP','key','SELF\x20(row-level)\x20applies\x20only\x20to\x20--row-roles.','access','find','menu-id','toUpperCase','resourceName','1112yKoaie','menus','create-roles','str','Pass\x20--role\x20<id|name>.','split','Menu\x20id\x20(from\x20`menu\x20list`)','\x22\x20not\x20found.','allowSelf','dataCreate','validation','415joobdD','Grant\x20access\x20to\x20the\x20listed\x20resources','data\x20delete'];a165_0x5085=function(){return _0x2bfb9b;};return a165_0x5085();}export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a165_0x394210(0xc3),'allowSelf':![],'label':'menu\x20visibility'},{'flag':a165_0x394210(0xa5),'key':a165_0x394210(0xac),'allowSelf':![],'label':a165_0x394210(0xe1)},{'flag':a165_0x394210(0xe5),'key':a165_0x394210(0xc8),'allowSelf':![],'label':a165_0x394210(0xdc)},{'flag':a165_0x394210(0xea),'key':a165_0x394210(0xd9),'allowSelf':![],'label':a165_0x394210(0xb0)},{'flag':a165_0x394210(0xc7),'key':a165_0x394210(0xd6),'allowSelf':![],'label':'data\x20detail'},{'flag':a165_0x394210(0xc1),'key':a165_0x394210(0xc9),'allowSelf':![],'label':'data\x20export'},{'flag':'row-roles','key':'dataPermit','allowSelf':!![],'label':a165_0x394210(0xc2)}];export const PAGE_SET_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x33fe4a=>({'name':_0x33fe4a['flag'],'type':'string','required':![],'description':a165_0x394210(0xda)+_0x33fe4a[a165_0x394210(0xb9)]+a165_0x394210(0xcf)+(_0x33fe4a[a165_0x394210(0xab)]?a165_0x394210(0xc0):'')}));export function splitList(_0x608980){const _0x1b19f7=a165_0x394210;return _0x608980[_0x1b19f7(0xa8)](',')[_0x1b19f7(0xcd)](_0x219c59=>_0x219c59[_0x1b19f7(0xbe)]())[_0x1b19f7(0xb7)](Boolean);}export function projectRoleRef(_0x43311d){const _0x48eac0=a165_0x394210;return{'id':_0x43311d['id'],'roleName':_0x43311d[_0x48eac0(0xce)],'roleType':_0x43311d['roleType']};}export async function resolvePermitRoles(_0x2b3029,_0x65b71e,_0x3313b9){const _0x42123f=a165_0x394210,_0x151960=await listPermitRoles(_0x2b3029,{'needSelf':!![],'needPublic':!![]}),_0x18efe6=[];for(const _0x479638 of _0x65b71e){const _0x1ae94=resolveOnePermitRole(_0x151960,_0x479638);if(!_0x3313b9[_0x42123f(0xab)]&&_0x1ae94['roleType']==='SELF')throw CliErrors[_0x42123f(0xad)](_0x42123f(0xd1)+_0x3313b9[_0x42123f(0xb9)]+'.',_0x42123f(0x9d));if(!_0x18efe6[_0x42123f(0xba)](_0x405af0=>_0x405af0['id']===_0x1ae94['id']))_0x18efe6[_0x42123f(0xf4)](_0x1ae94);}return _0x18efe6;}function resolveOnePermitRole(_0x1f82b7,_0x33418b){const _0x2d65b3=a165_0x394210,_0x1aaa5a=_0x33418b['trim'](),_0x1a5400=_0x1aaa5a[_0x2d65b3(0xa1)]();if(_0x1a5400==='SELF'||_0x1a5400===_0x2d65b3(0xe3)){const _0x2fae9a=_0x1f82b7[_0x2d65b3(0x9f)](_0x1d13ad=>_0x1d13ad[_0x2d65b3(0xe6)]===_0x1a5400);if(!_0x2fae9a)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xbc)+_0x1a5400+_0x2d65b3(0xf3));return _0x2fae9a;}if(/^-?\d+$/[_0x2d65b3(0xef)](_0x1aaa5a)){const _0x3130d7=Number(_0x1aaa5a),_0x36bbd0=_0x1f82b7[_0x2d65b3(0x9f)](_0x25e873=>_0x25e873['id']===_0x3130d7);if(!_0x36bbd0)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xdb)+_0x3130d7+_0x2d65b3(0xc4),_0x2d65b3(0xbb));return _0x36bbd0;}const _0x595a4c=_0x1f82b7['filter'](_0x3212ca=>_0x3212ca[_0x2d65b3(0xce)]===_0x1aaa5a);if(_0x595a4c[_0x2d65b3(0xc6)]===0x0)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xec)+_0x1aaa5a+_0x2d65b3(0xaa),_0x2d65b3(0xb5));if(_0x595a4c[_0x2d65b3(0xc6)]>0x1)throw CliErrors[_0x2d65b3(0xad)](_0x2d65b3(0xec)+_0x1aaa5a+_0x2d65b3(0x9a)+_0x595a4c[_0x2d65b3(0xcd)](_0x207d04=>_0x207d04['id'])[_0x2d65b3(0xdd)](',\x20')+').',_0x2d65b3(0xe4));return _0x595a4c[0x0];}export function projectPageSlot(_0x1fada0){const _0x3aa9c2=a165_0x394210;if(!_0x1fada0)return null;return{'resourceCode':_0x1fada0['resourceCode'],'roles':(_0x1fada0[_0x3aa9c2(0xb6)]??[])[_0x3aa9c2(0xcd)](projectRoleRef)};}export function projectPagePermit(_0x286f12){const _0x10db1b=a165_0x394210,_0x3a1b7f={'menuId':_0x286f12['menuId'],'appCode':_0x286f12[_0x10db1b(0xc5)],'menuPermit':projectPageSlot(_0x286f12['menuPermit'])};for(const _0x3bad07 of PAGE_SLOT_SPECS){if(_0x3bad07[_0x10db1b(0x9c)]==='menuPermit')continue;_0x3a1b7f[_0x3bad07[_0x10db1b(0x9c)]]=projectPageSlot(_0x286f12[_0x3bad07['key']]);}return _0x3a1b7f;}export function flattenMenuResources(_0x298d8c){const _0x483e69=new Map(),_0x38950a=_0x17d90a=>{const _0x1965a2=a165_0x34a5;for(const _0x46b835 of _0x17d90a??[]){_0x483e69[_0x1965a2(0xb1)](_0x46b835[_0x1965a2(0xb8)],{'resourceCode':_0x46b835[_0x1965a2(0xb8)],'resourceName':_0x46b835[_0x1965a2(0xa2)],'action':_0x46b835[_0x1965a2(0xf2)]?.[0x0]??'0'});if(_0x46b835[_0x1965a2(0xb4)])_0x38950a(_0x46b835[_0x1965a2(0xb4)]);}};return _0x38950a(_0x298d8c),_0x483e69;}export function flattenApiResources(_0x28b0a5){const _0x2d1f90=a165_0x394210,_0x225213=new Map(),_0x156e41=new Map();for(const _0x5380ed of _0x28b0a5){const _0x551277=_0x5380ed['apiList']??{};for(const [_0x3a2710,_0x40e248]of Object[_0x2d1f90(0xd7)](_0x551277)){_0x225213[_0x2d1f90(0xb1)](_0x3a2710,{'resourceCode':_0x3a2710,'resourceName':_0x5380ed['resourceName'],'datasetCode':_0x5380ed[_0x2d1f90(0xb3)],'action':_0x40e248?.[0x0]??'0'});const _0x27e9fa=_0x156e41['get'](_0x5380ed[_0x2d1f90(0xb3)])??[];_0x27e9fa[_0x2d1f90(0xf4)](_0x3a2710),_0x156e41['set'](_0x5380ed[_0x2d1f90(0xb3)],_0x27e9fa);}}return{'byCode':_0x225213,'byDataset':_0x156e41};}export function buildPermits(_0x24a422,_0x2c4cda){const _0x5d15f6=a165_0x394210,_0x16da60={};for(const [_0x4c0eb3,_0x5831c8]of _0x24a422){const _0x5405b6=_0x2c4cda[_0x5d15f6(0xcc)](_0x4c0eb3)??_0x5831c8[_0x5d15f6(0xf1)];_0x16da60[_0x4c0eb3]=[_0x5405b6];}return _0x16da60;}export function readRoleRef(_0x4fbe6d){const _0x150dc4=a165_0x394210,_0x4e3f74=_0x4fbe6d[_0x150dc4(0xa6)](_0x150dc4(0xb2))['trim']();if(!_0x4e3f74)throw CliErrors[_0x150dc4(0xe9)](_0x150dc4(0xb2),_0x150dc4(0xa7));return _0x4e3f74;}export function readGrantRevoke(_0x2661e2){const _0x572242=a165_0x394210,_0xb05de3=_0x2661e2[_0x572242(0xd2)](_0x572242(0xd0)),_0x57fd4a=_0x2661e2[_0x572242(0xd2)](_0x572242(0xd3));if(_0xb05de3&&_0x57fd4a)throw CliErrors[_0x572242(0xad)](_0x572242(0xde));if(!_0xb05de3&&!_0x57fd4a)throw CliErrors[_0x572242(0xad)](_0x572242(0xe7),_0x572242(0xf5));return _0xb05de3?_0x572242(0x9e):'0';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1e6224,_0x18bc33){const _0x673eda=a166_0x2fac,_0x236225=_0x1e6224();while(!![]){try{const _0x2bf8bf=-parseInt(_0x673eda(0x187))/0x1+-parseInt(_0x673eda(0x175))/0x2+-parseInt(_0x673eda(0x172))/0x3+parseInt(_0x673eda(0x174))/0x4*(-parseInt(_0x673eda(0x18a))/0x5)+parseInt(_0x673eda(0x180))/0x6*(-parseInt(_0x673eda(0x188))/0x7)+parseInt(_0x673eda(0x185))/0x8*(-parseInt(_0x673eda(0x17d))/0x9)+parseInt(_0x673eda(0x17e))/0xa*(parseInt(_0x673eda(0x18c))/0xb);if(_0x2bf8bf===_0x18bc33)break;else _0x236225['push'](_0x236225['shift']());}catch(_0xce43b7){_0x236225['push'](_0x236225['shift']());}}}(a166_0x1dc0,0x264f4));import{existsSync}from'node:fs';import a166_0x1ff374 from'node:path';function a166_0x1dc0(){const _0x4cc2d4=['Logged\x20in','Login\x20failed','√\x20App\x20Code:\x20','trim','resolve','9xjBdjE','40BKzyfq','my-app','6fVXlQG','log','\x22\x20already\x20exists','string','production','2338600UDiHyH','Project\x20name:','39831BGFSAv','875042CQgcNt','√\x20Project\x20Name:\x20','1067165BWohrq','No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','3151709yhKhBX','cyan','521676cAsxwQ','√\x20Login\x20status:\x20','4IGztpR','289346SlgLjr','green','env'];a166_0x1dc0=function(){return _0x4cc2d4;};return a166_0x1dc0();}import a166_0x3df702 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';function a166_0x2fac(_0x55abce,_0x182b13){_0x55abce=_0x55abce-0x172;const _0x1dc0b2=a166_0x1dc0();let _0x2fac96=_0x1dc0b2[_0x55abce];return _0x2fac96;}export async function guidedCreateProject(_0x104b7c,_0x13e589,_0x494fbf){const _0x5924d6=a166_0x2fac,_0x372af6=_0x5924d6(0x17f),_0x445243=readConfig(),_0x37e83b=typeof _0x445243[_0x5924d6(0x177)]===_0x5924d6(0x183)?_0x445243[_0x5924d6(0x177)]:undefined,_0x243e7b=await input({'message':_0x5924d6(0x186),'default':_0x372af6,'validate':_0x2bf898=>{const _0xb7c479=_0x5924d6,_0x5aac14=_0x2bf898[_0xb7c479(0x17b)]()||_0x372af6,_0x208735=getProjectNameValidationError(_0x5aac14);if(_0x208735)return _0x208735;const _0x5a3290=a166_0x1ff374[_0xb7c479(0x17c)](process['cwd'](),_0x5aac14);if(existsSync(_0x5a3290))return'Directory\x20\x22'+_0x5aac14+_0xb7c479(0x182);return!![];}});console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x189)+a166_0x3df702[_0x5924d6(0x18d)](_0x243e7b)));const _0x4a6d16=await selectSingleAppcode(_0x494fbf);console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x17a)+a166_0x3df702['cyan'](_0x4a6d16||'Not\x20set')));if(_0x4a6d16){const _0x2446e9=await getIsSessionValid();if(!_0x2446e9){const _0x2c8ac4=await confirm({'message':_0x5924d6(0x18b),'default':!![]});if(_0x2c8ac4){const _0x2daf78=await authServer({'silent':!![]});console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x173)+a166_0x3df702[_0x5924d6(0x18d)](_0x2daf78?_0x5924d6(0x178):_0x5924d6(0x179))));}else console[_0x5924d6(0x181)](a166_0x3df702[_0x5924d6(0x176)](_0x5924d6(0x173)+a166_0x3df702['cyan']('Skipped')));}await _0x104b7c({'projectName':_0x243e7b,'appCode':_0x4a6d16,'env':_0x13e589||_0x37e83b||_0x5924d6(0x184)});}else await _0x104b7c({'projectName':_0x243e7b,'env':_0x13e589||_0x37e83b||_0x5924d6(0x184)});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a167_0x3b16(_0x14ea28,_0x53f79b){_0x14ea28=_0x14ea28-0x83;const _0x10d90b=a167_0x10d9();let _0x3b16d7=_0x10d90b[_0x14ea28];return _0x3b16d7;}(function(_0x382116,_0x354b01){const _0x1d3e56=a167_0x3b16,_0x418d57=_0x382116();while(!![]){try{const _0x5d6bd4=parseInt(_0x1d3e56(0x90))/0x1*(-parseInt(_0x1d3e56(0x85))/0x2)+-parseInt(_0x1d3e56(0x8a))/0x3*(-parseInt(_0x1d3e56(0x83))/0x4)+parseInt(_0x1d3e56(0x8c))/0x5+-parseInt(_0x1d3e56(0x8f))/0x6+-parseInt(_0x1d3e56(0x8b))/0x7*(-parseInt(_0x1d3e56(0x86))/0x8)+-parseInt(_0x1d3e56(0x87))/0x9*(-parseInt(_0x1d3e56(0x88))/0xa)+-parseInt(_0x1d3e56(0x8e))/0xb*(parseInt(_0x1d3e56(0x89))/0xc);if(_0x5d6bd4===_0x354b01)break;else _0x418d57['push'](_0x418d57['shift']());}catch(_0x1c1845){_0x418d57['push'](_0x418d57['shift']());}}}(a167_0x10d9,0x4d80f));export function formatElapsed(_0x52fed3){const _0x1551fb=a167_0x3b16,_0x3249ac=Date[_0x1551fb(0x84)]()-_0x52fed3;if(_0x3249ac<0x3e8)return _0x3249ac+'ms';const _0x60788f=(_0x3249ac/0x3e8)[_0x1551fb(0x8d)](0x2),_0x15d570=_0x60788f['replace'](/\.?0+$/u,'');return _0x15d570+'s';}function a167_0x10d9(){const _0x12964b=['21EAzxhj','2606455qJtXDf','toFixed','72083PYkcAp','3023184ZoOnsD','3GygRKQ','407472xeVWYr','now','92846gWTJMz','1409032IQEBEW','9CjJryG','4077520axbjAr','1656BzjmBT','12togOBs'];a167_0x10d9=function(){return _0x12964b;};return a167_0x10d9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x53fd2d,_0x108c03){const _0x578661=a162_0x44a1,_0x51e41a=_0x53fd2d();while(!![]){try{const _0x1d71da=parseInt(_0x578661(0x151))/0x1*(parseInt(_0x578661(0x168))/0x2)+-parseInt(_0x578661(0x138))/0x3*(parseInt(_0x578661(0x12f))/0x4)+-parseInt(_0x578661(0x130))/0x5*(-parseInt(_0x578661(0x157))/0x6)+parseInt(_0x578661(0x17a))/0x7*(-parseInt(_0x578661(0x15e))/0x8)+parseInt(_0x578661(0x139))/0x9*(parseInt(_0x578661(0x158))/0xa)+parseInt(_0x578661(0x177))/0xb*(parseInt(_0x578661(0x170))/0xc)+-parseInt(_0x578661(0x126))/0xd*(parseInt(_0x578661(0x156))/0xe);if(_0x1d71da===_0x108c03)break;else _0x51e41a['push'](_0x51e41a['shift']());}catch(_0x228762){_0x51e41a['push'](_0x51e41a['shift']());}}}(a162_0x1242,0x1bb5b));import a162_0x2d010c from'path';import a162_0x30089b from'fs';import a162_0x1363af from'chalk';import a162_0x4b9ee7 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{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{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';function a162_0x44a1(_0x178f13,_0x386596){_0x178f13=_0x178f13-0x11a;const _0x1242f6=a162_0x1242();let _0x44a19e=_0x1242f6[_0x178f13];return _0x44a19e;}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';export async function createApp(_0x57a24b){const _0x3a7fd1=a162_0x44a1,_0x541a40=await checkCliVersion();(_0x541a40['needsUpgrade']||_0x541a40['belowMinimum'])&&(printCliUpgradeWarning(_0x541a40),assertCliVersionSupported(_0x541a40),logger[_0x3a7fd1(0x124)]('create',_0x3a7fd1(0x125),{'currentVersion':_0x541a40[_0x3a7fd1(0x136)],'stableVersion':_0x541a40[_0x3a7fd1(0x178)],'minimumVersion':_0x541a40['minimumVersion'],'needsUpgrade':_0x541a40['needsUpgrade'],'belowMinimum':_0x541a40['belowMinimum']}));if(_0x57a24b[_0x3a7fd1(0x134)]&&_0x57a24b[_0x3a7fd1(0x160)])await runCreate({'projectName':_0x57a24b['projectCode'],'appCode':_0x57a24b[_0x3a7fd1(0x160)],'env':_0x57a24b[_0x3a7fd1(0x149)]},_0x57a24b);else{if(_0x57a24b['projectCode']){const _0x584a4a=await selectSingleAppcode(_0x57a24b[_0x3a7fd1(0x16e)]);await runCreate({'projectName':_0x57a24b[_0x3a7fd1(0x134)],'appCode':_0x584a4a||undefined,'env':_0x57a24b[_0x3a7fd1(0x149)]},_0x57a24b);}else await guidedCreateProject(_0x47f519=>runCreate(_0x47f519,_0x57a24b),_0x57a24b[_0x3a7fd1(0x149)],_0x57a24b[_0x3a7fd1(0x16e)]);}}async function runCreate(_0x2a714f,_0x2afd91){const _0xb3569d=a162_0x44a1;if(!_0x2a714f[_0xb3569d(0x140)]||_0x2a714f[_0xb3569d(0x140)][_0xb3569d(0x13a)]()==='')throw new Error(_0xb3569d(0x11a));const _0x3e5266=/[<>:"|?*\x00-\x1f\x7f]/;if(_0x3e5266[_0xb3569d(0x135)](_0x2a714f[_0xb3569d(0x140)]))throw new Error(_0xb3569d(0x131));if(_0x2a714f[_0xb3569d(0x140)][_0xb3569d(0x13d)]>0x64)throw new Error(_0xb3569d(0x166));const _0xa658dc=a162_0x2d010c[_0xb3569d(0x171)](process[_0xb3569d(0x146)](),_0x2a714f[_0xb3569d(0x140)]);if(a162_0x30089b[_0xb3569d(0x13f)](_0xa658dc))throw new Error('Project\x20directory\x20'+_0x2a714f[_0xb3569d(0x140)]+_0xb3569d(0x137));try{a162_0x30089b[_0xb3569d(0x153)](a162_0x2d010c[_0xb3569d(0x121)](_0xa658dc),a162_0x30089b[_0xb3569d(0x15b)][_0xb3569d(0x11e)]);}catch{throw new Error(_0xb3569d(0x12d));}logger[_0xb3569d(0x172)](_0xa658dc),logger[_0xb3569d(0x124)](_0xb3569d(0x12c),_0xb3569d(0x175)+_0x2a714f[_0xb3569d(0x140)],{'projectDir':_0xa658dc,'appCode':_0x2a714f[_0xb3569d(0x160)]}),console['log'](),console[_0xb3569d(0x143)](a162_0x1363af['green'](_0xb3569d(0x12a))+_0xb3569d(0x155)+a162_0x1363af['green'](_0x2a714f[_0xb3569d(0x140)])+(_0x2a714f[_0xb3569d(0x160)]?'\x20|\x20AppCode:\x20'+a162_0x1363af[_0xb3569d(0x11c)](_0x2a714f[_0xb3569d(0x160)]):''));try{await runTask('Copy\x20project\x20files',()=>copyProjectTemplate(_0x2a714f[_0xb3569d(0x140)])),await updatePackageJsonName(_0x2a714f[_0xb3569d(0x140)]),await runTask(_0xb3569d(0x14e),()=>installDependencies(_0x2a714f['projectName'])),await runTask(_0xb3569d(0x13c),()=>formatProjectCode(_0x2a714f[_0xb3569d(0x140)])),await configureAppCode(_0x2a714f[_0xb3569d(0x140)],_0x2a714f[_0xb3569d(0x160)]||'',_0x2a714f[_0xb3569d(0x149)]);let _0x3019ad=![];if(_0x2a714f[_0xb3569d(0x160)]){console['log'](_0xb3569d(0x14a));const _0x354bd0=process[_0xb3569d(0x146)]();try{process[_0xb3569d(0x16a)](_0xa658dc);const _0x538328=_0x2a714f[_0xb3569d(0x149)]||_0xb3569d(0x174);initEnv(_0x538328);const {configArray:_0x538d33}=await fetchModelList(_0x2a714f[_0xb3569d(0x160)],_0x2afd91[_0xb3569d(0x16e)]||''),_0xf50104=DEFAULT_API_DIR,_0x3268cf=await generateApiFile(_0x538d33,'',_0x2a714f[_0xb3569d(0x160)],!![],_0x538328,_0xf50104);console[_0xb3569d(0x143)](_0xb3569d(0x145)+_0x538d33[_0xb3569d(0x13d)]+_0xb3569d(0x141)+_0x3268cf[_0xb3569d(0x150)]+_0xb3569d(0x15a)),logger[_0xb3569d(0x124)](_0xb3569d(0x12c),_0xb3569d(0x133)+_0x2a714f[_0xb3569d(0x160)]);}catch(_0x2160b3){_0x3019ad=!![],console['log'](_0xb3569d(0x17d)),logger['warn']('create',_0xb3569d(0x129),{'error':_0x2160b3 instanceof Error?_0x2160b3['message']:String(_0x2160b3)});}finally{process[_0xb3569d(0x16a)](_0x354bd0);}}logger[_0xb3569d(0x123)](_0xb3569d(0x12c),'项目创建完成:\x20'+_0x2a714f[_0xb3569d(0x140)]),console[_0xb3569d(0x143)](),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x14f)]('─'[_0xb3569d(0x16b)](0x3c))),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x11c)][_0xb3569d(0x162)](_0xb3569d(0x15c))),console[_0xb3569d(0x143)](),console['log'](_0xb3569d(0x127)+a162_0x1363af[_0xb3569d(0x11c)][_0xb3569d(0x162)](_0xb3569d(0x12b)+_0x2a714f[_0xb3569d(0x140)]+_0xb3569d(0x161)+CLI_BIN_NAME+'\x20run\x20start')),_0x3019ad&&console['log'](_0xb3569d(0x120)+a162_0x1363af['cyan']['bold'](CLI_BIN_NAME+_0xb3569d(0x11b))),console[_0xb3569d(0x143)](a162_0x1363af[_0xb3569d(0x14f)]('─'[_0xb3569d(0x16b)](0x3c)));}catch(_0xaf5887){logger[_0xb3569d(0x15f)](_0xb3569d(0x12c),_0xb3569d(0x16d)+_0x2a714f[_0xb3569d(0x140)],{'error':_0xaf5887 instanceof Error?_0xaf5887['message']:String(_0xaf5887)});try{a162_0x30089b['existsSync'](_0xa658dc)&&(console[_0xb3569d(0x143)](_0xb3569d(0x14c)+_0xa658dc),a162_0x30089b[_0xb3569d(0x169)](_0xa658dc,{'recursive':!![],'force':!![]}));}catch{logger['warn']('create',_0xb3569d(0x13b)+_0xa658dc);}throw _0xaf5887;}}async function runTask(_0x15eb10,_0xc83a93){const _0x368fb2=a162_0x44a1,_0x111c46=a162_0x4b9ee7(_0x15eb10+'...')['start']();try{const _0x517c1a=await _0xc83a93();_0x111c46[_0x368fb2(0x14b)](),console[_0x368fb2(0x143)](''+a162_0x1363af[_0x368fb2(0x14f)](_0x368fb2(0x12a))+_0x15eb10+'\x20'+a162_0x1363af[_0x368fb2(0x165)]('['+_0x517c1a+']'));}catch(_0x31bf22){_0x111c46[_0x368fb2(0x167)](_0x15eb10);throw _0x31bf22;}}async function updatePackageJsonName(_0x2e377d){const _0x4f2331=a162_0x44a1,_0x2621ce=a162_0x2d010c['resolve'](process['cwd'](),_0x2e377d),_0x527d53=a162_0x2d010c[_0x4f2331(0x12e)](_0x2621ce,'package.json');try{console[_0x4f2331(0x143)](_0x4f2331(0x128));const _0x471fe8=getRabetbaseCliPackageRoot(),_0x2791ff=a162_0x2d010c[_0x4f2331(0x12e)](_0x471fe8,_0x4f2331(0x147));let _0x499127=_0x4f2331(0x148);try{const _0xb7c96b=JSON[_0x4f2331(0x17b)](a162_0x30089b['readFileSync'](_0x2791ff,_0x4f2331(0x132)));_0x499127=_0xb7c96b[_0x4f2331(0x144)]||_0x4f2331(0x148);}catch{}const _0x1a7f73=a162_0x30089b['readFileSync'](_0x527d53,_0x4f2331(0x132)),_0x1ef9db=JSON['parse'](_0x1a7f73);_0x1ef9db['name']=_0x2e377d,_0x1ef9db[_0x4f2331(0x179)]=_0x2e377d+_0x4f2331(0x122)+_0x499127,a162_0x30089b['writeFileSync'](_0x527d53,JSON[_0x4f2331(0x16f)](_0x1ef9db,null,0x2)+'\x0a',_0x4f2331(0x132)),console[_0x4f2331(0x143)](_0x4f2331(0x159)+_0x2e377d),logger[_0x4f2331(0x124)](_0x4f2331(0x12c),'更新\x20package.json\x20name');}catch(_0x1b4ee4){logger['error']('create',_0x4f2331(0x173));throw _0x1b4ee4;}}async function configureAppCode(_0x4b9287,_0x44c3e6,_0x3eeab9){const _0x828da=a162_0x44a1,_0x3da33f=a162_0x2d010c[_0x828da(0x171)](process[_0x828da(0x146)](),_0x4b9287),_0x3e7dbe=a162_0x2d010c[_0x828da(0x12e)](_0x3da33f,NEW_CONFIG_NAME);try{_0x44c3e6?console['log'](_0x828da(0x164)+_0x4b9287+':\x20'+_0x44c3e6):console['log']('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x4b9287);const _0x3b085f=getRabetbaseCliPackageRoot(),_0x18ca75=a162_0x2d010c[_0x828da(0x12e)](_0x3b085f,'package.json');let _0x729d5=_0x828da(0x148);try{const _0xdd2656=JSON[_0x828da(0x17b)](a162_0x30089b[_0x828da(0x13e)](_0x18ca75,'utf8'));_0x729d5=_0xdd2656[_0x828da(0x144)]||_0x828da(0x148);}catch{}const _0x6d2170=readConfig(),_0x1ee105=typeof _0x6d2170[_0x828da(0x149)]===_0x828da(0x154)?_0x6d2170[_0x828da(0x149)]:undefined,_0x932c9={};for(const _0x38179f of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x6d2170[_0x38179f]!=null)_0x932c9[_0x38179f]=_0x6d2170[_0x38179f];}const _0x22f167=buildCanonicalProjectConfig(_0x932c9,{'appCodes':_0x44c3e6?[_0x44c3e6]:[],'env':_0x3eeab9||_0x1ee105||_0x828da(0x174),'metadata':{'createdAt':new Date()[_0x828da(0x152)](),'version':_0x729d5}});writeConfigFile(_0x3e7dbe,_0x22f167),_0x44c3e6?console['log'](_0x828da(0x11d)+Object[_0x828da(0x176)](_0x22f167[_0x828da(0x163)]||{})['join'](',\x20')+_0x828da(0x142)+_0x22f167[_0x828da(0x16c)]):console[_0x828da(0x143)](_0x828da(0x11f)+CLI_BIN_NAME+_0x828da(0x14d)),logger[_0x828da(0x124)](_0x828da(0x12c),_0x828da(0x17c)+_0x44c3e6);}catch(_0x53450f){logger[_0x828da(0x15f)](_0x828da(0x12c),_0x828da(0x15d));}}function a162_0x1242(){const _0x5ce11b=['Format\x20code','length','readFileSync','existsSync','projectName','\x20dataset(s),\x20generated\x20','\x20|\x20Default:\x20','log','version','√\x20Pulled\x20','cwd','package.json','1.0.0','env','*\x20Pulling\x20API\x20configuration...','stop','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','\x20config\x20set\x20appcode\x20<app-code>\x27','Install\x20dependencies','green','modelCount','3Lhsuls','toLocaleString','accessSync','string','Project\x20name:\x20','60606eAQniC','331332MbPUqL','379550YBEOpk','√\x20package.json\x20updated:\x20name=','\x20model(s)','constants','🚀\x20Next\x20Steps:','配置应用AppCode失败','152CTVPGv','error','appCode','\x20&&\x20','bold','apps','*\x20Configuring\x20AppCode\x20for\x20project\x20','gray','Project\x20name\x20is\x20too\x20long,\x20maximum\x20100\x20characters','fail','4514xEzsFP','rmSync','chdir','repeat','defaultApp','项目创建失败:\x20','cookie','stringify','80364GLIjHE','resolve','setLogPath','更新\x20package.json\x20失败','production','开始创建项目:\x20','keys','341SCVRhi','stableVersion','description','46984hRLUDU','parse','配置应用AppCode:\x20','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','Project\x20name\x20cannot\x20be\x20empty','\x20api\x20pull','cyan','√\x20Configuration\x20file\x20created,\x20Apps:\x20','W_OK','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27','\x20\x202.\x20Pull\x20API\x20configuration:\x20','dirname','\x20Generated\x20by\x20rabetbase\x20cli\x20','success','info','CLI\x20版本检查','637luwwlT','\x20\x201.\x20Start\x20project:\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','API\x20配置拉取异常','\x20√\x20','cd\x20','create','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','join','52JzUkwW','5RnzwMv','Invalid\x20characters\x20in\x20project\x20name.\x20Not\x20allowed:\x20<\x20>\x20:\x20\x22\x20|\x20?\x20*\x20and\x20control\x20characters','utf8','API\x20configuration\x20pulled:\x20','projectCode','test','currentVersion','\x20already\x20exists','1437tTrIHn','45MNAwaB','trim','清理项目目录失败:\x20'];a162_0x1242=function(){return _0x5ce11b;};return a162_0x1242();}
|
|
1
|
+
(function(_0xed7530,_0x2a0347){const _0x3cde4c=a168_0x3171,_0x53696d=_0xed7530();while(!![]){try{const _0x5bf9f9=-parseInt(_0x3cde4c(0xc3))/0x1*(-parseInt(_0x3cde4c(0xb0))/0x2)+parseInt(_0x3cde4c(0xca))/0x3+-parseInt(_0x3cde4c(0xdc))/0x4+parseInt(_0x3cde4c(0xda))/0x5+-parseInt(_0x3cde4c(0xb6))/0x6*(parseInt(_0x3cde4c(0xd6))/0x7)+-parseInt(_0x3cde4c(0xf0))/0x8*(-parseInt(_0x3cde4c(0xc1))/0x9)+parseInt(_0x3cde4c(0xb5))/0xa*(parseInt(_0x3cde4c(0x97))/0xb);if(_0x5bf9f9===_0x2a0347)break;else _0x53696d['push'](_0x53696d['shift']());}catch(_0x2f501e){_0x53696d['push'](_0x53696d['shift']());}}}(a168_0x435f,0x581ff));import a168_0x2d48c8 from'path';import a168_0x3460ef from'fs';import a168_0x28a701 from'chalk';import a168_0x2d28b8 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{readConfig}from'../../../utils/config.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{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';function readDirectoryIdentity(_0x5174a7){const _0x29e00d=a168_0x3171;try{const _0x2da305=a168_0x3460ef[_0x29e00d(0x9f)](_0x5174a7);if(!_0x2da305[_0x29e00d(0xf2)]())return null;return{'dev':_0x2da305[_0x29e00d(0xbf)],'ino':_0x2da305[_0x29e00d(0xa2)]};}catch{return null;}}export async function createApp(_0x32947d){const _0x53121f=a168_0x3171,_0xe121b2=await checkCliVersion();(_0xe121b2[_0x53121f(0xa5)]||_0xe121b2[_0x53121f(0xe0)])&&(printCliUpgradeWarning(_0xe121b2),assertCliVersionSupported(_0xe121b2),logger['info'](_0x53121f(0xad),'CLI\x20版本检查',{'currentVersion':_0xe121b2['currentVersion'],'stableVersion':_0xe121b2[_0x53121f(0xdf)],'minimumVersion':_0xe121b2[_0x53121f(0xd7)],'needsUpgrade':_0xe121b2['needsUpgrade'],'belowMinimum':_0xe121b2[_0x53121f(0xe0)]}));if(_0x32947d[_0x53121f(0xdd)]&&(_0x32947d[_0x53121f(0xb9)]||_0x32947d[_0x53121f(0xab)]))await runCreate({'projectName':_0x32947d[_0x53121f(0xdd)],'appCode':_0x32947d[_0x53121f(0xb9)],'env':_0x32947d[_0x53121f(0xf3)]},_0x32947d);else{if(_0x32947d[_0x53121f(0xdd)]){const _0x364837=await selectSingleAppcode(_0x32947d[_0x53121f(0xea)]);await runCreate({'projectName':_0x32947d[_0x53121f(0xdd)],'appCode':_0x364837||undefined,'env':_0x32947d[_0x53121f(0xf3)]},_0x32947d);}else await guidedCreateProject(_0x111b00=>runCreate(_0x111b00,_0x32947d),_0x32947d['env'],_0x32947d[_0x53121f(0xea)]);}}async function runCreate(_0x402284,_0xef4f1d){const _0x3d8a75=a168_0x3171;_0x402284['projectName']=validateProjectName(_0x402284['projectName']);const _0x1fb229=a168_0x2d48c8[_0x3d8a75(0xcb)](process[_0x3d8a75(0xc2)](),_0x402284[_0x3d8a75(0xec)]);if(a168_0x3460ef[_0x3d8a75(0xf7)](_0x1fb229))throw new Error(_0x3d8a75(0xae)+_0x402284[_0x3d8a75(0xec)]+_0x3d8a75(0xe8));let _0x3d79c2=null;try{a168_0x3460ef[_0x3d8a75(0xf4)](a168_0x2d48c8[_0x3d8a75(0xf1)](_0x1fb229),a168_0x3460ef[_0x3d8a75(0x9c)][_0x3d8a75(0xa7)]);}catch{throw new Error(_0x3d8a75(0xf9));}logger['info']('create','开始创建项目:\x20'+_0x402284['projectName'],{'projectDir':_0x1fb229,'appCode':_0x402284[_0x3d8a75(0xb9)]}),console[_0x3d8a75(0xe5)](),console[_0x3d8a75(0xe5)](a168_0x28a701['green']('\x20√\x20')+_0x3d8a75(0xd4)+a168_0x28a701[_0x3d8a75(0xbc)](_0x402284[_0x3d8a75(0xec)])+(_0x402284[_0x3d8a75(0xb9)]?_0x3d8a75(0xe4)+a168_0x28a701['cyan'](_0x402284[_0x3d8a75(0xb9)]):''));try{await runTask('Resolving\x20project\x20template',_0x46b985=>copyProjectTemplate(_0x402284[_0x3d8a75(0xec)],_0xf71e32=>_0x46b985(projectTemplateStageLabel(_0xf71e32))),_0x3d8a75(0xfa)),_0x3d79c2=readDirectoryIdentity(_0x1fb229);if(!_0x3d79c2)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x402284['projectName']),await runTask(_0x3d8a75(0xd9),()=>installDependencies(_0x402284['projectName'])),await runTask(_0x3d8a75(0xaa),()=>formatProjectCode(_0x402284['projectName'])),await configureAppCode(_0x402284[_0x3d8a75(0xec)],_0x402284[_0x3d8a75(0xb9)]||'',_0x402284[_0x3d8a75(0xf3)]);let _0x3652b1=![];if(_0x402284[_0x3d8a75(0xb9)]){console[_0x3d8a75(0xe5)]('*\x20Pulling\x20API\x20configuration...');const _0x1cce1e=process[_0x3d8a75(0xc2)]();try{process[_0x3d8a75(0xa6)](_0x1fb229);const _0x22c1fe=_0x402284['env']||_0x3d8a75(0xdb);initEnv(_0x22c1fe);const {configArray:_0x3db660}=await fetchModelList(_0x402284[_0x3d8a75(0xb9)],_0xef4f1d[_0x3d8a75(0xea)]||''),_0x1cba6c=DEFAULT_API_DIR,_0x1e898d=await generateApiFile(_0x3db660,'',_0x402284[_0x3d8a75(0xb9)],!![],_0x22c1fe,_0x1cba6c);console[_0x3d8a75(0xe5)](_0x3d8a75(0xc4)+_0x3db660[_0x3d8a75(0xbd)]+_0x3d8a75(0xc9)+_0x1e898d['modelCount']+'\x20model(s)'),logger[_0x3d8a75(0xac)]('create',_0x3d8a75(0xe3)+_0x402284[_0x3d8a75(0xb9)]);}catch(_0x287f29){_0x3652b1=!![],console[_0x3d8a75(0xe5)](_0x3d8a75(0x9e)),logger['warn'](_0x3d8a75(0xad),_0x3d8a75(0xcf),{'error':_0x287f29 instanceof Error?_0x287f29[_0x3d8a75(0xf6)]:String(_0x287f29)});}finally{process[_0x3d8a75(0xa6)](_0x1cce1e);}}logger[_0x3d8a75(0xed)](_0x1fb229),logger['success'](_0x3d8a75(0xad),_0x3d8a75(0xaf)+_0x402284[_0x3d8a75(0xec)]),console['log'](),console['log'](a168_0x28a701[_0x3d8a75(0xbc)]('─'[_0x3d8a75(0xb4)](0x3c))),console[_0x3d8a75(0xe5)](a168_0x28a701[_0x3d8a75(0xd8)][_0x3d8a75(0x9a)](_0x3d8a75(0x9d))),console['log'](),console[_0x3d8a75(0xe5)](_0x3d8a75(0xe9)+a168_0x28a701['cyan'][_0x3d8a75(0x9a)](_0x3d8a75(0xcc)+_0x402284[_0x3d8a75(0xec)]+'\x20&&\x20'+CLI_BIN_NAME+_0x3d8a75(0xde))),_0x3652b1&&console['log']('\x20\x202.\x20Pull\x20API\x20configuration:\x20'+a168_0x28a701[_0x3d8a75(0xd8)][_0x3d8a75(0x9a)](CLI_BIN_NAME+'\x20api\x20pull')),console[_0x3d8a75(0xe5)](a168_0x28a701[_0x3d8a75(0xbc)]('─'[_0x3d8a75(0xb4)](0x3c)));}catch(_0x43a438){logger[_0x3d8a75(0xe6)](_0x3d8a75(0xad),_0x3d8a75(0xeb)+_0x402284[_0x3d8a75(0xec)],{'error':_0x43a438 instanceof Error?_0x43a438[_0x3d8a75(0xf6)]:String(_0x43a438)});try{const _0x4ab0bd=readDirectoryIdentity(_0x1fb229);if(_0x3d79c2&&_0x4ab0bd?.['dev']===_0x3d79c2[_0x3d8a75(0xbf)]&&_0x4ab0bd['ino']===_0x3d79c2[_0x3d8a75(0xa2)])console[_0x3d8a75(0xe5)]('*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20'+_0x1fb229),a168_0x3460ef['rmSync'](_0x1fb229,{'recursive':!![],'force':!![]});else _0x4ab0bd&&logger[_0x3d8a75(0xa9)](_0x3d8a75(0xad),'跳过清理:项目目录所有权已变化:\x20'+_0x1fb229);}catch{logger[_0x3d8a75(0xa9)](_0x3d8a75(0xad),_0x3d8a75(0xa4)+_0x1fb229);}throw _0x43a438;}}async function runTask(_0x49196e,_0x555646,_0x154e17=_0x49196e){const _0x465bdf=a168_0x3171,_0x5f1cc8=a168_0x2d28b8(_0x49196e+'...')[_0x465bdf(0xe2)]();try{const _0xba756f=await _0x555646(_0x1a7270=>{const _0xd9891c=_0x465bdf;_0x5f1cc8[_0xd9891c(0xba)]=_0x1a7270+_0xd9891c(0xf5);});_0x5f1cc8[_0x465bdf(0xc6)](),console[_0x465bdf(0xe5)](''+a168_0x28a701[_0x465bdf(0xbc)]('\x20√\x20')+_0x154e17+'\x20'+a168_0x28a701['gray']('['+_0xba756f+']'));}catch(_0x100035){_0x5f1cc8[_0x465bdf(0xe1)](_0x49196e);throw _0x100035;}}function a168_0x435f(){const _0x2a825f=['232VeaIIZ','dirname','isDirectory','env','accessSync','...','message','existsSync','\x20|\x20Default:\x20','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Project\x20template\x20ready','Downloading\x20project\x20template','66eONmjY','utf8','\x20config\x20set\x20appcode\x20<app-code>\x27','bold','apps','constants','🚀\x20Next\x20Steps:','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20rabetbase\x20api\x20pull','lstatSync','description','√\x20Configuration\x20file\x20created,\x20Apps:\x20','ino','配置应用AppCode失败','清理项目目录失败:\x20','needsUpgrade','chdir','W_OK','downloading','warn','Format\x20code','nonInteractive','info','create','Project\x20directory\x20','项目创建完成:\x20','230686rrfqrR','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','stringify','extracting','repeat','773990nlQTBK','42RlSEAQ','keys','package.json','appCode','text','defaultApp','green','length','name','dev','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','99954PiGGIZ','cwd','3dxrFYH','√\x20Pulled\x20','Extracting\x20project\x20template','stop','join','√\x20package.json\x20updated:\x20name=','\x20dataset(s),\x20generated\x20','668325pyoTMt','resolve','cd\x20','readFileSync','version','API\x20配置拉取异常','parse','\x20Generated\x20by\x20rabetbase\x20cli\x20','更新\x20package.json\x20name','string','Project\x20name:\x20','resolving','643251pdwVOX','minimumVersion','cyan','Install\x20dependencies','1761655VfpRDD','production','2813572IqFfQI','projectCode','\x20run\x20start','stableVersion','belowMinimum','fail','start','API\x20configuration\x20pulled:\x20','\x20|\x20AppCode:\x20','log','error','*\x20Configuring\x20AppCode\x20for\x20project\x20','\x20already\x20exists','\x20\x201.\x20Start\x20project:\x20','cookie','项目创建失败:\x20','projectName','setLogPath','1.0.0','√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'];a168_0x435f=function(){return _0x2a825f;};return a168_0x435f();}function projectTemplateStageLabel(_0x1c50d8){const _0x2974fc=a168_0x3171;switch(_0x1c50d8){case _0x2974fc(0xd5):return'Resolving\x20project\x20template';case _0x2974fc(0xa8):return _0x2974fc(0xfb);case'verifying':return'Verifying\x20project\x20template';case _0x2974fc(0xb3):return _0x2974fc(0xc5);}}function a168_0x3171(_0x261240,_0x225afb){_0x261240=_0x261240-0x97;const _0x435f84=a168_0x435f();let _0x317122=_0x435f84[_0x261240];return _0x317122;}async function updatePackageJsonName(_0x338cd9){const _0x5eaf90=a168_0x3171,_0x252313=a168_0x2d48c8['resolve'](process[_0x5eaf90(0xc2)](),_0x338cd9),_0x2c1ca4=a168_0x2d48c8[_0x5eaf90(0xc7)](_0x252313,'package.json');try{console[_0x5eaf90(0xe5)](_0x5eaf90(0xc0));const _0x2bfc82=getRabetbaseCliPackageRoot(),_0x2b7774=a168_0x2d48c8[_0x5eaf90(0xc7)](_0x2bfc82,_0x5eaf90(0xb8));let _0x1c21ef='1.0.0';try{const _0x1738de=JSON['parse'](a168_0x3460ef[_0x5eaf90(0xcd)](_0x2b7774,'utf8'));_0x1c21ef=_0x1738de[_0x5eaf90(0xce)]||_0x5eaf90(0xee);}catch{}const _0x25ef37=a168_0x3460ef['readFileSync'](_0x2c1ca4,_0x5eaf90(0x98)),_0x1fe428=JSON['parse'](_0x25ef37);_0x1fe428[_0x5eaf90(0xbe)]=_0x338cd9,_0x1fe428[_0x5eaf90(0xa0)]=_0x338cd9+_0x5eaf90(0xd1)+_0x1c21ef,a168_0x3460ef['writeFileSync'](_0x2c1ca4,JSON[_0x5eaf90(0xb2)](_0x1fe428,null,0x2)+'\x0a',_0x5eaf90(0x98)),console[_0x5eaf90(0xe5)](_0x5eaf90(0xc8)+_0x338cd9),logger[_0x5eaf90(0xac)](_0x5eaf90(0xad),_0x5eaf90(0xd2));}catch(_0x3d4486){logger[_0x5eaf90(0xe6)]('create','更新\x20package.json\x20失败');throw _0x3d4486;}}async function configureAppCode(_0x335e0a,_0x39dc0b,_0x584cb9){const _0xbc26a8=a168_0x3171,_0x15fee2=a168_0x2d48c8[_0xbc26a8(0xcb)](process[_0xbc26a8(0xc2)](),_0x335e0a),_0x391db1=a168_0x2d48c8[_0xbc26a8(0xc7)](_0x15fee2,NEW_CONFIG_NAME);try{_0x39dc0b?console[_0xbc26a8(0xe5)](_0xbc26a8(0xe7)+_0x335e0a+':\x20'+_0x39dc0b):console[_0xbc26a8(0xe5)](_0xbc26a8(0xb1)+_0x335e0a);const _0x486e77=getRabetbaseCliPackageRoot(),_0x2f2824=a168_0x2d48c8['join'](_0x486e77,_0xbc26a8(0xb8));let _0x45125e='1.0.0';try{const _0x3647dd=JSON[_0xbc26a8(0xd0)](a168_0x3460ef[_0xbc26a8(0xcd)](_0x2f2824,_0xbc26a8(0x98)));_0x45125e=_0x3647dd[_0xbc26a8(0xce)]||_0xbc26a8(0xee);}catch{}const _0x258ff9=readConfig(),_0x594221=typeof _0x258ff9['env']===_0xbc26a8(0xd3)?_0x258ff9[_0xbc26a8(0xf3)]:undefined,_0x4ade1f={};for(const _0x261d44 of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x258ff9[_0x261d44]!=null)_0x4ade1f[_0x261d44]=_0x258ff9[_0x261d44];}const _0x462ed9=buildCanonicalProjectConfig(_0x4ade1f,{'appCodes':_0x39dc0b?[_0x39dc0b]:[],'env':_0x584cb9||_0x594221||_0xbc26a8(0xdb),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x45125e}});writeConfigFile(_0x391db1,_0x462ed9),_0x39dc0b?console['log'](_0xbc26a8(0xa1)+Object[_0xbc26a8(0xb7)](_0x462ed9[_0xbc26a8(0x9b)]||{})[_0xbc26a8(0xc7)](',\x20')+_0xbc26a8(0xf8)+_0x462ed9[_0xbc26a8(0xbb)]):console[_0xbc26a8(0xe5)](_0xbc26a8(0xef)+CLI_BIN_NAME+_0xbc26a8(0x99)),logger[_0xbc26a8(0xac)](_0xbc26a8(0xad),'配置应用AppCode:\x20'+_0x39dc0b);}catch(_0x7bd937){logger['error'](_0xbc26a8(0xad),_0xbc26a8(0xa3));throw _0x7bd937;}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ProjectTemplateMaterialization {
|
|
2
|
+
source: "cdn";
|
|
3
|
+
version: string;
|
|
4
|
+
}
|
|
5
|
+
export type ProjectTemplateStage = "resolving" | "downloading" | "verifying" | "extracting";
|
|
6
|
+
export type ProjectTemplateProgress = (stage: ProjectTemplateStage) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Materialize the project template into a new target directory.
|
|
9
|
+
* CDN is the single source for project templates.
|
|
10
|
+
*/
|
|
11
|
+
export declare function materializeProjectTemplate(projectDir: string, onProgress?: ProjectTemplateProgress): Promise<ProjectTemplateMaterialization>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a169_0x3f3ca8=a169_0x16cf;(function(_0x59b4a5,_0xfeb24f){const _0x52489f=a169_0x16cf,_0x36f69d=_0x59b4a5();while(!![]){try{const _0x20836e=parseInt(_0x52489f(0x123))/0x1*(parseInt(_0x52489f(0x14a))/0x2)+parseInt(_0x52489f(0x13e))/0x3+-parseInt(_0x52489f(0x162))/0x4+-parseInt(_0x52489f(0x164))/0x5+-parseInt(_0x52489f(0x147))/0x6*(-parseInt(_0x52489f(0x12e))/0x7)+-parseInt(_0x52489f(0x158))/0x8+parseInt(_0x52489f(0x14d))/0x9;if(_0x20836e===_0xfeb24f)break;else _0x36f69d['push'](_0x36f69d['shift']());}catch(_0x425e72){_0x36f69d['push'](_0x36f69d['shift']());}}}(a169_0x1412,0xdbaf8));import{createHash}from'node:crypto';import a169_0x181495 from'node:fs/promises';import a169_0x4c42f7 from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID=a169_0x3f3ca8(0x129),ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x8e3422){const _0x249008=a169_0x3f3ca8;return typeof _0x8e3422===_0x249008(0x155)&&_0x8e3422[_0x249008(0x136)]()?_0x8e3422[_0x249008(0x136)]():null;}function a169_0x1412(){const _0x5b172e=['size','resolving','5oyThwz','origin','sha256',',\x20received\x20','from','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','sub-app-react-demo','.rabetbase-create-','ino','cdn','extracting','7OPVhWD','validation','writeFile','arrayBuffer','update','downloading','push','verifying','trim','Project\x20template\x20package.json\x20is\x20invalid.','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','cancel','name','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','EEXIST','4503963dDEHtb','package.json','basename','mkdtemp','test','resolve','version','object','projectTemplate','9569802VpDWTE','dev','toLowerCase','374650JEQNYp','protocol','Use\x20a\x20different\x20project\x20name.','12215277GHRnqQ','length','project','href','readdir','releaseLock','get','content-length','string','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','isSafeInteger','11817608sJjsJX','template.zip','isDirectory','message','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','dirname','sha256:','join','parse','concat','5691832AtRpAa','code','7950875GSyugy','body','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','byteLength','lstat','readFile','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','getReader','includes'];a169_0x1412=function(){return _0x5b172e;};return a169_0x1412();}function parseDescriptor(_0x4e3923){const _0x208ecf=a169_0x3f3ca8;if(!_0x4e3923||typeof _0x4e3923!==_0x208ecf(0x145))throw new Error('CDN\x20config\x20does\x20not\x20define\x20template\x20\x22'+TEMPLATE_ID+'\x22.');const _0x3f3925=_0x4e3923,_0x3e9cea=nonEmptyString(_0x3f3925[_0x208ecf(0x144)]),_0x3ace41=nonEmptyString(_0x3f3925[_0x208ecf(0x13b)]),_0x514b92=nonEmptyString(_0x3f3925[_0x208ecf(0x125)])?.[_0x208ecf(0x149)](),_0x20d2cd=_0x3f3925['size'];if(!_0x3e9cea||!_0x3ace41||_0x3ace41!==a169_0x4c42f7['posix'][_0x208ecf(0x140)](_0x3ace41)||_0x3ace41[_0x208ecf(0x120)]('\x5c')||!_0x514b92||!/^sha256:[a-f0-9]{64}$/[_0x208ecf(0x142)](_0x514b92)||typeof _0x20d2cd!=='number'||!Number[_0x208ecf(0x157)](_0x20d2cd)||_0x20d2cd<=0x0||_0x20d2cd>MAX_ARCHIVE_SIZE)throw new Error(_0x208ecf(0x128)+TEMPLATE_ID+'\x22.');return{'version':_0x3e9cea,'name':_0x3ace41,'sha256':_0x514b92,'size':_0x20d2cd};}async function fetchWithTimeout(_0x318429,_0x4af766,_0x1b8d95,_0x173fc9){const _0x89e10b=new AbortController(),_0x36b428=setTimeout(()=>_0x89e10b['abort'](),_0x4af766);try{const _0x436254=await fetch(_0x318429,{'headers':{'Accept':_0x1b8d95},'signal':_0x89e10b['signal']});return await _0x173fc9(_0x436254);}finally{clearTimeout(_0x36b428);}}async function fetchTemplateDescriptor(){const _0x5a8b85=a169_0x3f3ca8,_0x48d8b5=await getRabetbaseCdnConfig();if(!_0x48d8b5)throw new Error('Rabetbase\x20CDN\x20config\x20is\x20unavailable.');return parseDescriptor(_0x48d8b5[_0x5a8b85(0x146)]);}function resolveArchiveUrl(_0x224637){const _0x3ff227=a169_0x3f3ca8,_0x40712f=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x4aa5ae=new URL(_0x224637,_0x40712f);if(_0x4aa5ae[_0x3ff227(0x14b)]!=='https:'||_0x4aa5ae[_0x3ff227(0x124)]!==_0x40712f['origin']||!_0x4aa5ae['pathname']['startsWith'](_0x40712f['pathname']))throw new Error(_0x3ff227(0x15c));return _0x4aa5ae[_0x3ff227(0x150)];}async function readResponseBytes(_0x3af9f8,_0x3ef34d){const _0x2db2a1=a169_0x3f3ca8;if(!_0x3af9f8[_0x2db2a1(0x165)]){const _0x2a721d=Buffer[_0x2db2a1(0x127)](await _0x3af9f8[_0x2db2a1(0x131)]());if(_0x2a721d[_0x2db2a1(0x14e)]>_0x3ef34d)throw new Error(_0x2db2a1(0x156));return _0x2a721d;}const _0x8168bd=_0x3af9f8[_0x2db2a1(0x165)][_0x2db2a1(0x11f)](),_0x34aa32=[];let _0x197e10=0x0;try{while(!![]){const {done:_0x4362bc,value:_0x1ea013}=await _0x8168bd['read']();if(_0x4362bc)break;_0x197e10+=_0x1ea013[_0x2db2a1(0x11b)];if(_0x197e10>_0x3ef34d){await _0x8168bd[_0x2db2a1(0x13a)]();throw new Error('CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.');}_0x34aa32[_0x2db2a1(0x134)](Buffer[_0x2db2a1(0x127)](_0x1ea013));}}finally{_0x8168bd[_0x2db2a1(0x152)]();}return Buffer[_0x2db2a1(0x161)](_0x34aa32,_0x197e10);}async function downloadArchive(_0x3560f3,_0x1eef1f,_0x398d77){const _0x4196a4=a169_0x3f3ca8,_0x154cf2=await fetchWithTimeout(resolveArchiveUrl(_0x3560f3['name']),ARCHIVE_TIMEOUT_MS,'application/zip',async _0x29fe87=>{const _0x54c7de=a169_0x16cf;if(!_0x29fe87['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x29fe87['status']+'.');const _0x5b97e5=Number(_0x29fe87['headers'][_0x54c7de(0x153)](_0x54c7de(0x154)));if(Number['isFinite'](_0x5b97e5)&&_0x5b97e5>MAX_ARCHIVE_SIZE)throw new Error(_0x54c7de(0x166));return readResponseBytes(_0x29fe87,_0x3560f3[_0x54c7de(0x121)]);});if(_0x154cf2[_0x4196a4(0x14e)]!==_0x3560f3[_0x4196a4(0x121)])throw new Error(_0x4196a4(0x13c)+_0x3560f3[_0x4196a4(0x121)]+_0x4196a4(0x126)+_0x154cf2[_0x4196a4(0x14e)]+'.');_0x398d77?.(_0x4196a4(0x135));const _0x5cfde0=_0x4196a4(0x15e)+createHash(_0x4196a4(0x125))[_0x4196a4(0x132)](_0x154cf2)['digest']('hex');if(_0x5cfde0!==_0x3560f3[_0x4196a4(0x125)])throw new Error(_0x4196a4(0x11e));await a169_0x181495[_0x4196a4(0x130)](_0x1eef1f,_0x154cf2,{'flag':'wx'});}async function assertTemplateRoot(_0x124bfb){const _0x244dba=a169_0x3f3ca8,_0x3d3692=a169_0x4c42f7[_0x244dba(0x15f)](_0x124bfb,_0x244dba(0x13f)),_0x3f53db=JSON[_0x244dba(0x160)](await a169_0x181495[_0x244dba(0x11d)](_0x3d3692,'utf8'));if(!_0x3f53db||typeof _0x3f53db!==_0x244dba(0x145))throw new Error(_0x244dba(0x137));}async function readDirectoryIdentity(_0x7da5a){const _0x42794e=a169_0x3f3ca8;try{const _0x561fc0=await a169_0x181495[_0x42794e(0x11c)](_0x7da5a);if(!_0x561fc0[_0x42794e(0x15a)]())return null;return{'dev':_0x561fc0['dev'],'ino':_0x561fc0[_0x42794e(0x12b)]};}catch{return null;}}async function commitStagedProject(_0x572262,_0x2ea669){const _0x281ed4=a169_0x3f3ca8;await a169_0x181495['mkdir'](_0x2ea669);const _0x216b58=await readDirectoryIdentity(_0x2ea669);if(!_0x216b58)throw new Error('Unable\x20to\x20claim\x20the\x20project\x20directory.');try{for(const _0x2687e of await a169_0x181495[_0x281ed4(0x151)](_0x572262)){await a169_0x181495['rename'](a169_0x4c42f7[_0x281ed4(0x15f)](_0x572262,_0x2687e),a169_0x4c42f7[_0x281ed4(0x15f)](_0x2ea669,_0x2687e));}}catch(_0xd77363){const _0x252827=await readDirectoryIdentity(_0x2ea669);_0x252827?.[_0x281ed4(0x148)]===_0x216b58[_0x281ed4(0x148)]&&_0x252827['ino']===_0x216b58['ino']&&await a169_0x181495['rm'](_0x2ea669,{'recursive':!![],'force':!![]});throw _0xd77363;}}function a169_0x16cf(_0x2e528a,_0x5f411a){_0x2e528a=_0x2e528a-0x11b;const _0x1412f0=a169_0x1412();let _0x16cfaf=_0x1412f0[_0x2e528a];return _0x16cfaf;}export async function materializeProjectTemplate(_0x2222b0,_0x43b456){const _0x30af83=a169_0x3f3ca8,_0x6c7f16=a169_0x4c42f7[_0x30af83(0x143)](_0x2222b0),_0x59da8b=a169_0x4c42f7[_0x30af83(0x15d)](_0x6c7f16);try{await a169_0x181495[_0x30af83(0x11c)](_0x6c7f16);throw new Error('Project\x20directory\x20already\x20exists:\x20'+_0x6c7f16);}catch(_0x5ebb3a){if(_0x5ebb3a[_0x30af83(0x163)]!=='ENOENT')throw _0x5ebb3a;}const _0xdd58b4=await a169_0x181495[_0x30af83(0x141)](a169_0x4c42f7[_0x30af83(0x15f)](_0x59da8b,_0x30af83(0x12a))),_0x3437bd=a169_0x4c42f7[_0x30af83(0x15f)](_0xdd58b4,_0x30af83(0x14f)),_0x2ceb82=a169_0x4c42f7['join'](_0xdd58b4,_0x30af83(0x159));try{try{_0x43b456?.(_0x30af83(0x122));const _0x180e78=await fetchTemplateDescriptor();return _0x43b456?.(_0x30af83(0x133)),await downloadArchive(_0x180e78,_0x2ceb82,_0x43b456),_0x43b456?.(_0x30af83(0x12d)),await extractProjectTemplateArchive(_0x2ceb82,_0x3437bd),await assertTemplateRoot(_0x3437bd),await commitStagedProject(_0x3437bd,_0x6c7f16),{'source':_0x30af83(0x12c),'version':_0x180e78[_0x30af83(0x144)]};}catch(_0x54da34){if(_0x54da34[_0x30af83(0x163)]===_0x30af83(0x13d))throw CliErrors[_0x30af83(0x12f)]('Project\x20directory\x20already\x20exists:\x20'+_0x6c7f16,_0x30af83(0x14c));const _0x205ed2=_0x54da34 instanceof Error?_0x54da34[_0x30af83(0x15b)]:String(_0x54da34);throw CliErrors[_0x30af83(0x12f)](_0x30af83(0x139),_0x30af83(0x138)+_0x205ed2);}}finally{await a169_0x181495['rm'](_0xdd58b4,{'recursive':!![],'force':!![]});}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x127d80,_0x54eac0){const _0xad05de=a170_0x3f56,_0x3ef092=_0x127d80();while(!![]){try{const _0x2e3e9b=-parseInt(_0xad05de(0xea))/0x1+-parseInt(_0xad05de(0xec))/0x2+-parseInt(_0xad05de(0xed))/0x3+parseInt(_0xad05de(0xe9))/0x4+-parseInt(_0xad05de(0xe1))/0x5+-parseInt(_0xad05de(0xe2))/0x6*(parseInt(_0xad05de(0xe0))/0x7)+parseInt(_0xad05de(0xdf))/0x8;if(_0x2e3e9b===_0x54eac0)break;else _0x3ef092['push'](_0x3ef092['shift']());}catch(_0x242edd){_0x3ef092['push'](_0x3ef092['shift']());}}}(a170_0x5cd0,0xdbcd2));function a170_0x3f56(_0x7711a4,_0x1b3b8e){_0x7711a4=_0x7711a4-0xdf;const _0x5cd065=a170_0x5cd0();let _0x3f5638=_0x5cd065[_0x7711a4];return _0x3f5638;}import{CliErrors}from'../../../errors.js';function a170_0x5cd0(){const _0x2096b1=['382174SamsbH','trim','3534758JjkirH','715950wTKKGr','\x22\x20is\x20reserved\x20on\x20Windows','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','36585024szWKJy','7bitLLo','1521685sJDVnB','9128334kWlIND','Project\x20name\x20cannot\x20exceed\x20','validation','length','test','Project\x20name\x20\x22','Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.','2164428mJzGAu'];a170_0x5cd0=function(){return _0x2096b1;};return a170_0x5cd0();}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(_0x5e0269){const _0x4ad5f8=a170_0x3f56,_0x12f554=_0x5e0269[_0x4ad5f8(0xeb)]();if(!_0x12f554)return'Project\x20name\x20cannot\x20be\x20empty';if(_0x12f554[_0x4ad5f8(0xe5)]>MAX_PROJECT_NAME_LENGTH)return _0x4ad5f8(0xe3)+MAX_PROJECT_NAME_LENGTH+'\x20characters';if(!PROJECT_NAME_PATTERN['test'](_0x12f554))return _0x4ad5f8(0xef);if(WINDOWS_RESERVED_NAME[_0x4ad5f8(0xe6)](_0x12f554))return _0x4ad5f8(0xe7)+_0x12f554+_0x4ad5f8(0xee);return null;}export function validateProjectName(_0x43b9dd){const _0xdf79db=a170_0x3f56,_0x561db1=_0x43b9dd[_0xdf79db(0xeb)](),_0x51a83f=getProjectNameValidationError(_0x561db1);if(_0x51a83f)throw CliErrors[_0xdf79db(0xe4)](_0x51a83f,_0xdf79db(0xe8));return _0x561db1;}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract a project template ZIP without relying on OS-specific archive tools.
|
|
3
|
+
* Entries are bounded and validated for traversal, symlinks, Windows naming,
|
|
4
|
+
* case-insensitive collisions, and ZIP bombs before they are written.
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractProjectTemplateArchive(zipPath: string, destinationDir: string): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0xb127d2,_0x3a391c){const _0x852657=a171_0x464c,_0x13779b=_0xb127d2();while(!![]){try{const _0x3a6cfe=parseInt(_0x852657(0x153))/0x1+parseInt(_0x852657(0x138))/0x2+parseInt(_0x852657(0x155))/0x3+parseInt(_0x852657(0x141))/0x4*(parseInt(_0x852657(0x12c))/0x5)+parseInt(_0x852657(0x13a))/0x6+parseInt(_0x852657(0x12e))/0x7*(parseInt(_0x852657(0x13c))/0x8)+-parseInt(_0x852657(0x150))/0x9*(parseInt(_0x852657(0x148))/0xa);if(_0x3a6cfe===_0x3a391c)break;else _0x13779b['push'](_0x13779b['shift']());}catch(_0xcf3cae){_0x13779b['push'](_0x13779b['shift']());}}}(a171_0x225e,0x47faa));import{createWriteStream}from'node:fs';function a171_0x225e(){const _0x4a6a14=['get','has','Project\x20template\x20ZIP\x20exceeds\x20','967602oQtcXV','end','3099282WqgKNe','sep','184Giotyy','mkdir','en-US','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','replace','45796Hikgkt','\x20entries.','error','Case-conflicting\x20ZIP\x20entry\x20path:\x20','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','readEntry','fileName','4020ptcdiu','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','Unable\x20to\x20read\x20ZIP\x20entry:\x20','uncompressedSize','startsWith','length','split','add','28917UnCcxx','externalFileAttributes','dirname','172149htZGUE','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','491994hUobeH','join','close','test','openReadStream','entry','30fpxWmM','resolve','55167TZhPyO','toLocaleLowerCase','endsWith','slice','once','catch','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20'];a171_0x225e=function(){return _0x4a6a14;};return a171_0x225e();}import a171_0x57d499 from'node:fs/promises';function a171_0x464c(_0x2df31e,_0x4099f2){_0x2df31e=_0x2df31e-0x128;const _0x225e84=a171_0x225e();let _0x464ce7=_0x225e84[_0x2df31e];return _0x464ce7;}import a171_0x42cb9d from'node:path';import{pipeline}from'node:stream/promises';import a171_0x279d9f 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(_0x2271bc){return new Promise((_0x1dcb8f,_0x563db0)=>{a171_0x279d9f['open'](_0x2271bc,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x1cace3,_0x477699)=>{if(_0x1cace3||!_0x477699){_0x563db0(_0x1cace3||new Error('Unable\x20to\x20open\x20project\x20template\x20archive.'));return;}_0x1dcb8f(_0x477699);});});}function openEntryStream(_0x2b7691,_0x40543c){return new Promise((_0x34c96b,_0x2227e4)=>{const _0x3bed42=a171_0x464c;_0x2b7691[_0x3bed42(0x12a)](_0x40543c,(_0x18e93a,_0x53a65b)=>{const _0x204c29=_0x3bed42;if(_0x18e93a||!_0x53a65b){_0x2227e4(_0x18e93a||new Error(_0x204c29(0x14a)+_0x40543c[_0x204c29(0x147)]));return;}_0x34c96b(_0x53a65b);});});}function validateEntryPath(_0x39aac3){const _0xdd3342=a171_0x464c,_0x478888=_0x39aac3[_0xdd3342(0x140)](/\\/g,'/'),_0x186931=_0x478888[_0xdd3342(0x130)]('/'),_0x2425c3=_0x186931?_0x478888[_0xdd3342(0x131)](0x0,-0x1):_0x478888;if(!_0x2425c3||_0x478888[_0xdd3342(0x14c)]('/')||/^[A-Za-z]:\//[_0xdd3342(0x129)](_0x478888))throw new Error(_0xdd3342(0x134)+_0x39aac3);const _0x5cf091=_0x2425c3[_0xdd3342(0x14e)]('/');for(const _0x54e32f of _0x5cf091){if(!_0x54e32f||_0x54e32f==='.'||_0x54e32f==='..'||_0x54e32f[_0xdd3342(0x130)]('.')||_0x54e32f[_0xdd3342(0x130)]('\x20')||WINDOWS_INVALID_CHAR[_0xdd3342(0x129)](_0x54e32f)||WINDOWS_RESERVED_NAME['test'](_0x54e32f))throw new Error(_0xdd3342(0x145)+_0x39aac3);}return{'relativePath':_0x5cf091[_0xdd3342(0x156)](a171_0x42cb9d['sep']),'directory':_0x186931};}function isSymbolicLink(_0x5bb3ab){const _0x11438b=a171_0x464c,_0x1849c9=_0x5bb3ab[_0x11438b(0x151)]>>>0x10&0xffff;return(_0x1849c9&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x933b2a,_0x2788bd){const _0x3d6a1d=a171_0x464c,_0x57ec2b=await openZip(_0x933b2a),_0x365a1e=a171_0x42cb9d[_0x3d6a1d(0x12d)](_0x2788bd),_0x22af42=new Set(),_0x19f9b9=new Map();let _0x46abf1=0x0,_0x1a04b8=0x0;await a171_0x57d499[_0x3d6a1d(0x13d)](_0x365a1e,{'recursive':!![]}),await new Promise((_0x1c504b,_0x2c4707)=>{const _0x3e4d66=_0x3d6a1d;let _0x2b9221=![];const _0xe85364=_0x4a3063=>{const _0x57527c=a171_0x464c;if(_0x2b9221)return;_0x2b9221=!![],_0x57ec2b[_0x57527c(0x128)](),_0x2c4707(_0x4a3063 instanceof Error?_0x4a3063:new Error(String(_0x4a3063)));};_0x57ec2b[_0x3e4d66(0x132)](_0x3e4d66(0x143),_0xe85364),_0x57ec2b['once'](_0x3e4d66(0x139),()=>{if(_0x2b9221)return;_0x2b9221=!![],_0x1c504b();}),_0x57ec2b['on'](_0x3e4d66(0x12b),_0x3e7854=>{const _0x49f616=_0x3e4d66;void(async()=>{const _0x2d5907=a171_0x464c;_0x46abf1+=0x1,_0x1a04b8+=_0x3e7854[_0x2d5907(0x14b)];if(_0x46abf1>MAX_ENTRY_COUNT)throw new Error(_0x2d5907(0x137)+MAX_ENTRY_COUNT+_0x2d5907(0x142));if(_0x1a04b8>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x2d5907(0x13f));if(_0x3e7854['isEncrypted']())throw new Error(_0x2d5907(0x154)+_0x3e7854[_0x2d5907(0x147)]);if(isSymbolicLink(_0x3e7854))throw new Error(_0x2d5907(0x149)+_0x3e7854['fileName']);const {relativePath:_0x2c7231,directory:_0x324119}=validateEntryPath(_0x3e7854[_0x2d5907(0x147)]),_0xac8c9c=_0x2c7231[_0x2d5907(0x14e)](a171_0x42cb9d[_0x2d5907(0x13b)]);for(let _0x1e80c2=0x1;_0x1e80c2<=_0xac8c9c[_0x2d5907(0x14d)];_0x1e80c2+=0x1){const _0x4bc1f6=_0xac8c9c[_0x2d5907(0x131)](0x0,_0x1e80c2)[_0x2d5907(0x156)](a171_0x42cb9d[_0x2d5907(0x13b)]),_0x50a34d=_0x4bc1f6[_0x2d5907(0x12f)](_0x2d5907(0x13e)),_0x5698bd=_0x19f9b9[_0x2d5907(0x135)](_0x50a34d);if(_0x5698bd&&_0x5698bd!==_0x4bc1f6)throw new Error(_0x2d5907(0x144)+_0x3e7854[_0x2d5907(0x147)]);_0x19f9b9['set'](_0x50a34d,_0x4bc1f6);}const _0x38d0c9=_0x2c7231[_0x2d5907(0x12f)]('en-US');if(_0x22af42[_0x2d5907(0x136)](_0x38d0c9))throw new Error('Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20'+_0x3e7854['fileName']);_0x22af42[_0x2d5907(0x14f)](_0x38d0c9);const _0x17d866=a171_0x42cb9d['resolve'](_0x365a1e,_0x2c7231);if(_0x17d866!==_0x365a1e&&!_0x17d866['startsWith'](''+_0x365a1e+a171_0x42cb9d[_0x2d5907(0x13b)]))throw new Error('ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20'+_0x3e7854[_0x2d5907(0x147)]);if(_0x324119)await a171_0x57d499[_0x2d5907(0x13d)](_0x17d866,{'recursive':!![]});else{await a171_0x57d499[_0x2d5907(0x13d)](a171_0x42cb9d[_0x2d5907(0x152)](_0x17d866),{'recursive':!![]});const _0x31f9cb=await openEntryStream(_0x57ec2b,_0x3e7854);await pipeline(_0x31f9cb,createWriteStream(_0x17d866,{'flags':'wx','mode':0x1a4}));}_0x57ec2b[_0x2d5907(0x146)]();})()[_0x49f616(0x133)](_0xe85364);}),_0x57ec2b['readEntry']();});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a172_0x3245f0=a172_0x28a5;(function(_0x2c1453,_0x4cc18b){const _0x423e0f=a172_0x28a5,_0x98b917=_0x2c1453();while(!![]){try{const _0x306d8b=-parseInt(_0x423e0f(0xfd))/0x1+-parseInt(_0x423e0f(0x102))/0x2*(-parseInt(_0x423e0f(0xff))/0x3)+parseInt(_0x423e0f(0xf8))/0x4+parseInt(_0x423e0f(0xf9))/0x5+-parseInt(_0x423e0f(0x101))/0x6*(parseInt(_0x423e0f(0x103))/0x7)+-parseInt(_0x423e0f(0xfa))/0x8+-parseInt(_0x423e0f(0xfb))/0x9;if(_0x306d8b===_0x4cc18b)break;else _0x98b917['push'](_0x98b917['shift']());}catch(_0x2b811f){_0x98b917['push'](_0x98b917['shift']());}}}(a172_0x3e00,0x9dc8a));function a172_0x3e00(){const _0x52bf0e=['497TsKBPa','3891368scbFIO','2656775NiqBbw','4617328CGoySD','2676780JWvulU','dirname','349080syAQVc','resolve','7149RWDNEH','../../../../','8562pUSRUu','392acjxVc'];a172_0x3e00=function(){return _0x52bf0e;};return a172_0x3e00();}function a172_0x28a5(_0x11bf2b,_0x5de5f2){_0x11bf2b=_0x11bf2b-0xf8;const _0x3e0024=a172_0x3e00();let _0x28a53b=_0x3e0024[_0x11bf2b];return _0x28a53b;}import a172_0x344db2 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a172_0x344db2[a172_0x3245f0(0xfc)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x37591e=a172_0x3245f0;return a172_0x344db2[_0x37591e(0xfe)](__dirname,_0x37591e(0x100));}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ProjectTemplateProgress } from "../../../commands/project/create/materialize-project-template.js";
|
|
2
|
+
export declare function copyProjectTemplate(projectCode: string, onProgress?: ProjectTemplateProgress): Promise<string>;
|