@fernir2/saas-kit-cli 0.1.39 → 0.1.41-1096
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/base-repo/app-constants/alias-symbols.js +2 -2
- package/base-repo/app-constants/aliases.js +3 -1
- package/base-repo/app-constants/app-packages-names.js +4 -0
- package/base-repo/app-constants/command-names.js +4 -0
- package/base-repo/app-constants/internal-system-constants.js +8 -0
- package/base-repo/app-constants/project-paths.js +6 -3
- package/base-repo/constants/basic-types.js +4 -0
- package/base-repo/constants/ci-constants.js +7 -0
- package/base-repo/constants/http-constants.js +4 -0
- package/base-repo/constants/http-methods.js +6 -0
- package/base-repo/constants/internal-cli-constants.js +6 -0
- package/base-repo/constants/internal-common-strings.js +4 -0
- package/base-repo/constants/internal-extensions.js +6 -0
- package/base-repo/constants/packages.js +1 -1
- package/base-repo/constants/push-statuses.js +4 -0
- package/base-repo/constants/strings-constants.js +4 -0
- package/base-repo/constants/type-string-values.js +4 -0
- package/base-repo/process.js +4 -0
- package/cli/.env.example +8 -61
- package/cli/.prettierignore +15 -0
- package/cli/.prettierrc.json +8 -0
- package/cli/README.md +3 -3
- package/cli/bin/create.ts +635 -450
- package/cli/configs/drizzle-cli-config.ts +16 -15
- package/cli/configs/next-cli-config.ts +44 -78
- package/cli/configs/playwright-cli-config.ts +45 -35
- package/cli/configs/tsconfig.cli.json +35 -35
- package/cli/configs/tsconfig.server.json +13 -13
- package/cli/drizzle.config.ts +6 -6
- package/cli/next.config.js +5 -3
- package/cli/npm-commands/gen-meta.ts +9 -3
- package/cli/npm-commands/gen-schema.ts +3 -3
- package/cli/npm-commands/migrate-db.ts +17 -15
- package/cli/npm-commands/seed-db.ts +17 -15
- package/cli/package-template.json +54 -60
- package/cli/playwright.config.ts +6 -6
- package/cli/postcss.config.mjs +7 -7
- package/cli/public/handle.svg +23 -0
- package/cli/public/images/login-image-dark.webp +0 -0
- package/cli/public/images/login-image.webp +0 -0
- package/cli/public/images/logo.webp +0 -0
- package/cli/public/images/no-image.webp +0 -0
- package/cli/public/images/profile.webp +0 -0
- package/cli/public/images/search-not-found-result.webp +0 -0
- package/cli/public/logo.svg +1 -0
- package/cli/server.ts +48 -40
- package/cli/src/app/api/v1/(f)/[resourceName]/[id]/route.ts +18 -11
- package/cli/src/app/api/v1/(f)/[resourceName]/route.ts +23 -14
- package/cli/src/app/api/v1/(f)/[resourceName]/upsert/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/blob/route.ts +14 -7
- package/cli/src/app/api/v1/(f)/log/route.ts +14 -7
- package/cli/src/app/api/v1/(f)/markdown/route.ts +6 -0
- package/cli/src/app/api/v1/(f)/other-user/[id]/route.ts +23 -14
- package/cli/src/app/api/v1/(f)/other-user/route.ts +14 -7
- package/cli/src/app/api/v1/(f)/password/forgot-password/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/password/reset-password/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/payment/method/route.ts +9 -4
- package/cli/src/app/api/v1/(f)/payment/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/payment/verify-fail/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/payment/verify-success/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/search-result/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/searchable-resources/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/sign-in/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/sign-out/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/sign-up/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/subscription/cancel/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/subscription/create/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/subscription/update/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/uimeta/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/uimetas/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/user-feature/isenabled/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/user-permission/route.ts +6 -3
- package/cli/src/app/api/v1/(f)/visible-workspace/route.ts +10 -5
- package/cli/src/app/api/v1/(f)/workspace/change/route.ts +10 -5
- package/cli/src/app/f/(not-signed-in)/edit-password/page.tsx +8 -8
- package/cli/src/app/f/(not-signed-in)/forgot-password/page.tsx +13 -13
- package/cli/src/app/f/(not-signed-in)/reset-password/page.tsx +11 -11
- package/cli/src/app/f/(not-signed-in)/sign-in/microsoft/page.tsx +8 -8
- package/cli/src/app/f/(not-signed-in)/sign-in/page.tsx +13 -13
- package/cli/src/app/f/(not-signed-in)/sign-up/page.tsx +13 -13
- package/cli/src/app/f/(signed-in)/dashboard/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/dynamiclayout/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/edituser/[id]/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/edituser/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/layout.tsx +5 -5
- package/cli/src/app/f/(signed-in)/payment-plans/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/statusboard/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/userlist/page.tsx +8 -8
- package/cli/src/app/f/(signed-in)/view/page.tsx +23 -9
- package/cli/src/app/f/api-docs/page.tsx +15 -15
- package/cli/src/app/globals.css +1 -1
- package/cli/src/app/http-wrappers.ts +23 -0
- package/cli/src/app/init-saas-kit.ts +12 -0
- package/cli/src/app/layout.tsx +43 -37
- package/cli/src/app/page.tsx +9 -9
- package/cli/src/app/styles/common.css +75 -71
- package/cli/src/app/styles/rich-text-editor.css +130 -130
- package/cli/templates/.env-template +8 -0
- package/cli/templates/gitignore-template +54 -0
- package/cli/test/custom-test.ts +20 -0
- package/cli/test/global-setup.ts +7 -3
- package/cli/test/global-teardown.ts +7 -0
- package/cli/tsconfig.json +15 -15
- package/cli/tsconfig.lint.json +5 -0
- package/cli/tsconfig.server.json +4 -14
- package/fd-toolbox/api/api-client.js +3 -3
- package/fd-toolbox/api/api-path-names.js +4 -1
- package/fd-toolbox/api/api-paths.js +2 -1
- package/fd-toolbox/api/base-api.js +5 -4
- package/fd-toolbox/auth/{login-states.js → internal-login-states.js} +3 -3
- package/fd-toolbox/auth/session-storage.js +1 -1
- package/fd-toolbox/auth/tokens.js +1 -1
- package/fd-toolbox/constants/common-user-fields.js +7 -0
- package/fd-toolbox/constants/constants.js +2 -2
- package/fd-toolbox/constants/environment-constants.js +4 -1
- package/fd-toolbox/constants/header-names.js +1 -1
- package/fd-toolbox/constants/meta-query-params.js +4 -1
- package/fd-toolbox/constants/odata-query-params.js +7 -0
- package/fd-toolbox/constants/public-files.js +5 -3
- package/fd-toolbox/constants/resource-folders.js +4 -0
- package/fd-toolbox/constants/toolbox-error-messages-constants.js +4 -0
- package/fd-toolbox/enums/enums.js +5 -2
- package/fd-toolbox/errors/error-handler.js +2 -2
- package/fd-toolbox/errors/error-statuses.js +4 -1
- package/fd-toolbox/errors/errors.js +1 -1
- package/fd-toolbox/errors/problem-details.js +4 -2
- package/fd-toolbox/functions/value-checking-functions.js +5 -3
- package/fd-toolbox/http/url/urls.js +4 -3
- package/fd-toolbox/infra/env-config.js +2 -2
- package/fd-toolbox/infra/env-functions.js +6 -4
- package/fd-toolbox/infra/env-schema.js +2 -4
- package/fd-toolbox/infra/toolbox-env-setting-keys.js +1 -1
- package/fd-toolbox/lib/environments.js +4 -3
- package/fd-toolbox/lib/utils.js +5 -2
- package/fd-toolbox/local-storage/local-storage.js +1 -1
- package/fd-toolbox/logging/loggers.js +2 -2
- package/fd-toolbox/notifications.js +2 -2
- package/fd-toolbox/odata/odata-filter-constants.js +4 -0
- package/fd-toolbox/odata/odata-formatting/odata-filters.js +9 -0
- package/fd-toolbox/odata/odata.js +12 -0
- package/fd-toolbox/paths/paths-names.js +1 -1
- package/fd-toolbox/redirect/redirect-functions.js +8 -0
- package/fd-toolbox/resources/resource-names.js +1 -1
- package/fd-toolbox/routing/login-routers.js +2 -1
- package/fd-toolbox/routing/paths.js +1 -1
- package/fd-toolbox/routing/routers.js +9 -0
- package/fd-toolbox/routing/routes.js +3 -2
- package/fd-toolbox/server/collections/single-funcs.js +8 -0
- package/fd-toolbox/server/constants/api-routes-constants.js +4 -0
- package/fd-toolbox/server/errors/error-dtos.js +4 -0
- package/fd-toolbox/server/framework/index.js +8 -0
- package/fd-toolbox/server/logging/latest-logs-store.js +6 -0
- package/fd-toolbox/server/logging/log-dtos.js +6 -0
- package/fd-toolbox/server/logging/logger.js +9 -0
- package/fd-toolbox/server/web/response-messages.js +4 -0
- package/fd-toolbox/strings/strings.js +2 -3
- package/fd-toolbox/types/ensure-type.js +6 -2
- package/fd-toolbox/url/urls.js +4 -0
- package/fd-toolbox-core/constants/meta-constants.js +4 -2
- package/fd-toolbox-core/core/name-of.js +1 -1
- package/fd-toolbox-core/types/resource-with-id.js +3 -1
- package/git/constants/git-constants.js +6 -0
- package/level2/cli/bin/index.js +2 -1
- package/level2/cli/create/bin/create.js +19 -10
- package/level2/npm-commands/build-npm/cli-contents.js +1 -1
- package/level2/npm-commands/build-npm/paths.js +6 -0
- package/package.json +48 -55
- package/base-repo/app-constants/alias-symbols.cjs.js +0 -6
- package/base-repo/app-constants/aliases.cjs.js +0 -8
- package/base-repo/app-constants/project-paths.cjs.js +0 -17
- package/base-repo/constants/create-app-constants.cjs.js +0 -9
- package/base-repo/constants/packages.cjs.js +0 -6
- package/base-repo/constants/packages.cjs2.js +0 -6
- package/base-repo/constants/packages2.js +0 -4
- package/cli/public/images/00000000-0000-0000-0000-000000000000.webp +0 -0
- package/cli/public/images/login-image-dark.jpg +0 -0
- package/cli/public/images/login-image.jpg +0 -0
- package/cli/public/images/no-image.png +0 -0
- package/cli/public/images/profile.png +0 -0
- package/cli/public/images/search-not-found-result.png +0 -0
- package/cli/public/images/toolbar-logo.png +0 -0
- package/cli/public/images/users/00000000-0000-0000-0000-000000000000.webp +0 -0
- package/cli/src/app/api/v1/(f)/preload/route.ts +0 -3
- package/cli/src/app/f/(signed-in)/lm/page.tsx +0 -8
- package/cli/src/app/f/(signed-in)/preload/page.tsx +0 -8
- package/cli/src/app/f/test/feed/page.tsx +0 -8
- package/cli/src/app/f/test/file-upload/page.tsx +0 -8
- package/cli/src/app/f/test/layout.tsx +0 -5
- package/cli/src/app/f/test/page.tsx +0 -8
- package/fd-toolbox/api/api-client.cjs.js +0 -19
- package/fd-toolbox/api/api-path-names.cjs.js +0 -9
- package/fd-toolbox/api/api-paths.cjs.js +0 -9
- package/fd-toolbox/api/base-api.cjs.js +0 -22
- package/fd-toolbox/auth/login-states.cjs.js +0 -18
- package/fd-toolbox/auth/session-storage.cjs.js +0 -12
- package/fd-toolbox/auth/tokens.cjs.js +0 -11
- package/fd-toolbox/constants/api-constants.cjs.js +0 -26
- package/fd-toolbox/constants/api-constants.js +0 -4
- package/fd-toolbox/constants/constants.cjs.js +0 -13
- package/fd-toolbox/constants/environment-constants.cjs.js +0 -7
- package/fd-toolbox/constants/extensions.cjs.js +0 -6
- package/fd-toolbox/constants/extensions.js +0 -4
- package/fd-toolbox/constants/header-names.cjs.js +0 -7
- package/fd-toolbox/constants/http-status-codes.cjs.js +0 -6
- package/fd-toolbox/constants/meta-query-params.cjs.js +0 -6
- package/fd-toolbox/constants/public-files.cjs.js +0 -14
- package/fd-toolbox/constants/representations.cjs.js +0 -6
- package/fd-toolbox/constants/representations.js +0 -4
- package/fd-toolbox/enums/enums.cjs.js +0 -26
- package/fd-toolbox/errors/error-handler.cjs.js +0 -10
- package/fd-toolbox/errors/error-statuses.cjs.js +0 -6
- package/fd-toolbox/errors/errors.cjs.js +0 -6
- package/fd-toolbox/errors/problem-details.cjs.js +0 -8
- package/fd-toolbox/functions/value-checking-functions.cjs.js +0 -10
- package/fd-toolbox/http/http-constants.cjs.js +0 -7
- package/fd-toolbox/http/http-constants.js +0 -4
- package/fd-toolbox/http/url/urls.cjs.js +0 -9
- package/fd-toolbox/infra/env-config.cjs.js +0 -8
- package/fd-toolbox/infra/env-functions.cjs.js +0 -16
- package/fd-toolbox/infra/env-schema.cjs.js +0 -12
- package/fd-toolbox/infra/env-setting-types.cjs.js +0 -6
- package/fd-toolbox/infra/env-setting-types.js +0 -4
- package/fd-toolbox/infra/env-store.cjs.js +0 -9
- package/fd-toolbox/infra/env-store.js +0 -7
- package/fd-toolbox/infra/toolbox-env-setting-keys.cjs.js +0 -6
- package/fd-toolbox/lib/environments.cjs.js +0 -25
- package/fd-toolbox/lib/utils.cjs.js +0 -29
- package/fd-toolbox/local-storage/local-storage.cjs.js +0 -12
- package/fd-toolbox/logging/loggers.cjs.js +0 -16
- package/fd-toolbox/logging/logging-constants.cjs.js +0 -6
- package/fd-toolbox/logging/logging-constants.js +0 -4
- package/fd-toolbox/notifications.cjs.js +0 -14
- package/fd-toolbox/odata/odata-constants.cjs.js +0 -11
- package/fd-toolbox/odata/odata-constants.js +0 -4
- package/fd-toolbox/odata/odata-enums.cjs.js +0 -8
- package/fd-toolbox/odata/odatas.cjs.js +0 -11
- package/fd-toolbox/odata/odatas.js +0 -9
- package/fd-toolbox/odata/services/odata-filters.cjs.js +0 -11
- package/fd-toolbox/odata/services/odata-filters.js +0 -9
- package/fd-toolbox/paths/paths-names.cjs.js +0 -9
- package/fd-toolbox/resources/resource-names.cjs.js +0 -6
- package/fd-toolbox/routing/login-routers.cjs.js +0 -10
- package/fd-toolbox/routing/paths.cjs.js +0 -6
- package/fd-toolbox/routing/routes.cjs.js +0 -14
- package/fd-toolbox/strings/strings-constants.cjs.js +0 -7
- package/fd-toolbox/strings/strings-constants.js +0 -4
- package/fd-toolbox/strings/strings.cjs.js +0 -10
- package/fd-toolbox/types/ensure-type.cjs.js +0 -22
- package/fd-toolbox-core/constants/meta-constants.cjs.js +0 -7
- package/fd-toolbox-core/constants/promises.cjs.js +0 -6
- package/fd-toolbox-core/core/name-of.cjs.js +0 -8
- package/fd-toolbox-core/enums/log-severities.cjs.js +0 -6
- package/fd-toolbox-core/types/resource-with-id.cjs.js +0 -9
- package/level2/cli/bin/index.cjs.js +0 -8
- package/level2/cli/create/bin/create.cjs.js +0 -42
- package/level2/npm-commands/build-npm/cli-contents.cjs.js +0 -9
- package/level2/npm-commands/build-npm/path.cjs.js +0 -13
- package/level2/npm-commands/build-npm/path.js +0 -6
- /package/cli/public/images/{companies → demo/companies}/00000000-0000-0000-0000-000000000000.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/004a196f-f9a7-49fc-9e05-606fffd0613c.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/497b26a6-3e91-4b27-8c24-f3b145fc6c7f.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/6cead29b-2572-4283-add6-f407b39d7135.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/71efdb77-4ecb-45e6-bc83-0fdff835c2e7.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/773602c8-a417-4afc-adb0-bb6856ac2970.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/9d09881a-cf60-438d-9edf-10f5864d4468.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/a1b2c3d4-e5f6-7890-1234-56789abcdef0.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/b04d7c5e-18de-4f44-b923-5bfb28bb33bb.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/c75c22fc-d295-472e-bdae-dbb8eb09cf18.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/cdf3efb4-33a2-485e-8d95-e0ab5a4cb6a5.webp +0 -0
- /package/cli/public/images/{companies → demo/companies}/d6fe4c6a-ecdb-40fc-a8e6-2044ef2b82d4.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/159e4c7a-ff5f-4162-8237-acec3ca8a759.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/65e07208-6b1f-4a59-b5e3-2f80f5741b18.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/6d1c5410-ef5b-4d37-8b8d-4ab8cfc87785.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/754c77d8-eefb-4a90-b07b-ed00980c88b4.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/9fd23cd9-9b94-4bb8-bb73-d315b93b8a5c.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/b2f746d1-6b3c-4c47-8e07-f73927c167cb.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/b515cb46-eab4-4862-9e8e-c2f5f217ae79.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/cf2eae72-e5ab-4d95-8f08-b6571b44f8eb.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/ec0e0285-22d9-48d4-b4b3-96388c37c807.webp +0 -0
- /package/cli/public/images/{contacts → demo/contacts}/ecb1a0f4-d244-4136-badf-c2bc72e3b678.webp +0 -0
- /package/cli/public/images/{users → demo/users}/02d1230f-5bfe-46b4-8ce1-d10f4aa918a7.webp +0 -0
- /package/cli/public/images/{users → demo/users}/166c5e4a-696f-4bf5-ab48-dbbb5e90d526.webp +0 -0
- /package/cli/public/images/{users → demo/users}/175a3f0c-692c-4503-87eb-ff95d6535e16.webp +0 -0
- /package/cli/public/images/{users → demo/users}/8398ee85-7546-4710-b628-44c98e4ba03a.webp +0 -0
- /package/cli/public/images/{users → demo/users}/979f8933-71b1-4df8-b691-566a901d3c76.webp +0 -0
- /package/cli/public/images/{users → demo/users}/fbe37132-31bc-4fc9-9bfb-aac7a1b61a7f.webp +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { logWarning } from '../logging/logger.js';
|
|
3
|
+
import { toolboxErrorMessages } from '../../constants/toolbox-error-messages-constants.js';
|
|
4
|
+
import { createError } from '../../errors/errors.js';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x2aa144,_0x3d42f4)=>__defProp(_0x2aa144,'name',{'value':_0x3d42f4,'configurable':!![]});function singleWithWarning(_0xfcfc33){if(_0xfcfc33['length']===-0x73+0x245+0x1*-0x1d2)throw createError(toolboxErrorMessages['emptyArray']);const _0x3f64e2=_0xfcfc33[0x17*0x25+0x2f0+-0x643];if(_0xfcfc33['length']===-0x2323+0x3*0x329+0x19a9)return _0x3f64e2;if(_0xfcfc33['length']>-0x9c3*0x2+-0x3a*-0x6a+-0x47d)logWarning(getCollectionElementsMessage(_0xfcfc33['length']));return _0x3f64e2;}__name(singleWithWarning,'singleWithWarning');function singleOrUndefinedWithWarning(_0x29b83b){if(_0x29b83b['length']===-0x80f+0x10b7+-0x8a8)return void(-0xdb5+-0xa*0x127+-0x193b*-0x1);const _0x197fa4=_0x29b83b[0x59*-0x29+0x1450+-0x60f*0x1];if(_0x29b83b['length']===-0xa0b+0xdd6+-0x3ca)return _0x197fa4;if(_0x29b83b['length']>0x194f+-0xdf6+0x108*-0xb)logWarning(getCollectionElementsMessage(_0x29b83b['length']));return _0x197fa4;}__name(singleOrUndefinedWithWarning,'singleOrUndefinedWithWarning');function getSingleOrEmpty(_0xc7bc34){let _0x157118;if(_0xc7bc34['length']===0x1f6*0x3+-0x574*0x5+0x4b*0x49)_0x157118=_0xc7bc34[-0xca8*-0x1+0x1eb*0x1+-0x7*0x215];if(_0xc7bc34['length']>0xcd+0x1321+0x13ed*-0x1)throw createError(getCollectionElementsMessage(_0xc7bc34['length']));return _0x157118;}__name(getSingleOrEmpty,'getSingleOrEmpty');function singleOrUndefined(_0x55696d,_0xa21917=()=>!![]){const _0x109c42=_0x55696d['filter'](_0xa21917);if(_0x109c42['length']>-0xbef+0xc7*0x1+0xb29)throw createError(getCollectionElementsMessage(_0x109c42['length']));return _0x109c42['length']===-0xba*-0x1e+0x1b8*-0x16+0x1005?_0x109c42[-0xb50+-0x40f+-0xf5f*-0x1]:void(-0xacf*0x3+-0x1*0x8c1+-0xfb*-0x2a);}__name(singleOrUndefined,'singleOrUndefined');async function singleAsync(_0x3a90d8){const _0x18d020=await _0x3a90d8,_0x2b9593=_0x18d020[-0x22d5+0xe79*-0x2+0x1*0x3fc7];if(_0x18d020['length']>-0x255f+-0x1404+-0x3964*-0x1)logWarning(getCollectionElementsMessage(_0x18d020['length']));return _0x2b9593;}__name(singleAsync,'singleAsync');async function singleOrUndefinedAsync(_0x28f74a,_0x5d51cb=()=>!![]){const _0x2f3d2b=await _0x28f74a,_0x3289c2=_0x2f3d2b['filter'](_0x5d51cb),_0x2c0e71=firstOrUndefined(_0x3289c2);if(_0x3289c2['length']===-0x2b+0x6*-0x4ac+0x1c34)return _0x2c0e71;else {if(_0x3289c2['length']>0x24c2+0x1139+0x62*-0x8d)throw createError(getCollectionElementsMessage(_0x3289c2['length']));}return _0x2c0e71;}__name(singleOrUndefinedAsync,'singleOrUndefinedAsync');function first(_0x582357){if(_0x582357['length']===-0x171f+0x55b*0x3+-0x56*-0x15)throw createError(toolboxErrorMessages['emptyArray']);return _0x582357[0x229*0xd+-0xe61*-0x2+0x1*-0x38d7];}__name(first,'first');function firstOrUndefined(_0x1ce5d2){return _0x1ce5d2[0x8c1*0x1+0x39f+-0x9*0x160];}__name(firstOrUndefined,'firstOrUndefined');function getCollectionElementsMessage(_0x2111fa){return 'Collection\x20had\x20'+_0x2111fa+'\x20elements,\x20expected\x20one';}__name(getCollectionElementsMessage,'getCollectionElementsMessage');
|
|
7
|
+
|
|
8
|
+
export { first, firstOrUndefined, getSingleOrEmpty, singleAsync, singleOrUndefined, singleOrUndefinedAsync, singleOrUndefinedWithWarning, singleWithWarning };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x48e45d,_0x351578)=>__defProp(_0x48e45d,'name',{'value':_0x351578,'configurable':!![]});function getErrorDto(_0x494b26){const _0x38d7b1={'errorMessage':_0x494b26['message'],'stackTrace':_0x494b26['stack'],..._0x494b26['cause']instanceof Error&&{'innerError':getErrorDto(_0x494b26['cause'])}};return _0x38d7b1;}__name(getErrorDto,'getErrorDto');
|
|
3
|
+
|
|
4
|
+
export { getErrorDto };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { ApiError as ApiError$1 } from 'next/dist/server/api-utils/index.js';
|
|
3
|
+
import { isDynamicServerError } from 'next/dist/client/components/hooks-server-context.js';
|
|
4
|
+
import { cookies, headers } from 'next/headers.js';
|
|
5
|
+
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x2db63e,_0x1f6f6b)=>__defProp(_0x2db63e,'name',{'value':_0x1f6f6b,'configurable':!![]});class ApiError extends ApiError$1{static{__name(this,'ApiError');}}const fdIsDynamicServerError=isDynamicServerError;function fdCookies(){return cookies();}__name(fdCookies,'fdCookies');function fdHeaders(){return headers();}__name(fdHeaders,'fdHeaders');function fdRedirect(_0x38b40a){return require('next/navigation.js').redirect(_0x38b40a);}__name(fdRedirect,'fdRedirect');
|
|
7
|
+
|
|
8
|
+
export { ApiError, fdCookies, fdHeaders, fdIsDynamicServerError, fdRedirect };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { isObject } from '../../types/ensure-type.js';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x256451,_0x171c99)=>__defProp(_0x256451,'name',{'value':_0x171c99,'configurable':!![]});const logLen=-0x10b4*0x2+-0x1cc7+0x3ef7;const latestLogs=[];function addLog(_0x301005){checkLength(_0x301005),latestLogs['push'](_0x301005),latestLogs['length']>0x3bb+0x1*0x2ef+-0x92*0xb&&latestLogs['splice'](0xaf*-0x3+-0x1*-0x11+-0xfe*-0x2,0x31*0x87+0x44a+0x1def*-0x1);}__name(addLog,'addLog');function clearLatestLogs(){latestLogs['splice'](0xe9f*-0x1+0xe80+0x1f,latestLogs['length']);}__name(clearLatestLogs,'clearLatestLogs');function getLatestLogs(){return latestLogs;}__name(getLatestLogs,'getLatestLogs');function checkLength(_0x13eee7){if(!isObject(_0x13eee7['message'])&&_0x13eee7['message']['length']>logLen)_0x13eee7['message']=_0x13eee7['message']['substring'](0x2230+-0x95e*0x3+0x26*-0x29,logLen);}__name(checkLength,'checkLength');
|
|
5
|
+
|
|
6
|
+
export { addLog, clearLatestLogs, getLatestLogs, logLen };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { getErrorDto } from '../errors/error-dtos.js';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x305252,_0x2b20c9)=>__defProp(_0x305252,'name',{'value':_0x2b20c9,'configurable':!![]});function getLogDto(_0x369813,_0xc79c97,_0xcf4034,_0xba4fe1){let _0x30b1fb={'severity':_0xc79c97,'message':_0x369813,'userId':_0xba4fe1};if(_0xcf4034 instanceof Error)_0x30b1fb={'severity':_0xc79c97,'message':_0x369813,'errorMessage':_0xcf4034?.['message'],'userId':_0xba4fe1,'stackTrace':_0xcf4034?.['stack'],'error':_0xcf4034&&getErrorDto(_0xcf4034)};return _0x30b1fb;}__name(getLogDto,'getLogDto');
|
|
5
|
+
|
|
6
|
+
export { getLogDto };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { getLogDto } from './log-dtos.js';
|
|
3
|
+
import { logSeverities } from '../../../fd-toolbox-core/enums/log-severities.js';
|
|
4
|
+
import { addLog } from './latest-logs-store.js';
|
|
5
|
+
import { isProdOrDemo } from '../../lib/environments.js';
|
|
6
|
+
|
|
7
|
+
var __defProp=Object['defineProperty'],__name=(_0x16d161,_0x3166d2)=>__defProp(_0x16d161,'name',{'value':_0x3166d2,'configurable':!![]});function logInfo(_0x24e284){log(getLogDto(_0x24e284,logSeverities['info']));}__name(logInfo,'logInfo');function logDebug(_0x2fd308){log(getLogDto(_0x2fd308,logSeverities['debug']));}__name(logDebug,'logDebug');function logWarning(_0x3a8598){log(getLogDto(_0x3a8598,logSeverities['warning']));}__name(logWarning,'logWarning');function logError(_0x5c4900,_0x2bf335){log(getLogDto(_0x5c4900,logSeverities['error'],_0x2bf335),_0x2bf335);}__name(logError,'logError');function logNextJsMessage(_0x56f706,_0x3e4a98,_0x81fd01){if(isProdOrDemo())log(getLogDto({'method':_0x56f706,'url':_0x3e4a98,'status':_0x81fd01},logSeverities['info']));}__name(logNextJsMessage,'logNextJsMessage');function log(_0x26d5d7,_0x5590b3){addLog(_0x26d5d7);const _0x406cb0=JSON['stringify'](_0x26d5d7);switch(_0x26d5d7['severity']){case logSeverities['warning']:console['warn'](_0x406cb0);break;case logSeverities['error']:console['error'](_0x5590b3??'',_0x406cb0);break;case logSeverities['debug']:console['debug'](_0x406cb0);break;case logSeverities['info']:console['info'](_0x406cb0);break;default:}}__name(log,'log');
|
|
8
|
+
|
|
9
|
+
export { log, logDebug, logError, logInfo, logNextJsMessage, logWarning };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const responseMessages={'unhandledError':'Unhandled\x20error','routingError':'Routing\x20error','unauthorizedError':'Unauthorized:\x20Authentication\x20required','badRequest':'Bad\x20Request:\x20Missing\x20required\x20data','accessDenied':'Access\x20Denied','notFoundError':'Not\x20found','internalServerError':'Internal\x20Server\x20Error','missingFileName':'Missing\x20file\x20name','methodNotAllowed':'Method\x20Not\x20Allowed','uploadSuccess':'File\x20uploaded\x20successfully','apiNotAllowedOnProduction':'This\x20API\x20is\x20not\x20allowed\x20on\x20production'};
|
|
3
|
+
|
|
4
|
+
export { responseMessages };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
import { shortTextLength
|
|
3
|
-
import { isNullOrUndefined } from '../functions/value-checking-functions.js';
|
|
2
|
+
import { shortTextLength } from '../../base-repo/constants/strings-constants.js';
|
|
4
3
|
|
|
5
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x3ba58c,_0x1c538c)=>__defProp(_0x3ba58c,'name',{'value':_0x1c538c,'configurable':!![]});function shortenWithEllipsis(_0xf4b72c,_0x91c587=shortTextLength){return _0xf4b72c['length']<0xd77+0x1b7a+0x1f3*-0x15?_0xf4b72c['length']<=_0x91c587?_0xf4b72c:_0xf4b72c['substring'](0x1*-0xeab+-0x1478+0x707*0x5,_0x91c587):_0xf4b72c['length']<=_0x91c587?_0xf4b72c:_0xf4b72c['substring'](-0x1*0xffb+-0xbb*-0x21+-0x820,_0x91c587-(-0x3f*0x76+-0x165*0x1c+0x4417))+'…';}__name(shortenWithEllipsis,'shortenWithEllipsis');function trimCharacter(_0xb95a33,_0x56ce1a){let _0x530169=_0xb95a33;if(Array['isArray'](_0x56ce1a))for(let _0xb7ea23 of _0x56ce1a){(_0xb95a33['startsWith'](_0xb7ea23)||_0xb95a33['endsWith'](_0xb7ea23))&&(_0x530169=trimOneCharacter(_0xb95a33,_0xb7ea23));}else _0x530169=trimOneCharacter(_0xb95a33,_0x56ce1a);return _0x530169;}__name(trimCharacter,'trimCharacter');function trimOneCharacter(_0x33455d,_0x4b6e1c){let _0x131881=_0x33455d;return _0x131881?.['startsWith'](_0x4b6e1c)&&(_0x131881=_0x131881['substring'](-0x1*0xa6d+-0x1fb8+-0xd*-0x33e)),_0x131881?.['endsWith'](_0x4b6e1c)&&(_0x131881=_0x131881['substring'](-0x2*-0xea5+-0x2031+0x2e7,_0x131881['lastIndexOf'](_0x4b6e1c))),_0x131881;}__name(trimOneCharacter,'trimOneCharacter');
|
|
6
5
|
|
|
7
6
|
export { shortenWithEllipsis, trimCharacter };
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
import { jsBasicTypes } from '../../base-repo/constants/basic-types.js';
|
|
3
|
+
import { commonLowerCaseWords } from '../../base-repo/constants/internal-common-strings.js';
|
|
4
|
+
import { first } from '../server/collections/single-funcs.js';
|
|
3
5
|
|
|
4
|
-
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x3ce4a6,_0x133587)=>__defProp(_0x3ce4a6,'name',{'value':_0x133587,'configurable':!![]});function ensureString(_0x8603a8){let _0x151fce;return isString(_0x8603a8)?_0x151fce=_0x8603a8:_0x151fce=String(_0x8603a8),_0x151fce;}__name(ensureString,'ensureString');function ensureNumber(_0x1296f8){let _0xa7d1ad=NaN;if(isNumber(_0x1296f8))_0xa7d1ad=_0x1296f8;else isString(_0x1296f8)&&(_0xa7d1ad=parseFloat(_0x1296f8));return _0xa7d1ad;}__name(ensureNumber,'ensureNumber');function ensureObjectArray(_0x3028e4){let _0x40dc8e=[];if(Array['isArray'](_0x3028e4)&&_0x3028e4['length']>-0x147b+-0x1e68+-0x745*-0x7&&isObject(first(_0x3028e4)))for(const _0x12c073 of _0x3028e4){if(isObject(_0x12c073))_0x40dc8e['push'](_0x12c073);}return _0x40dc8e;}__name(ensureObjectArray,'ensureObjectArray');function ensureWithIndexer(_0x3c2c1b){let _0x36eedd={};return isWithIndexer(_0x3c2c1b)&&(_0x36eedd=_0x3c2c1b),_0x36eedd;}__name(ensureWithIndexer,'ensureWithIndexer');function ensureWithIndexerArray(_0x26c9e1){let _0x2d36a3=[];if(Array['isArray'](_0x26c9e1))_0x2d36a3=_0x26c9e1['filter'](isWithIndexer);else isWithIndexer(_0x26c9e1)&&(_0x2d36a3=[_0x26c9e1]);return _0x2d36a3;}__name(ensureWithIndexerArray,'ensureWithIndexerArray');const stripeConflictResponseProperties={'detail':commonLowerCaseWords['detail']};function isObject(_0x47ed9d){return typeof _0x47ed9d===jsBasicTypes['object']&&_0x47ed9d!==void(0x151a+0x12ea+-0x2804);}__name(isObject,'isObject');function isString(_0x1736aa){return typeof _0x1736aa===jsBasicTypes['string'];}__name(isString,'isString');function isNumber(_0x2b00a8){return typeof _0x2b00a8===jsBasicTypes['number'];}__name(isNumber,'isNumber');function isError(_0x591143){return typeof _0x591143===jsBasicTypes['object'];}__name(isError,'isError');function isKeyof(_0x11af82,_0x2e9992){return isObject(_0x11af82)&&_0x2e9992 in _0x11af82;}__name(isKeyof,'isKeyof');function isFunction(_0x3e1b7e){return typeof _0x3e1b7e===jsBasicTypes['function'];}__name(isFunction,'isFunction');function isWithIndexer(_0x516bcb){return isObject(_0x516bcb)&&!Array['isArray'](_0x516bcb);}__name(isWithIndexer,'isWithIndexer');function isArray(_0x194e2f){return isObject(_0x194e2f)&&Array['isArray'](_0x194e2f);}__name(isArray,'isArray');function isErrorResponseWithDetail(_0x4f8061){return isObject(_0x4f8061)&&stripeConflictResponseProperties['detail']in _0x4f8061;}__name(isErrorResponseWithDetail,'isErrorResponseWithDetail');function isBoolean(_0x10f337){return typeof _0x10f337===jsBasicTypes['boolean'];}__name(isBoolean,'isBoolean');function isDate(_0x465fca){return _0x465fca instanceof Date;}__name(isDate,'isDate');function isNumberArray(_0x532a32){return Array['isArray'](_0x532a32)&&(_0x532a32['length']===0x1143+0x161*-0x13+0x8f0||typeof first(_0x532a32)===jsBasicTypes['number']);}__name(isNumberArray,'isNumberArray');
|
|
7
|
+
|
|
8
|
+
export { ensureNumber, ensureObjectArray, ensureString, ensureWithIndexer, ensureWithIndexerArray, isArray, isBoolean, isDate, isError, isErrorResponseWithDetail, isFunction, isKeyof, isNumber, isNumberArray, isObject, isString, isWithIndexer, stripeConflictResponseProperties };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x1b4743,_0x3017d2)=>__defProp(_0x1b4743,'name',{'value':_0x3017d2,'configurable':!![]});function buildUrl(_0x1de532,_0x47e7c7,_0x24d05d){let _0x1bc340=appendUrl(_0x24d05d,_0x1de532);return _0x47e7c7&&_0x47e7c7['length']>0xb*-0x26d+-0x6*0x520+0x396f&&(_0x1bc340+='?',_0x47e7c7['forEach']((_0x5d0673,_0x5b8228)=>{_0x1bc340+=_0x5d0673['name']+'='+_0x5d0673['value'],_0x5b8228<_0x47e7c7['length']-(-0x1*0x137d+-0x84e*-0x3+0x2*-0x2b6)&&(_0x1bc340+='&');})),_0x1bc340;}__name(buildUrl,'buildUrl');function isLocalUrl(_0x499ba0){if(!_0x499ba0?.['trim']())return ![];const _0x2f42df=/^~?\/[^/\\]/gm;return _0x2f42df['test'](_0x499ba0['trim']());}__name(isLocalUrl,'isLocalUrl');function appendUrl(..._0x2d1358){const _0x38e724=[];return _0x2d1358['forEach'](_0x33eb05=>{const _0x1f52f0=_0x33eb05?.['toString']()['trim']();_0x1f52f0&&_0x1f52f0!==''&&_0x38e724['push'](_0x1f52f0['replace'](/(^\/|\/$)/g,''));}),_0x38e724['join']('/');}__name(appendUrl,'appendUrl');
|
|
3
|
+
|
|
4
|
+
export { buildUrl, isLocalUrl };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
2
|
+
import { commonLowerCaseWords, wellKnownProps } from '../../base-repo/constants/internal-common-strings.js';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const wellKnownMetaProps={'id':wellKnownProps['id'],'imageUrl':'imageUrl','workspaceId':'workspaceId','blobList':'blobList','name':commonLowerCaseWords['name'],'screenshotBlob':'screenshotBlob'};
|
|
5
|
+
|
|
6
|
+
export { wellKnownMetaProps };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x1b121e,_0x532786)=>__defProp(_0x1b121e,'name',{'value':_0x532786,'configurable':!![]});function nameOf(_0x2facc){return _0x2facc['toString']();}__name(nameOf,'nameOf');function deepNameOf(_0x128dfe,_0xade6f0){return _0x128dfe+'.'+_0xade6f0;}__name(deepNameOf,'deepNameOf');function nameOfWithType(_0x44dd6e){return _0x44dd6e;}__name(nameOfWithType,'nameOfWithType');
|
|
3
3
|
|
|
4
4
|
export { deepNameOf, nameOf, nameOfWithType };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { nameOf } from '../core/name-of.js';
|
|
3
|
+
import { wellKnownMetaProps } from '../constants/meta-constants.js';
|
|
4
|
+
import { jsBasicTypes } from '../../base-repo/constants/basic-types.js';
|
|
3
5
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x1f168c,_0x3f7425)=>__defProp(_0x1f168c,'name',{'value':_0x3f7425,'configurable':!![]});const withIdProps={'id':nameOf(wellKnownMetaProps['id'])};function isResourceWithId(_0x2609ae){return _0x2609ae&&typeof _0x2609ae===jsBasicTypes['object']&&typeof _0x2609ae['id']===jsBasicTypes['string'];}__name(isResourceWithId,'isResourceWithId');
|
|
5
7
|
|
|
6
8
|
export { isResourceWithId, withIdProps };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { commonLowerCaseWords } from '../../base-repo/constants/internal-common-strings.js';
|
|
3
|
+
|
|
4
|
+
const gitCommandParts={'add':commonLowerCaseWords['add'],'commit':'commit','push':commonLowerCaseWords['push'],'pull':commonLowerCaseWords['pull'],'checkout':'checkout','status':commonLowerCaseWords['status'],'diff':'diff','revParse':'rev-parse','lsFiles':'ls-files','log':commonLowerCaseWords['log'],'revList':'rev-list'};const gitCommandOptionValues={'acmr':'ACMR'};const gitCommandArguments={'porcelain':'--porcelain','ignoreSubmodulesAll':'--ignore-submodules=all','submoduleRecurseDisabled':'submodule.recurse=false','nameOnly':'--name-only','cached':'--cached','diffFilterAcmr':'--diff-filter='+gitCommandOptionValues['acmr'],'binary':'--binary','contextLinesZero':'-U0','others':'--others','excludeStandard':'--exclude-standard','doubleDash':'--','dashR':'-r','noMerges':'--no-merges','message':'-m'};const gitRemotes={'origin':'origin','website':commonLowerCaseWords['website']};const branches={'main':'main','originMain':gitRemotes['origin']+'/main'};const gitFlags={'noVerify':'--no-verify','force':'-f','directories':'-d','ignoreAllSpace':'-w','showToplevel':'--show-toplevel'};
|
|
5
|
+
|
|
6
|
+
export { branches, gitCommandArguments, gitCommandOptionValues, gitCommandParts, gitFlags, gitRemotes };
|
package/level2/cli/bin/index.js
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
import { Command } from 'commander';
|
|
4
4
|
import { create } from '../create/bin/create.js';
|
|
5
|
+
import { gitCommandArguments } from '../../../git/constants/git-constants.js';
|
|
5
6
|
|
|
6
|
-
'use strict';const program=new Command();program['command']('create\x20<folder>')['option']('
|
|
7
|
+
'use strict';const program=new Command();program['command']('create\x20<folder>')['option'](gitCommandArguments['dashR']+',\x20--repo','Enable\x20repo\x20mode')['description']('Create\x20a\x20new\x20SaaS\x20Kit\x20project')['action']((_0x5b44d0,_0x46f7a4)=>{const _0x24a466=[_0x5b44d0];if(_0x46f7a4['repo'])_0x24a466['push'](gitCommandArguments['dashR']);create(_0x24a466);}),program['parse'](process['argv']);
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
import { execSync } from 'child_process';
|
|
3
|
-
import { existsSync, promises, mkdirSync
|
|
2
|
+
import { execSync, execFileSync } from 'child_process';
|
|
3
|
+
import { existsSync, rmSync, promises, mkdirSync } from 'fs';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
import { createInterface } from 'node:readline/promises';
|
|
6
|
+
import _0x4ddc8b from 'process';
|
|
7
|
+
import * as _0x50ac40 from 'path';
|
|
8
|
+
import _0x21dc6d from 'node:fs';
|
|
9
|
+
import _0x28eb30 from 'os';
|
|
7
10
|
import { toolsFoldersToReplace, additionalFoldersToCreate } from '../../../../base-repo/constants/create-app-constants.js';
|
|
8
11
|
import { logStringError, logInfoRaw } from '../../../../fd-toolbox/logging/loggers.js';
|
|
9
|
-
import {
|
|
10
|
-
import { allFilesToCopy } from '../../../npm-commands/build-npm/path.js';
|
|
12
|
+
import { allFilesToCopy } from '../../../npm-commands/build-npm/paths.js';
|
|
11
13
|
import { createError } from '../../../../fd-toolbox/errors/errors.js';
|
|
12
|
-
import { folders, files, nonRootProjectPaths, projectPaths } from '../../../../base-repo/app-constants/project-paths.js';
|
|
14
|
+
import { folders, files, nonRootProjectPaths, projectName, projectPaths } from '../../../../base-repo/app-constants/project-paths.js';
|
|
13
15
|
import { npmPackages } from '../../../../base-repo/constants/packages.js';
|
|
14
16
|
import { aliasSymbols } from '../../../../base-repo/app-constants/aliases.js';
|
|
15
|
-
import {
|
|
17
|
+
import { sourceDir, fileExtensions, nodeOsPlatforms } from '../../../../base-repo/app-constants/internal-system-constants.js';
|
|
18
|
+
import { ensureString, isWithIndexer, isString } from '../../../../fd-toolbox/types/ensure-type.js';
|
|
16
19
|
import { cliScripts, cliEslintContent } from '../../../npm-commands/build-npm/cli-contents.js';
|
|
20
|
+
import { stdioStatuses, ecmaVersion } from '../../../../base-repo/constants/internal-cli-constants.js';
|
|
21
|
+
import { gitCommandArguments, gitCommandParts } from '../../../../git/constants/git-constants.js';
|
|
22
|
+
import { externalPackageNames, commandNames } from '../../../../base-repo/app-constants/command-names.js';
|
|
23
|
+
import { commonStatuses } from '../../../../base-repo/constants/ci-constants.js';
|
|
24
|
+
import { basicErrorMessages } from '../../../../base-repo/constants/internal-common-strings.js';
|
|
25
|
+
import { first } from '../../../../fd-toolbox/server/collections/single-funcs.js';
|
|
17
26
|
|
|
18
|
-
var __defProp=Object['defineProperty'],__name=(_0x1b0777,_0x53b8d8)=>__defProp(_0x1b0777,'name',{'value':_0x53b8d8,'configurable':!![]});const requiredNodeVersion='v20.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x1*-0x1585+0x19b*0xf+0x1*-0x28f));const filename=fileURLToPath(import.meta.url),sourceDir='../../../../',binDir=_0x2657b6['dirname'](filename),repoRoot=_0x2657b6['resolve'](binDir,sourceDir),envLocalPath=_0x2657b6['join'](binDir,sourceDir+folders['cli']+'/'+files['envExample']),envTemplate=_0x4e9839['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/'+folders['constants'],folders['cli']+'/'+files['packageTemplate'],folders['cli']+'/'+files['envExample'],folders['cli']+'/'+folders['bin'],folders['cli']+'/'+folders['configs']];function runCommand(_0x4f479c,_0x4b5078){logInfoRaw('Executing:\x20'+_0x4f479c);try{execSync(_0x4f479c,{'stdio':'inherit','cwd':_0x4b5078??process['cwd']()});}catch(_0x5db369){const _0x390bed=_0x5db369 instanceof Error?_0x5db369['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0x4f479c),logStringError(_0x390bed),process['exit'](-0x1355*0x2+-0x221+-0x7*-0x5d4);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x4a064c){existsSync(_0x4a064c)&&(logStringError('Error:\x20Folder\x20\x22'+_0x2657b6['basename'](_0x4a064c)+'\x22\x20already\x20exists.'),process['exit'](-0x14dd+0x2512+-0x1034));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x1cc3db=_0x2657b6['resolve'](repoRoot,files['packageJson']),_0x18c7f1=JSON['parse'](_0x4e9839['readFileSync'](_0x1cc3db,'utf-8'));return String(_0x18c7f1['devDependencies']?.['next']??_0x18c7f1['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');async function createNextProject(_0x43a2ec,_0x2c1a5c){logInfoRaw('Creating\x20Next.js\x20project...');const _0x52a455=getCreateNextAppVersion(),_0x4c18fa=['npx\x20--yes\x20create-next-app@'+_0x52a455+'\x20\x22'+_0x43a2ec+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler']['join']('\x20');runCommand(_0x4c18fa,_0x2657b6['dirname'](_0x2c1a5c)),logInfoRaw('Next.js\x20project\x20created!');const _0x49a50b=_0x2657b6['join'](_0x2c1a5c,'next.config.ts'),_0x4d972b=_0x2657b6['join'](_0x2c1a5c,folders['public']);await promises['rm'](_0x49a50b,{'force':!![]}),logInfoRaw('Removed\x20default\x20next.config.ts'),await promises['rm'](_0x4d972b,{'recursive':!![],'force':!![]}),logInfoRaw('Removed\x20default\x20public\x20folder'),await promises['mkdir'](_0x4d972b);}__name(createNextProject,'createNextProject');async function createEnvFile(_0x2b845e){logInfoRaw('Creating\x20'+files['env']+'\x20file\x20with\x20default\x20values...');const _0x29a66f=_0x2657b6['join'](_0x2b845e,files['env']);try{await promises['writeFile'](_0x29a66f,envTemplate,'utf8'),logInfoRaw(files['env']+'\x20file\x20created\x20with\x20values!');}catch(_0xb0c791){const _0x38c34e=_0xb0c791 instanceof Error?_0xb0c791['message']:'Unknown\x20error';logStringError('Error\x20creating\x20'+files['env']+'\x20file:'),logStringError(_0x38c34e);throw _0xb0c791;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x2b7a2a){const _0x992347=_0x2657b6['join'](_0x2b7a2a,files['packageJson']),_0x56ed97=_0x2657b6['join'](repoRoot,folders['cli']+'/'+files['packageTemplate']);try{const _0x576a20=JSON['parse'](await promises['readFile'](_0x992347,'utf8')),_0x8821dd=_0x576a20['name'],_0x19743a=JSON['parse'](await promises['readFile'](_0x56ed97,'utf8')),_0x52f8ac={..._0x19743a,'name':_0x8821dd};await promises['writeFile'](_0x992347,JSON['stringify'](_0x52f8ac,null,0xe98+0x137*0x13+-0x1*0x25ab)+'\x0a','utf8');}catch(_0x396660){const _0x4307a8=_0x396660 instanceof Error?_0x396660['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20'+files['packageJson']+':'),logStringError(_0x4307a8);throw _0x396660;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x139294){const _0x1edccc=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x139294['replace'](_0x1edccc,(_0x12cbd1,_0xaedecc,_0x260a0e,_0x1615dc,_0x4de4f4,_0x315e4e)=>{if(!_0x4de4f4['startsWith'](aliasSymbols['atSign'])||_0x4de4f4['startsWith'](npmPackages['saasKit']))return _0x12cbd1;let _0x58032c;_0x4de4f4['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x4de4f4['includes'](''+nonRootProjectPaths['server'])?_0x58032c=npmPackages['saasKitServer']:_0x58032c=npmPackages['saasKit'];let _0x584e94=_0x260a0e['trim']();const _0x19b308=/^type\b/['test'](_0x584e94),_0x10e814=/^\*\s+as\s+/['test'](_0x584e94);return !_0x19b308&&!_0x10e814&&!_0x584e94['startsWith']('{')&&(_0x584e94='{\x20'+_0x584e94+'\x20}'),''+_0xaedecc+_0x584e94+_0x1615dc+_0x58032c+_0x315e4e;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x366ecb){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x381a85 of allFilesToCopy){const _0xc6f65a=folders['cli']+'/'+_0x381a85,_0x5f0c79=_0x2657b6['join'](repoRoot,_0xc6f65a),_0x3d01d0=replaceToolsFolder(_0x381a85),_0x14bf77=_0x2657b6['join'](_0x366ecb,_0x3d01d0);if(existsSync(_0x5f0c79)){const _0x45ce1f=await promises['stat'](_0x5f0c79);_0x45ce1f['isDirectory']()?await copyDirectoryContents(_0x5f0c79,_0x14bf77):await copyAndProcessFile(_0x5f0c79,_0x14bf77);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0xc6f65a);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0xf111be){let _0x596f83=_0xf111be;for(const [_0x4b9621,_0x2e1997]of Object['entries'](toolsFoldersToReplace)){if(_0x596f83['startsWith'](_0x4b9621)&&isWithIndexer(_0x2e1997)){const _0x5746eb=_0x2e1997;for(const _0x2c5a95 in _0x5746eb){const _0x50be8b=_0x5746eb[_0x2c5a95];isString(_0x50be8b)&&(_0x596f83=_0x596f83['replace'](_0x2c5a95,_0x50be8b));}break;}}return _0x596f83;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x549db7,_0xa77ee3,_0x555e34=![]){const _0xaad736=_0x2657b6['relative'](repoRoot,_0x549db7)['replace'](/\\/g,'/'),_0x4af70e=foldersToIgnore['map'](_0x220b91=>_0x220b91['replace'](/\\/g,'/'));if(_0x4af70e['includes'](_0xaad736))return !![];if(_0x555e34){const _0x1c1513=_0x2657b6['relative'](_0xa77ee3,_0x549db7)['replace'](/\\/g,'/'),_0x28d938=_0x1c1513['split']('/');return _0x4af70e['some'](_0x7a84fb=>_0x28d938['some'](_0x5cfd87=>_0x5cfd87===_0x7a84fb));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x516b90,_0x36fe04){!existsSync(_0x36fe04)&&mkdirSync(_0x36fe04,{'recursive':!![]});try{const _0xe32e15=await promises['readdir'](_0x516b90,{'withFileTypes':!![]});for(const _0x25fbcf of _0xe32e15){const _0xb8d8d7=_0x2657b6['join'](_0x516b90,_0x25fbcf['name']),_0x2c4993=_0x2657b6['join'](_0x36fe04,_0x25fbcf['name']);!shouldIgnorePath(_0xb8d8d7,_0x516b90,_0x25fbcf['isDirectory']())&&(_0x25fbcf['isDirectory']()?await copyDirectoryContents(_0xb8d8d7,_0x2c4993):await copyAndProcessFile(_0xb8d8d7,_0x2c4993));}}catch(_0x4a024c){const _0xa666ea=_0x4a024c instanceof Error?_0x4a024c['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x516b90+':\x20'+_0xa666ea);throw _0x4a024c;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x4a9fd6,_0x28cfe4){const _0x5c8de0=_0x2657b6['dirname'](_0x28cfe4);!existsSync(_0x5c8de0)&&mkdirSync(_0x5c8de0,{'recursive':!![]});const _0x2e43ad=await promises['stat'](_0x4a9fd6);if(_0x2e43ad['isDirectory']())await copyDirectoryContents(_0x4a9fd6,_0x28cfe4);else {const _0x1cd805=_0x2657b6['extname'](_0x4a9fd6)['toLowerCase'](),_0x390f45=['.ico','.png','.jpg','.jpeg','.webp','.gif','.svg','.pdf'];if(_0x390f45['includes'](_0x1cd805)){await promises['copyFile'](_0x4a9fd6,_0x28cfe4);return;}const _0x22c9b8=await promises['readFile'](_0x4a9fd6,'utf8'),_0x4a2213=replaceImports(_0x22c9b8);await promises['writeFile'](_0x28cfe4,_0x4a2213,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x563ecd){for(const _0x548162 of additionalFoldersToCreate){const _0x3db59f=_0x2657b6['join'](_0x563ecd,_0x548162);!existsSync(_0x3db59f)&&(mkdirSync(_0x3db59f,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x548162));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0x1872cc){const _0x37dc0c=_0x2657b6['join'](_0x1872cc,folders['husky']),_0x2f4d7d=_0x2657b6['join'](_0x37dc0c,files['preCommit']),_0x26cadf=_0x2657b6['join'](_0x37dc0c,files['commitMsg']);mkdirSync(_0x37dc0c,{'recursive':!![]}),await promises['writeFile'](_0x2f4d7d,cliScripts['preCommit'],'utf8'),await promises['writeFile'](_0x26cadf,cliScripts['commitMsg'],'utf8'),runCommand(cliScripts['chmodPreCommit'],_0x1872cc),runCommand(cliScripts['chmodCommitMsg'],_0x1872cc);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x479713){const _0xa1deb5=_0x2657b6['join'](_0x479713,files['eslintConfigMjs']);existsSync(_0xa1deb5)&&await promises['rm'](_0xa1deb5);const _0x132a49=_0x2657b6['join'](_0x479713,files['eslintConfigJs']);await promises['writeFile'](_0x132a49,cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x109ef7){logInfoRaw('Enabling\x20recommendation\x20mode\x20(-r)...'),runCommand(cliScripts['gitInit'],_0x109ef7),runCommand(cliScripts['installDevHuskyTsx'],_0x109ef7),runCommand(cliScripts['setLint'],_0x109ef7),runCommand(cliScripts['installHusky'],_0x109ef7),await setupPreCommitHooks(_0x109ef7);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x1f9c79,_0x4e790b){const _0x47b4b1=_0x2657b6['join'](_0x1f9c79,projectPaths['app']+'/'+files['layout']);if(!existsSync(_0x47b4b1))throw createError(files['layout']+'\x20not\x20found\x20at\x20'+_0x47b4b1+',\x20cannot\x20update\x20title.');let _0x98c251=await promises['readFile'](_0x47b4b1,'utf8');const _0x3ff355=/"SaaS Kit"/g;if(!_0x3ff355['test'](_0x98c251))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20'+files['layout']+',\x20cannot\x20update\x20title.');_0x98c251=_0x98c251['replace'](_0x3ff355,'\x22'+_0x4e790b+'\x22'),await promises['writeFile'](_0x47b4b1,_0x98c251,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function create(_0xaaa7fe){try{_0xaaa7fe['length']<0x7b2+-0x6b*-0x1b+-0x12fa&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x15b4+0x1*0x13d+0x1478));const _0xcdd775=_0xaaa7fe[0x1f2d+-0xd67+-0x11c6],_0xe07060=_0xaaa7fe['includes']('-r'),_0x46475b=_0x2657b6['resolve'](process['cwd'](),_0xcdd775);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0xcdd775+'\x22...\x0a');try{checkTargetFolder(_0x46475b),await createNextProject(_0xcdd775,_0x46475b),await copyProjectFiles(_0x46475b),await overridePackageJson(_0x46475b),createAdditionalFolders(_0x46475b),await createEnvFile(_0x46475b),await updateLayoutTitle(_0x46475b,_0xcdd775),await setupEslintConfig(_0x46475b),_0xe07060&&await enableRepoModeExtras(_0x46475b),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0xcdd775+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0xcdd775),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x4c1a64){const _0x3b0c32=_0x4c1a64 instanceof Error?_0x4c1a64['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x3b0c32),existsSync(_0x46475b)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x46475b,{'recursive':!![],'force':!![]})),process['exit'](-0x1ea4+0x241*0x1+-0x2*-0xe32);}}catch(_0x69982d){const _0x21eaeb=_0x69982d instanceof Error?_0x69982d['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x21eaeb),process['exit'](0x2392+-0x8b1*-0x1+-0x2c42);}}__name(create,'create');
|
|
27
|
+
var __defProp=Object['defineProperty'],__name=(_0x3949b3,_0xeefa2a)=>__defProp(_0x3949b3,'name',{'value':_0xeefa2a,'configurable':!![]});const lifecycleStatuses={'created':commonStatuses['created']};const requiredNodeVersion='v20.0.0';_0x4ddc8b['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),_0x4ddc8b['exit'](-0x3d*-0x1f+-0x14fb+-0x1*-0xd99));const filename=fileURLToPath(import.meta.url),binDir=_0x50ac40['dirname'](filename),repoRoot=_0x50ac40['resolve'](binDir,sourceDir),envLocalPath=_0x50ac40['join'](binDir,sourceDir+folders['cli']+'/'+files['envExample']),envTemplate=_0x21dc6d['readFileSync'](envLocalPath,'utf8'),cliPackageTemplate=folders['cli']+'/'+files['packageTemplate'],gitIgnoreTemplate=folders['cli']+'/'+folders['templates']+'/gitignore-template',foldersToIgnore=[nonRootProjectPaths['cliConstants'],cliPackageTemplate,folders['cli']+'/'+files['envExample'],folders['cli']+'/'+folders['bin'],nonRootProjectPaths['cliConfigs'],folders['cli']+'/'+folders['templates']],unknownError=basicErrorMessages['unknownError'],playwright=externalPackageNames['playwright'],project='project';async function create(_0x12dfff){try{_0x12dfff['length']<-0x1b11+0x498+0x336*0x7&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),_0x4ddc8b['exit'](0xebf+0x71*-0x44+0xf46));const _0x5d9fd0=first(_0x12dfff),_0xc19853=_0x12dfff['includes'](gitCommandArguments['dashR']),_0x32c8ec=await shouldInstallPlaywright(_0xc19853),_0x58bc50=await shouldUsePreCommit(),_0x2cb60b=_0x50ac40['resolve'](_0x4ddc8b['cwd'](),_0x5d9fd0);logInfoRaw('\x0aCreating\x20'+projectName+'\x20'+project+'\x20\x22'+_0x5d9fd0+'\x22...\x0a');try{checkTargetFolder(_0x2cb60b),await createNextProject(_0x5d9fd0,_0x2cb60b),await copyProjectFiles(_0x2cb60b),await overridePackageJson(_0x2cb60b,_0x32c8ec);!_0x32c8ec&&await removePlaywrightArtifacts(_0x2cb60b);runCommandWithArgs('npm',['install'],_0x2cb60b),createAdditionalFolders(_0x2cb60b),await createEnvFile(_0x2cb60b),await updateLayoutTitle(_0x2cb60b,_0x5d9fd0),await setupEslintConfig(_0x2cb60b);_0xc19853&&await enableRepoModeExtras(_0x2cb60b,_0x58bc50);await normalizeLineEndings(_0x2cb60b);const _0x413fd3='0-initial-commit';runCommandWithArgs(commandNames['git'],[gitCommandParts['add'],'.'],_0x2cb60b),runCommandWithArgs(commandNames['git'],[gitCommandParts['commit'],gitCommandArguments['message'],_0x413fd3],_0x2cb60b),logInfoRaw(_0x413fd3+'\x20'+lifecycleStatuses['created']+'!'),logInfoRaw('\x0a'+projectName+'\x20'+project+'\x20\x22'+_0x5d9fd0+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x5d9fd0),logInfoRaw('\x20\x20npm\x20run\x20start');}catch(_0x24874d){const _0x59e04e=_0x24874d instanceof Error?_0x24874d['message']:unknownError;logStringError('Error:'),logStringError(_0x59e04e),existsSync(_0x2cb60b)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x2cb60b,{'recursive':!![],'force':!![]})),_0x4ddc8b['exit'](0x1b28+-0x1ed3+0x1*0x3ac);}}catch(_0x371e48){const _0x23fd42=_0x371e48 instanceof Error?_0x371e48['message']:unknownError;logStringError('Unhandled\x20error:'),logStringError(_0x23fd42),_0x4ddc8b['exit'](-0x2*0x679+-0xed9+-0x6f3*-0x4);}}__name(create,'create');function runCommand(_0x79491,_0xda0aff){logInfoRaw('Executing:\x20'+_0x79491);try{execSync(_0x79491,{'stdio':stdioStatuses['inherit'],'cwd':_0xda0aff??_0x4ddc8b['cwd']()});}catch(_0xe4634b){const _0x894b63=_0xe4634b instanceof Error?_0xe4634b['message']:unknownError;logStringError('Error\x20executing:\x20'+_0x79491),logStringError(_0x894b63),_0x4ddc8b['exit'](0x43*-0x26+0xc25*0x3+-0x4*0x69f);}}__name(runCommand,'runCommand');function runCommandWithArgs(_0x3b377d,_0x4bd33b,_0x2b40f6){const _0x5a4a42=_0x3b377d+'\x20'+_0x4bd33b['join']('\x20'),_0x18c2cd=_0x2b40f6??_0x4ddc8b['cwd']();logInfoRaw('Executing:\x20'+_0x5a4a42);try{execFileSync(_0x3b377d,_0x4bd33b,{'stdio':stdioStatuses['inherit'],'cwd':_0x18c2cd,'shell':!![]});}catch(_0x35c031){logStringError('Error\x20executing:\x20'+_0x5a4a42),logStringError(_0x35c031 instanceof Error?_0x35c031['message']:unknownError),_0x4ddc8b['exit'](0x1*-0x2527+-0x2113+0x463b);}}__name(runCommandWithArgs,'runCommandWithArgs');function checkTargetFolder(_0x52d5c7){existsSync(_0x52d5c7)&&(logStringError('Error:\x20Folder\x20\x22'+_0x50ac40['basename'](_0x52d5c7)+'\x22\x20already\x20exists.'),_0x4ddc8b['exit'](-0xe8e+0x2*0xe99+-0xea3*0x1));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x5e6337=_0x50ac40['resolve'](repoRoot,files['packageJson']),_0x48e060=JSON['parse'](_0x21dc6d['readFileSync'](_0x5e6337,'utf-8')),_0x45aa5e=_0x48e060['devDependencies']?.[externalPackageNames['next']]??_0x48e060['dependencies']?.[externalPackageNames['next']];return ensureString(_0x45aa5e??ecmaVersion);}__name(getCreateNextAppVersion,'getCreateNextAppVersion');async function createNextProject(_0x176d34,_0x5569e0){logInfoRaw('Creating\x20Next.js\x20project...');const _0x50a6f3=getCreateNextAppVersion(),_0x11ae9e=['npx\x20--yes\x20create-next-app@'+_0x50a6f3+'\x20\x22'+_0x176d34+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler','--agents','--ts','--agents-md']['join']('\x20');runCommand(_0x11ae9e,_0x50ac40['dirname'](_0x5569e0)),logInfoRaw('Next.js\x20'+project+'\x20'+lifecycleStatuses['created']+'!');const _0x10e184=_0x50ac40['join'](_0x5569e0,'next.config.ts'),_0xf757af=_0x50ac40['join'](_0x5569e0,folders['public']);await promises['rm'](_0x10e184,{'force':!![]}),logInfoRaw('Removed\x20default\x20next.config.ts'),await promises['rm'](_0xf757af,{'recursive':!![],'force':!![]}),logInfoRaw('Removed\x20default\x20public\x20folder'),await promises['mkdir'](_0xf757af);}__name(createNextProject,'createNextProject');async function createEnvFile(_0x49f2c7){logInfoRaw('Creating\x20'+files['dotEnv']+'\x20file\x20with\x20default\x20values...');const _0x4fa8bb=_0x50ac40['join'](_0x49f2c7,files['dotEnv']);try{await promises['writeFile'](_0x4fa8bb,envTemplate,'utf8'),logInfoRaw(files['dotEnv']+'\x20file\x20created\x20with\x20values!');}catch(_0x2d4bac){const _0x3e31ff=_0x2d4bac instanceof Error?_0x2d4bac['message']:unknownError;logStringError('Error\x20creating\x20'+files['dotEnv']+'\x20file:'),logStringError(_0x3e31ff);throw _0x2d4bac;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x3fc974,_0x1e7e57){const _0x5d5e6d=_0x50ac40['join'](_0x3fc974,files['packageJson']),_0x429feb=_0x50ac40['join'](repoRoot,cliPackageTemplate);try{const _0x5e146e=JSON['parse'](await promises['readFile'](_0x5d5e6d,'utf8')),_0x249189=_0x5e146e['name'],_0x49307f=JSON['parse'](await promises['readFile'](_0x429feb,'utf8')),_0x5d1aa4={..._0x49307f,'name':_0x249189};!_0x1e7e57&&_0x5d1aa4['devDependencies']&&delete _0x5d1aa4['devDependencies'][playwright],await promises['writeFile'](_0x5d5e6d,JSON['stringify'](_0x5d1aa4,void(-0x1*-0xa9e+0x1e50+-0x28ee),0x8*0x13d+0x7c5+-0x11ab)+'\x0a','utf8');}catch(_0x33ec08){const _0x411cb0=_0x33ec08 instanceof Error?_0x33ec08['message']:unknownError;logStringError('Error\x20overriding\x20'+files['packageJson']+':'),logStringError(_0x411cb0);throw _0x33ec08;}}__name(overridePackageJson,'overridePackageJson');async function shouldInstallPlaywright(_0x1d59f9){let _0x5c43e1=![];if(_0x1d59f9)_0x5c43e1=!![];else {if(!_0x4ddc8b['stdin']['isTTY'])logInfoRaw('No\x20interactive\x20terminal\x20detected;\x20skipping\x20Playwright\x20setup.');else {const _0x4acf39=createInterface({'input':_0x4ddc8b['stdin'],'output':_0x4ddc8b['stdout']});try{const _0x6ac2e=await _0x4acf39['question']('Install\x20Playwright?\x20(y/N):\x20');_0x5c43e1=/^y(es)?$/i['test'](_0x6ac2e['trim']());}finally{_0x4acf39['close']();}}}return _0x5c43e1;}__name(shouldInstallPlaywright,'shouldInstallPlaywright');async function shouldUsePreCommit(){let _0x362b4a=![];if(!_0x4ddc8b['stdin']['isTTY'])logInfoRaw('No\x20interactive\x20terminal\x20detected;\x20skipping\x20pre-commit\x20setup.');else {const _0x40905a=createInterface({'input':_0x4ddc8b['stdin'],'output':_0x4ddc8b['stdout']});try{const _0x598a1e=await _0x40905a['question']('Set\x20up\x20pre-commit?\x20(y/N):\x20');_0x362b4a=/^y(es)?$/i['test'](_0x598a1e['trim']());}finally{_0x40905a['close']();}}return _0x362b4a;}__name(shouldUsePreCommit,'shouldUsePreCommit');async function removePlaywrightArtifacts(_0x32732b){const _0x53278d=_0x50ac40['join'](_0x32732b,files['playwrightConfig']),_0x1d3503=_0x50ac40['join'](_0x32732b,folders['configs'],playwright+'-cli-config.ts'),_0x31c13a=_0x50ac40['join'](_0x32732b,folders['test']);await promises['rm'](_0x53278d,{'force':!![]}),await promises['rm'](_0x1d3503,{'force':!![]}),await promises['rm'](_0x31c13a,{'recursive':!![],'force':!![]});}__name(removePlaywrightArtifacts,'removePlaywrightArtifacts');function replaceImports(_0x59b8cd){const _0xc3643c=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g,_0x36750a=['@generated/schema','@generated/meta/crud-handler-map','@/app/init-saas-kit','@/app/http-wrappers'];return _0x59b8cd['replace'](_0xc3643c,(_0x2ff9eb,_0x2a5ecb,_0x405fe5,_0xe2332e,_0x6dda3e,_0x13d312)=>{if(!_0x6dda3e['startsWith'](aliasSymbols['atSign'])||_0x6dda3e['startsWith'](npmPackages['saasKit']))return _0x2ff9eb;if(_0x36750a['includes'](_0x6dda3e))return _0x2ff9eb;let _0x531d3f;_0x6dda3e['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x6dda3e['includes'](nonRootProjectPaths['server'])?_0x531d3f=npmPackages['saasKitServer']:_0x531d3f=npmPackages['saasKit'];let _0x2efa8d=_0x405fe5['trim']();const _0x42fd17=/^type\b/['test'](_0x2efa8d),_0x2344e8=/^\*\s+as\s+/['test'](_0x2efa8d);return !_0x42fd17&&!_0x2344e8&&!_0x2efa8d['startsWith']('{')&&(_0x2efa8d='{\x20'+_0x2efa8d+'\x20}'),''+_0x2a5ecb+_0x2efa8d+_0xe2332e+_0x531d3f+_0x13d312;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x481f39){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x3f93a4 of allFilesToCopy){const _0x461d87=_0x3f93a4===files['gitIgnore']?gitIgnoreTemplate:folders['cli']+'/'+_0x3f93a4,_0x2eb253=_0x50ac40['join'](repoRoot,_0x461d87),_0x3cf50c=replaceToolsFolder(_0x3f93a4),_0x4e7d83=_0x50ac40['join'](_0x481f39,_0x3cf50c);if(existsSync(_0x2eb253)){const _0x28e466=await promises['stat'](_0x2eb253);_0x28e466['isDirectory']()?await copyDirectoryContents(_0x2eb253,_0x4e7d83):await copyAndProcessFile(_0x2eb253,_0x4e7d83);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x461d87);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x4a09cc){let _0x5456f6=_0x4a09cc;for(const [_0x5b1a0e,_0x2d00cc]of Object['entries'](toolsFoldersToReplace)){if(_0x5456f6['startsWith'](_0x5b1a0e)&&isWithIndexer(_0x2d00cc)){const _0xee8802=_0x2d00cc;for(const _0x177ba9 in _0xee8802){const _0x119958=_0xee8802[_0x177ba9];isString(_0x119958)&&(_0x5456f6=_0x5456f6['replace'](_0x177ba9,_0x119958));}break;}}return _0x5456f6;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x720310,_0x7422c3,_0x2a173c=![]){const _0x461b42=_0x50ac40['relative'](repoRoot,_0x720310)['replace'](/\\/g,'/'),_0x9874ea=foldersToIgnore['map'](_0x4fccc1=>_0x4fccc1['replace'](/\\/g,'/'));if(_0x9874ea['includes'](_0x461b42))return !![];if(_0x2a173c){const _0x446248=_0x50ac40['relative'](_0x7422c3,_0x720310)['replace'](/\\/g,'/'),_0x5ef506=_0x446248['split']('/');return _0x9874ea['some'](_0xab2868=>_0x5ef506['some'](_0x6aa4f0=>_0x6aa4f0===_0xab2868));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x2baeed,_0x576855){!existsSync(_0x576855)&&mkdirSync(_0x576855,{'recursive':!![]});try{const _0x42bcb4=await promises['readdir'](_0x2baeed,{'withFileTypes':!![]});for(const _0x4f1e8f of _0x42bcb4){const _0x59fccb=_0x50ac40['join'](_0x2baeed,_0x4f1e8f['name']),_0x49ff35=_0x50ac40['join'](_0x576855,_0x4f1e8f['name']);!shouldIgnorePath(_0x59fccb,_0x2baeed,_0x4f1e8f['isDirectory']())&&(_0x4f1e8f['isDirectory']()?await copyDirectoryContents(_0x59fccb,_0x49ff35):await copyAndProcessFile(_0x59fccb,_0x49ff35));}}catch(_0x5cd0cc){const _0x2e8c39=_0x5cd0cc instanceof Error?_0x5cd0cc['message']:unknownError;logStringError('Error\x20reading\x20directory\x20'+_0x2baeed+':\x20'+_0x2e8c39);throw _0x5cd0cc;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x3c1254,_0x1e05c0){const _0x82a773=_0x50ac40['dirname'](_0x1e05c0);!existsSync(_0x82a773)&&mkdirSync(_0x82a773,{'recursive':!![]});const _0x2a02e7=await promises['stat'](_0x3c1254);if(_0x2a02e7['isDirectory']())await copyDirectoryContents(_0x3c1254,_0x1e05c0);else {const _0x226cc4=_0x50ac40['extname'](_0x3c1254)['toLowerCase'](),_0x21300c=[fileExtensions['ico'],fileExtensions['png'],fileExtensions['jpg'],fileExtensions['jpeg'],fileExtensions['webp'],fileExtensions['gif'],fileExtensions['svg'],'.pdf'];if(_0x21300c['includes'](_0x226cc4)){await promises['copyFile'](_0x3c1254,_0x1e05c0);return;}const _0x4b0e32=await promises['readFile'](_0x3c1254,'utf8'),_0x32bc0e=replaceImports(_0x4b0e32);await promises['writeFile'](_0x1e05c0,_0x32bc0e,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x2f82fe){for(const _0x5b8981 of additionalFoldersToCreate){const _0x2520a3=_0x50ac40['join'](_0x2f82fe,_0x5b8981);!existsSync(_0x2520a3)&&(mkdirSync(_0x2520a3,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x5b8981));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0xf50494){const _0x3d6815=_0x50ac40['join'](_0xf50494,folders['husky']),_0xa39409=_0x50ac40['join'](_0x3d6815,files['preCommit']),_0x35e05a=_0x50ac40['join'](_0x3d6815,files['commitMsg']);mkdirSync(_0x3d6815,{'recursive':!![]}),await promises['writeFile'](_0xa39409,cliScripts['preCommit'],'utf8'),await promises['writeFile'](_0x35e05a,cliScripts['commitMsg'],'utf8'),runCommand(cliScripts['chmodPreCommit'],_0xf50494),runCommand(cliScripts['chmodCommitMsg'],_0xf50494);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x19cb08){const _0x4bebe3=_0x50ac40['join'](_0x19cb08,files['eslintConfigMjs']);existsSync(_0x4bebe3)&&await promises['rm'](_0x4bebe3);const _0x25bd38=_0x50ac40['join'](_0x19cb08,files['eslintConfigJs']);await promises['writeFile'](_0x25bd38,cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x129731,_0x3a724f){logInfoRaw('Enabling\x20recommendation\x20mode\x20('+gitCommandArguments['dashR']+')...'),runCommand(cliScripts['gitInit'],_0x129731),runCommand(cliScripts['installDevHuskyTsx'],_0x129731),runCommand(cliScripts['setLint'],_0x129731),runCommand(cliScripts['installHusky'],_0x129731),_0x3a724f&&await setupPreCommitHooks(_0x129731);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x505769,_0x3926c0){const _0x102a27=_0x50ac40['join'](_0x505769,projectPaths['app']+'/'+files['layout']),_0x111298='Cannot\x20update\x20title';if(!existsSync(_0x102a27))throw createError(files['layout']+'\x20not\x20found\x20at\x20'+_0x102a27+',\x20'+_0x111298+'.');let _0x6aac6c=await promises['readFile'](_0x102a27,'utf8');const _0x47b91f=/title: projectName,/g;if(!_0x47b91f['test'](_0x6aac6c))throw createError('projectName\x20not\x20found\x20in\x20'+files['layout']+',\x20'+_0x111298+'.');_0x6aac6c=_0x6aac6c['replace'](_0x47b91f,'title:\x20\x22'+_0x3926c0+'\x22,'),_0x6aac6c=_0x6aac6c['replace'](/import\s*{\s*projectName\s*}\s*from\s*["'][^"']+["'];?\s*\n?/g,''),await promises['writeFile'](_0x102a27,_0x6aac6c,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function normalizeLineEndings(_0x314126){if(_0x28eb30['platform']()!==nodeOsPlatforms['win32'])return;const _0x3ba3f6=[fileExtensions['ts'],fileExtensions['tsx'],fileExtensions['js'],fileExtensions['json'],fileExtensions['css'],files['dotEnv'],fileExtensions['md'],fileExtensions['mjs']],_0x4e3036=[_0x314126];while(_0x4e3036['length']>0x2539+0x1deb+-0x4324){const _0x27665c=_0x4e3036['pop'](),_0x3fc0e5=await promises['readdir'](_0x27665c,{'withFileTypes':!![]});for(const _0x53b46a of _0x3fc0e5){const _0xd0548b=_0x50ac40['join'](_0x27665c,_0x53b46a['name']);if(_0x53b46a['isDirectory']())_0x4e3036['push'](_0xd0548b);else {const _0x3af49b=_0x50ac40['extname'](_0xd0548b)['toLowerCase']();if(_0x3ba3f6['includes'](_0x3af49b)&&existsSync(_0xd0548b)){const _0x2ed9f5=await promises['readFile'](_0xd0548b,'utf8'),_0x179118=_0x2ed9f5['replace'](/\r?\n/g,'\x0d\x0a');await promises['writeFile'](_0xd0548b,_0x179118,'utf8');}}}}}__name(normalizeLineEndings,'normalizeLineEndings');
|
|
19
28
|
|
|
20
|
-
export { create };
|
|
29
|
+
export { create, lifecycleStatuses };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { npmPackages } from '../../../base-repo/constants/packages.js';
|
|
3
3
|
|
|
4
|
-
const cliScripts={'preCommit':'npx\x20tsx\x20node_modules/@fernir2/saas-kit/packages/
|
|
4
|
+
const cliScripts={'preCommit':'npx\x20tsx\x20node_modules/@fernir2/saas-kit/packages/infra/tools/git/pre-commit-script.js','commitMsg':'npx\x20tsx\x20node_modules/@fernir2/saas-kit/packages/infra/tools/git/commit-msg-script.js\x20\x22$1\x22','chmodPreCommit':'chmod\x20+x\x20.husky/pre-commit','chmodCommitMsg':'chmod\x20+x\x20.husky/commit-msg','gitInit':'git\x20init','installDevHuskyTsx':'npm\x20install\x20-D\x20husky\x20tsx','setLint':'npm\x20pkg\x20set\x20scripts.lint=\x22eslint\x20.\x22','installHusky':'npx\x20husky\x20init'};const cliEslintContent='\x0aimport\x20{\x20baseConfig\x20}\x20from\x20\x22'+npmPackages['saasKit']+'\x22;\x0aimport\x20{\x20defineConfig\x20}\x20from\x20\x22eslint/config\x22;\x0a\x0aexport\x20default\x20defineConfig([...baseConfig]);\x0a\x20\x20\x20\x20';
|
|
5
5
|
|
|
6
6
|
export { cliEslintContent, cliScripts };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import { projectPaths, files } from '../../../base-repo/app-constants/project-paths.js';
|
|
3
|
+
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x46db76,_0x136fb4)=>__defProp(_0x46db76,'name',{'value':_0x136fb4,'configurable':!![]});function normalizePathForRollUpCopy(_0x2025fd){return _0x2025fd['replace'](/\/\(([^)]+)\)\//g,'/[(]$1[)]/');}__name(normalizePathForRollUpCopy,'normalizePathForRollUpCopy');const pageFilesToCopy=[projectPaths['f']+'/\x5c(not-signed-in\x5c)',projectPaths['f']+'/\x5c(signed-in\x5c)',projectPaths['f']+'/api-docs'];const filesToCopy=[''];const rootFilesToCopy=[files['gitIgnore'],'postcss.config.mjs',files['prettierIgnore'],'.prettierrc.json',files['serverTs']];const appFilesToCopy=[projectPaths['app']+'/favicon.ico',projectPaths['app']+'/globals.css',projectPaths['app']+'/layout.tsx',projectPaths['app']+'/page.tsx',projectPaths['app']+'/http-wrappers.ts',projectPaths['app']+'/init-saas-kit.ts'];const apiRoutesToCopy=[projectPaths['apiV1F']+'/searchable-resources/route.ts',projectPaths['apiV1F']+'/search-result/route.ts',projectPaths['apiV1F']+'/workspace/change/route.ts',projectPaths['apiV1F']+'/visible-workspace/route.ts',projectPaths['apiV1F']+'/user-permission/route.ts',projectPaths['apiV1F']+'/user-feature/isenabled/route.ts',projectPaths['apiV1F']+'/uimetas/route.ts',projectPaths['apiV1F']+'/uimeta/route.ts',projectPaths['apiV1F']+'/subscription/update/route.ts',projectPaths['apiV1F']+'/subscription/create/route.ts',projectPaths['apiV1F']+'/subscription/cancel/route.ts',projectPaths['apiV1F']+'/sign-up/route.ts',projectPaths['apiV1F']+'/sign-out/route.ts',projectPaths['apiV1F']+'/sign-in/route.ts',projectPaths['apiV1F']+'/payment/route.ts',projectPaths['apiV1F']+'/payment/verify-success/route.ts',projectPaths['apiV1F']+'/payment/verify-fail/route.ts',projectPaths['apiV1F']+'/payment/method/route.ts',projectPaths['apiV1F']+'/password/reset-password/route.ts',projectPaths['apiV1F']+'/password/forgot-password/route.ts',projectPaths['apiV1F']+'/other-user/route.ts',projectPaths['apiV1F']+'/other-user/[id]/route.ts',projectPaths['apiV1F']+'/log/route.ts',projectPaths['apiV1F']+'/blob/route.ts',projectPaths['apiV1F']+'/[resourceName]/route.ts',projectPaths['apiV1F']+'/[resourceName]/upsert/route.ts',projectPaths['apiV1F']+'/[resourceName]/[id]/route.ts',projectPaths['apiV1F']+'/markdown/route.ts'];const allFilesToCopy=[...filesToCopy,...rootFilesToCopy,...appFilesToCopy,...apiRoutesToCopy];
|
|
5
|
+
|
|
6
|
+
export { allFilesToCopy, apiRoutesToCopy, appFilesToCopy, filesToCopy, normalizePathForRollUpCopy, pageFilesToCopy, rootFilesToCopy };
|
package/package.json
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fernir2/saas-kit-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.41-1096",
|
|
4
4
|
"description": "CLI for creating saas-kit apps",
|
|
5
5
|
"bin": {
|
|
6
6
|
"saaskitcli": "./level2/cli/bin/index.js"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@
|
|
9
|
+
"@ai-sdk/deepinfra": "2.0.22",
|
|
10
|
+
"@ai-sdk/google": "3.0.29",
|
|
11
|
+
"@ai-sdk/groq": "3.0.16",
|
|
12
|
+
"@ai-sdk/react": "3.0.50",
|
|
13
|
+
"@aws-sdk/client-s3": "3.1036.0",
|
|
14
|
+
"@base-ui/react": "1.1.0",
|
|
10
15
|
"@dnd-kit/core": "6.3.1",
|
|
11
|
-
"@docusaurus/core": "3.
|
|
12
|
-
"@docusaurus/plugin-content-docs": "3.
|
|
13
|
-
"@docusaurus/preset-classic": "3.
|
|
14
|
-
"@docusaurus/tsconfig": "3.
|
|
16
|
+
"@docusaurus/core": "3.10.0",
|
|
17
|
+
"@docusaurus/plugin-content-docs": "3.10.0",
|
|
18
|
+
"@docusaurus/preset-classic": "3.10.0",
|
|
19
|
+
"@docusaurus/tsconfig": "3.10.0",
|
|
15
20
|
"@gitbeaker/rest": "42.5.0",
|
|
16
|
-
"@googleapis/sheets": "
|
|
21
|
+
"@googleapis/sheets": "13.0.1",
|
|
17
22
|
"@hookform/resolvers": "3.10.0",
|
|
18
23
|
"@libsql/client": "0.15.15",
|
|
19
|
-
"@next/eslint-plugin-next": "16.
|
|
24
|
+
"@next/eslint-plugin-next": "16.2.1",
|
|
20
25
|
"@node-rs/argon2": "2.0.2",
|
|
21
|
-
"@nx/s3-cache": "5.0.0",
|
|
22
|
-
"@pulumi/kubernetes": "4.23.0",
|
|
23
|
-
"@pulumi/pulumi": "3.204.0",
|
|
24
26
|
"@radix-ui/react-avatar": "1.1.10",
|
|
25
27
|
"@radix-ui/react-checkbox": "1.3.3",
|
|
26
28
|
"@radix-ui/react-collapsible": "1.1.12",
|
|
@@ -30,22 +32,17 @@
|
|
|
30
32
|
"@radix-ui/react-popover": "1.1.15",
|
|
31
33
|
"@radix-ui/react-radio-group": "1.3.8",
|
|
32
34
|
"@radix-ui/react-select": "2.2.6",
|
|
33
|
-
"@radix-ui/react-separator": "1.1.7",
|
|
34
35
|
"@radix-ui/react-slot": "1.2.3",
|
|
35
36
|
"@radix-ui/react-switch": "1.2.6",
|
|
36
37
|
"@radix-ui/react-tabs": "1.1.13",
|
|
37
38
|
"@radix-ui/react-tooltip": "1.2.8",
|
|
38
39
|
"@react-oauth/google": "0.12.2",
|
|
39
|
-
"@rollup/plugin-alias": "5.1.1",
|
|
40
|
-
"@rollup/plugin-commonjs": "28.0.6",
|
|
41
|
-
"@rollup/plugin-json": "6.1.0",
|
|
42
|
-
"@rollup/plugin-node-resolve": "16.0.3",
|
|
43
40
|
"@stripe/react-stripe-js": "3.9.2",
|
|
44
41
|
"@stripe/stripe-js": "4.10.0",
|
|
45
|
-
"@t3-oss/env-nextjs": "0.13.8",
|
|
46
42
|
"@typescript-eslint/utils": "8.43.0",
|
|
43
|
+
"ai": "6.0.48",
|
|
47
44
|
"arctic": "1.9.2",
|
|
48
|
-
"cheerio": "1.
|
|
45
|
+
"cheerio": "1.2.0",
|
|
49
46
|
"class-variance-authority": "0.7.1",
|
|
50
47
|
"clsx": "2.1.1",
|
|
51
48
|
"cmdk": "1.1.1",
|
|
@@ -53,9 +50,8 @@
|
|
|
53
50
|
"date-fns": "3.6.0",
|
|
54
51
|
"dayjs": "1.11.18",
|
|
55
52
|
"dotenv": "16.5.0",
|
|
56
|
-
"drizzle-orm": "0.
|
|
53
|
+
"drizzle-orm": "0.45.2",
|
|
57
54
|
"esbuild": "0.25.9",
|
|
58
|
-
"geist": "1.4.2",
|
|
59
55
|
"groq-sdk": "0.9.1",
|
|
60
56
|
"ioredis": "5.7.0",
|
|
61
57
|
"istanbul-lib-coverage": "3.2.2",
|
|
@@ -68,34 +64,32 @@
|
|
|
68
64
|
"lru-cache": "11.1.0",
|
|
69
65
|
"lucide-react": "0.503.0",
|
|
70
66
|
"module-alias": "2.2.3",
|
|
71
|
-
"next": "16.
|
|
72
|
-
"nodemailer": "
|
|
67
|
+
"next": "16.2.4",
|
|
68
|
+
"nodemailer": "8.0.5",
|
|
73
69
|
"pg-boss": "10.3.2",
|
|
74
|
-
"plaid": "
|
|
75
|
-
"playwright": "1.
|
|
70
|
+
"plaid": "42.1.0",
|
|
71
|
+
"playwright": "1.59.1",
|
|
76
72
|
"pluralize": "8.0.0",
|
|
77
73
|
"postgres": "3.4.7",
|
|
78
74
|
"prism-react-renderer": "2.4.1",
|
|
79
75
|
"quill": "2.0.3",
|
|
80
|
-
"react": "19.2.
|
|
76
|
+
"react": "19.2.4",
|
|
81
77
|
"react-colorful": "5.6.1",
|
|
82
78
|
"react-day-picker": "9.11.1",
|
|
83
|
-
"react-dom": "19.2.
|
|
79
|
+
"react-dom": "19.2.4",
|
|
84
80
|
"react-grid-layout": "1.5.2",
|
|
85
81
|
"react-hook-form": "7.62.0",
|
|
86
82
|
"react-resizable-panels": "2.1.9",
|
|
87
83
|
"recharts": "2.15.4",
|
|
88
|
-
"rollup": "4.
|
|
89
|
-
"rollup-obfuscator": "4.1.1",
|
|
84
|
+
"rollup": "4.60.2",
|
|
90
85
|
"rollup-plugin-esbuild": "6.2.1",
|
|
91
86
|
"rollup-plugin-obfuscator": "1.1.0",
|
|
92
|
-
"rollup-plugin-postcss": "4.0.2",
|
|
93
87
|
"rollup-plugin-typescript-paths": "1.5.0",
|
|
94
88
|
"screenshotone-api-sdk": "1.1.21",
|
|
95
89
|
"sharp": "0.33.5",
|
|
96
|
-
"simple-git": "3.
|
|
97
|
-
"socket.io": "4.8.
|
|
98
|
-
"socket.io-client": "4.8.
|
|
90
|
+
"simple-git": "3.33.0",
|
|
91
|
+
"socket.io": "4.8.3",
|
|
92
|
+
"socket.io-client": "4.8.3",
|
|
99
93
|
"sonner": "2.0.7",
|
|
100
94
|
"stripe": "16.12.0",
|
|
101
95
|
"tailwind-merge": "3.3.1",
|
|
@@ -104,24 +98,19 @@
|
|
|
104
98
|
"ts-prune": "0.10.3",
|
|
105
99
|
"tslib": "2.8.1",
|
|
106
100
|
"tsx": "4.20.5",
|
|
107
|
-
"uuid": "
|
|
101
|
+
"uuid": "14.0.0",
|
|
108
102
|
"v8-to-istanbul": "9.3.0",
|
|
109
|
-
"webpack": "5.
|
|
103
|
+
"webpack": "5.106.2",
|
|
110
104
|
"zod": "3.25.76"
|
|
111
105
|
},
|
|
112
106
|
"devDependencies": {
|
|
113
|
-
"@docusaurus/module-type-aliases": "3.
|
|
114
|
-
"@docusaurus/types": "3.
|
|
107
|
+
"@docusaurus/module-type-aliases": "3.10.0",
|
|
108
|
+
"@docusaurus/types": "3.10.0",
|
|
115
109
|
"@eslint-stylistic/metadata": "5.3.1",
|
|
116
110
|
"@eslint/eslintrc": "3.3.1",
|
|
117
111
|
"@eslint/js": "9.35.0",
|
|
118
112
|
"@mdx-js/react": "3.1.1",
|
|
119
|
-
"@
|
|
120
|
-
"@nx/js": "22.3.3",
|
|
121
|
-
"@nx/next": "22.3.3",
|
|
122
|
-
"@rollup/plugin-babel": "6.1.0",
|
|
123
|
-
"@rollup/plugin-terser": "0.4.4",
|
|
124
|
-
"@rollup/plugin-typescript": "12.1.4",
|
|
113
|
+
"@rollup/plugin-babel": "7.0.0",
|
|
125
114
|
"@stylistic/eslint-plugin": "5.3.1",
|
|
126
115
|
"@stylistic/eslint-plugin-jsx": "4.4.1",
|
|
127
116
|
"@tailwindcss/postcss": "4.1.16",
|
|
@@ -134,10 +123,10 @@
|
|
|
134
123
|
"@types/lodash.debounce": "4.0.9",
|
|
135
124
|
"@types/lodash.isequal": "4.5.8",
|
|
136
125
|
"@types/lru-cache": "7.10.10",
|
|
137
|
-
"@types/node": "24.
|
|
138
|
-
"@types/nodemailer": "
|
|
126
|
+
"@types/node": "24.12.2",
|
|
127
|
+
"@types/nodemailer": "8.0.0",
|
|
139
128
|
"@types/pluralize": "0.0.33",
|
|
140
|
-
"@types/react": "19.2.
|
|
129
|
+
"@types/react": "19.2.14",
|
|
141
130
|
"@types/react-dom": "19.2.3",
|
|
142
131
|
"@types/react-grid-layout": "1.3.5",
|
|
143
132
|
"@types/swagger-ui-react": "5.18.0",
|
|
@@ -151,9 +140,10 @@
|
|
|
151
140
|
"cli-table3": "0.6.5",
|
|
152
141
|
"commander": "14.0.0",
|
|
153
142
|
"cross-env": "7.0.3",
|
|
154
|
-
"
|
|
143
|
+
"discord.js": "14.26.3",
|
|
144
|
+
"drizzle-kit": "0.31.10",
|
|
155
145
|
"eslint": "9.35.0",
|
|
156
|
-
"eslint-config-next": "16.
|
|
146
|
+
"eslint-config-next": "16.2.1",
|
|
157
147
|
"eslint-config-prettier": "10.1.8",
|
|
158
148
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
159
149
|
"eslint-plugin-github": "6.0.0",
|
|
@@ -168,23 +158,26 @@
|
|
|
168
158
|
"eslint-plugin-sonarjs": "3.0.5",
|
|
169
159
|
"globby": "16.0.0",
|
|
170
160
|
"husky": "9.1.7",
|
|
171
|
-
"nx": "22.3.3",
|
|
172
161
|
"postcss": "8.5.6",
|
|
173
162
|
"prettier": "3.6.2",
|
|
174
163
|
"prettier-plugin-tailwindcss": "0.7.1",
|
|
175
164
|
"raw-loader": "4.0.2",
|
|
176
165
|
"rollup-plugin-copy": "3.5.0",
|
|
177
|
-
"rollup-plugin-delete": "2.2.0",
|
|
178
|
-
"rollup-plugin-dts": "6.2.3",
|
|
179
166
|
"rollup-preserve-directives": "1.1.3",
|
|
180
|
-
"swagger-ui": "5.
|
|
181
|
-
"swagger-ui-react": "5.
|
|
167
|
+
"swagger-ui": "5.32.4",
|
|
168
|
+
"swagger-ui-react": "5.32.4",
|
|
182
169
|
"tailwindcss": "4.1.17",
|
|
183
170
|
"ts-node": "10.9.2",
|
|
184
|
-
"typedoc": "0.28.
|
|
185
|
-
"typedoc-plugin-markdown": "4.
|
|
171
|
+
"typedoc": "0.28.19",
|
|
172
|
+
"typedoc-plugin-markdown": "4.11.0",
|
|
186
173
|
"typescript": "5.9.2",
|
|
187
|
-
"typescript-eslint": "8.
|
|
174
|
+
"typescript-eslint": "8.59.0",
|
|
175
|
+
"@pulumi/kubernetes": "4.23.0",
|
|
176
|
+
"@pulumi/pulumi": "3.232.0",
|
|
177
|
+
"@pulumi/command": "1.2.1",
|
|
178
|
+
"@muhlba91/pulumi-proxmoxve": "7.13.0",
|
|
179
|
+
"bcrypt": "6.0.0",
|
|
180
|
+
"@types/bcrypt": "6.0.0"
|
|
188
181
|
},
|
|
189
182
|
"type": "module"
|
|
190
183
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
const aliases={'src':'@','cli':'@cli','server':'@server','generated':'@schemas','npmCommands':'@npm-commands','root':'@root','enricher':'@enricher','packages':'@packages','common':'@common','meta':'@meta','fdToolbox':'@fd-toolbox','fdToolboxCore':'@fd-toolbox-core','fdComponentToolbox':'@fd-component-toolbox','fdAppToolbox':'@fd-app-toolbox','client':'@client','baseRepo':'@base-repo','internalCli':'@internal-cli','infra':'@infra','flint':'@flint','test':'@test','db':'@db'};
|
|
5
|
-
|
|
6
|
-
exports.aliases = aliases;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
const aliasSymbols={'atSign':'@','rootAlias':'@root/'};const typescriptAliases={'@':'./src','@cli':'./packages/level2/cli','@server':'./packages/level2/server','@schemas':'./generated','@npm-commands':'./packages/level2/npm-commands','@root':'.','@enricher':'./packages/level2/enricher','@packages':'./packages','@common':'./packages/level2/common','@meta':'./packages/level2/meta','@fd-toolbox':'./packages/fd-toolbox','@fd-toolbox-core':'./packages/fd-toolbox-core','@fd-component-toolbox':'./packages/level2/fd-component-toolbox','@fd-app-toolbox':'./packages/level2/fd-app-toolbox','@client':'./packages/level2/client'};const modulePathAliases=Object['fromEntries'](Object['entries'](typescriptAliases)['map'](([_0x34fbf7,_0xacf5aa])=>[_0x34fbf7+'/*',[_0xacf5aa+'/*']]));
|
|
5
|
-
|
|
6
|
-
exports.aliasSymbols = aliasSymbols;
|
|
7
|
-
exports.modulePathAliases = modulePathAliases;
|
|
8
|
-
exports.typescriptAliases = typescriptAliases;
|