@fernir2/saas-kit-cli 0.1.31 → 0.1.33

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.
Files changed (147) hide show
  1. package/base-repo/app-constants/aliases.cjs.js +1 -1
  2. package/base-repo/app-constants/aliases.js +1 -1
  3. package/base-repo/app-constants/project-paths.cjs.js +3 -1
  4. package/base-repo/app-constants/project-paths.js +3 -2
  5. package/base-repo/constants/packages.cjs2.js +6 -0
  6. package/base-repo/constants/packages2.js +4 -0
  7. package/cli/.env.example +55 -0
  8. package/cli/.gitlab-ci.yml +1 -0
  9. package/cli/bin/index.ts +35 -9
  10. package/cli/next.config.js +73 -48
  11. package/cli/package-template.json +15 -12
  12. package/cli/public/images/00000000-0000-0000-0000-000000000000.webp +0 -0
  13. package/cli/public/images/companies/00000000-0000-0000-0000-000000000000.webp +0 -0
  14. package/cli/public/images/companies/004a196f-f9a7-49fc-9e05-606fffd0613c.webp +0 -0
  15. package/cli/public/images/companies/497b26a6-3e91-4b27-8c24-f3b145fc6c7f.webp +0 -0
  16. package/cli/public/images/companies/6cead29b-2572-4283-add6-f407b39d7135.webp +0 -0
  17. package/cli/public/images/companies/71efdb77-4ecb-45e6-bc83-0fdff835c2e7.webp +0 -0
  18. package/cli/public/images/companies/773602c8-a417-4afc-adb0-bb6856ac2970.webp +0 -0
  19. package/cli/public/images/companies/9d09881a-cf60-438d-9edf-10f5864d4468.webp +0 -0
  20. package/cli/public/images/companies/a1b2c3d4-e5f6-7890-1234-56789abcdef0.webp +0 -0
  21. package/cli/public/images/companies/b04d7c5e-18de-4f44-b923-5bfb28bb33bb.webp +0 -0
  22. package/cli/public/images/companies/c75c22fc-d295-472e-bdae-dbb8eb09cf18.webp +0 -0
  23. package/cli/public/images/companies/cdf3efb4-33a2-485e-8d95-e0ab5a4cb6a5.webp +0 -0
  24. package/cli/public/images/companies/d6fe4c6a-ecdb-40fc-a8e6-2044ef2b82d4.webp +0 -0
  25. package/cli/public/images/contacts/159e4c7a-ff5f-4162-8237-acec3ca8a759.webp +0 -0
  26. package/cli/public/images/contacts/65e07208-6b1f-4a59-b5e3-2f80f5741b18.webp +0 -0
  27. package/cli/public/images/contacts/6d1c5410-ef5b-4d37-8b8d-4ab8cfc87785.webp +0 -0
  28. package/cli/public/images/contacts/754c77d8-eefb-4a90-b07b-ed00980c88b4.webp +0 -0
  29. package/cli/public/images/contacts/9fd23cd9-9b94-4bb8-bb73-d315b93b8a5c.webp +0 -0
  30. package/cli/public/images/contacts/b2f746d1-6b3c-4c47-8e07-f73927c167cb.webp +0 -0
  31. package/cli/public/images/contacts/b515cb46-eab4-4862-9e8e-c2f5f217ae79.webp +0 -0
  32. package/cli/public/images/contacts/cf2eae72-e5ab-4d95-8f08-b6571b44f8eb.webp +0 -0
  33. package/cli/public/images/contacts/ec0e0285-22d9-48d4-b4b3-96388c37c807.webp +0 -0
  34. package/cli/public/images/contacts/ecb1a0f4-d244-4136-badf-c2bc72e3b678.webp +0 -0
  35. package/cli/public/images/login-image-dark.jpg +0 -0
  36. package/cli/public/images/login-image.jpg +0 -0
  37. package/cli/public/images/no-image.png +0 -0
  38. package/cli/public/images/profile.png +0 -0
  39. package/cli/public/images/search-not-found-result.png +0 -0
  40. package/cli/public/images/shipment/076aecd1-7fb8-5d89-baa9-e48e61048525.pdf +0 -0
  41. package/cli/public/images/shipment/21884fb7-6e39-4f7b-9a49-0f46d527f50c.pdf +0 -0
  42. package/cli/public/images/shipment/e6367904-081e-479b-a8c5-5972057a261e.pdf +0 -0
  43. package/cli/public/images/store/00000000-0000-0000-0000-000000000000.webp +0 -0
  44. package/cli/public/images/test/photo-1460925895917-afdab827c52f.jpg +0 -0
  45. package/cli/public/images/test/photo-1499636136210-6f4ee915583e.jpg +0 -0
  46. package/cli/public/images/test/photo-1519681393784-d120267933ba.jpg +0 -0
  47. package/cli/public/images/toolbar-logo.png +0 -0
  48. package/cli/public/images/users/00000000-0000-0000-0000-000000000000.webp +0 -0
  49. package/cli/public/images/users/02d1230f-5bfe-46b4-8ce1-d10f4aa918a7.webp +0 -0
  50. package/cli/public/images/users/166c5e4a-696f-4bf5-ab48-dbbb5e90d526.webp +0 -0
  51. package/cli/public/images/users/175a3f0c-692c-4503-87eb-ff95d6535e16.webp +0 -0
  52. package/cli/public/images/users/8398ee85-7546-4710-b628-44c98e4ba03a.webp +0 -0
  53. package/cli/public/images/users/979f8933-71b1-4df8-b691-566a901d3c76.webp +0 -0
  54. package/cli/public/images/users/fbe37132-31bc-4fc9-9bfb-aac7a1b61a7f.webp +0 -0
  55. package/cli/src/app/f/(private)/dashboard/page.tsx +8 -0
  56. package/cli/src/app/f/(private)/dynamiclayout/page.tsx +8 -0
  57. package/cli/src/app/f/(private)/edituser/[id]/page.tsx +8 -0
  58. package/cli/src/app/f/(private)/edituser/page.tsx +8 -0
  59. package/cli/src/app/f/(private)/layout.tsx +5 -0
  60. package/cli/src/app/f/(private)/lm/page.tsx +8 -0
  61. package/cli/src/app/f/(private)/payment-plans/page.tsx +8 -0
  62. package/cli/src/app/f/(private)/preload/page.tsx +8 -0
  63. package/cli/src/app/f/(private)/statusboard/page.tsx +8 -0
  64. package/cli/src/app/f/(private)/userlist/page.tsx +8 -0
  65. package/cli/src/app/f/(private)/view/page.tsx +8 -0
  66. package/cli/src/app/f/defaultRedirect/page.tsx +9 -0
  67. package/cli/src/app/f/editpassword/page.tsx +8 -0
  68. package/cli/src/app/f/forgotpassword/page.tsx +13 -0
  69. package/cli/src/app/f/resetpassword/page.tsx +16 -0
  70. package/cli/src/app/f/sign-in/microsoft/page.tsx +8 -0
  71. package/cli/src/app/f/sign-in/page.tsx +13 -0
  72. package/cli/src/app/f/sign-up/page.tsx +13 -0
  73. package/cli/src/app/f/test/feed/page.tsx +8 -0
  74. package/cli/src/app/f/test/file-upload/page.tsx +8 -0
  75. package/cli/src/app/f/test/layout.tsx +5 -0
  76. package/cli/src/app/f/test/page.tsx +8 -0
  77. package/cli/tailwind.config.ts +1 -1
  78. package/level2/cli/create-saas-kit-app/bin/index.cjs.js +4 -4
  79. package/level2/cli/create-saas-kit-app/bin/index.js +4 -4
  80. package/level2/fd-toolbox/api/api-client.cjs.js +1 -1
  81. package/level2/fd-toolbox/api/api-client.js +1 -1
  82. package/level2/fd-toolbox/api/api-path-names.cjs.js +2 -2
  83. package/level2/fd-toolbox/api/api-paths.cjs.js +1 -1
  84. package/level2/fd-toolbox/api/api-paths.js +1 -1
  85. package/level2/fd-toolbox/api/base-api.cjs.js +1 -1
  86. package/level2/fd-toolbox/api/base-api.js +1 -1
  87. package/level2/fd-toolbox/auth/login-states.cjs.js +1 -1
  88. package/level2/fd-toolbox/auth/login-states.js +1 -1
  89. package/level2/fd-toolbox/auth/session-storage.cjs.js +1 -1
  90. package/level2/fd-toolbox/auth/session-storage.js +1 -1
  91. package/level2/fd-toolbox/auth/tokens.cjs.js +1 -1
  92. package/level2/fd-toolbox/auth/tokens.js +1 -1
  93. package/level2/fd-toolbox/constants/constants.cjs.js +1 -1
  94. package/level2/fd-toolbox/constants/constants.js +1 -1
  95. package/level2/fd-toolbox/enums/enums.cjs.js +1 -1
  96. package/level2/fd-toolbox/enums/enums.js +1 -1
  97. package/level2/fd-toolbox/errors/error-handler.cjs.js +1 -1
  98. package/level2/fd-toolbox/errors/error-handler.js +1 -1
  99. package/level2/fd-toolbox/errors/errors.cjs.js +1 -1
  100. package/level2/fd-toolbox/errors/errors.js +1 -1
  101. package/level2/fd-toolbox/errors/problem-details.cjs.js +1 -1
  102. package/level2/fd-toolbox/errors/problem-details.js +1 -1
  103. package/level2/fd-toolbox/functions/value-checking-functions.cjs.js +1 -1
  104. package/level2/fd-toolbox/functions/value-checking-functions.js +1 -1
  105. package/level2/fd-toolbox/http/url/urls.cjs.js +1 -1
  106. package/level2/fd-toolbox/http/url/urls.js +1 -1
  107. package/level2/fd-toolbox/infra/env-config.cjs.js +2 -2
  108. package/level2/fd-toolbox/infra/env-config.js +2 -2
  109. package/level2/fd-toolbox/infra/env-functions.cjs.js +1 -1
  110. package/level2/fd-toolbox/infra/env-functions.js +1 -1
  111. package/level2/fd-toolbox/infra/env-schema.cjs.js +2 -2
  112. package/level2/fd-toolbox/infra/env-schema.js +2 -2
  113. package/level2/fd-toolbox/infra/env-store.cjs.js +1 -1
  114. package/level2/fd-toolbox/infra/env-store.js +1 -1
  115. package/level2/fd-toolbox/lib/environments.cjs.js +1 -1
  116. package/level2/fd-toolbox/lib/environments.js +1 -1
  117. package/level2/fd-toolbox/lib/utils.cjs.js +1 -1
  118. package/level2/fd-toolbox/lib/utils.js +1 -1
  119. package/level2/fd-toolbox/local-storage/local-storage.cjs.js +1 -1
  120. package/level2/fd-toolbox/local-storage/local-storage.js +1 -1
  121. package/level2/fd-toolbox/logging/loggers.cjs.js +1 -1
  122. package/level2/fd-toolbox/logging/loggers.js +1 -1
  123. package/level2/fd-toolbox/notifications.cjs.js +2 -2
  124. package/level2/fd-toolbox/notifications.js +2 -2
  125. package/level2/fd-toolbox/odata/odata-constants.cjs.js +1 -1
  126. package/level2/fd-toolbox/odata/odata-constants.js +1 -1
  127. package/level2/fd-toolbox/odata/odatas.cjs.js +1 -1
  128. package/level2/fd-toolbox/odata/odatas.js +1 -1
  129. package/level2/fd-toolbox/odata/services/odata-filters.cjs.js +1 -1
  130. package/level2/fd-toolbox/odata/services/odata-filters.js +1 -1
  131. package/level2/fd-toolbox/paths/paths-names.cjs.js +2 -2
  132. package/level2/fd-toolbox/paths/paths-names.js +1 -1
  133. package/level2/fd-toolbox/routing/login-routers.cjs.js +1 -1
  134. package/level2/fd-toolbox/routing/login-routers.js +1 -1
  135. package/level2/fd-toolbox/routing/paths.cjs.js +1 -1
  136. package/level2/fd-toolbox/routing/paths.js +1 -1
  137. package/level2/fd-toolbox/strings/strings-constants.cjs.js +1 -1
  138. package/level2/fd-toolbox/strings/strings-constants.js +1 -1
  139. package/level2/fd-toolbox/strings/strings.cjs.js +1 -1
  140. package/level2/fd-toolbox/strings/strings.js +1 -1
  141. package/level2/fd-toolbox/types/ensure-type.cjs.js +1 -1
  142. package/level2/fd-toolbox/types/ensure-type.js +1 -1
  143. package/level2/fd-toolbox-core/core/name-of.cjs.js +1 -1
  144. package/level2/fd-toolbox-core/core/name-of.js +1 -1
  145. package/level2/fd-toolbox-core/types/resource-with-id.cjs.js +1 -1
  146. package/level2/fd-toolbox-core/types/resource-with-id.js +1 -1
  147. package/package.json +23 -15
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import DynamicLayoutPage from "@client/pages/dynamic-layout-page/DynamicLayoutPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <DynamicLayoutPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import EditUserByIdPage from "@client/pages/edit-user-by-id-page/EditUserByIdPage";
3
+
4
+ const Page = httpWrapper(async ({ params }) => {
5
+ return <EditUserByIdPage params={params} />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import EditUserPage from "@client/pages/edit-user-page/EditUserPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <EditUserPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,5 @@
1
+ import { PrivateLayout } from "@fd-app-toolbox/server/layout/private-layout/PrivateLayout";
2
+
3
+ export default async function Layout({ children }: { children: React.ReactNode }) {
4
+ return <PrivateLayout>{children}</PrivateLayout>;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import LeadsViewPage from "@client/pages/leads-viw-page/LeadsViewPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <LeadsViewPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import PaymentPlanPage from "@client/pages/payment-plan-page/PaymentPlanPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <PaymentPlanPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import PreloadPage from "@client/pages/preload-page/PreloadPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <PreloadPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import StatusBoardPage from "@client/pages/status-board-page/StatusBoardPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <StatusBoardPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import UserListPage from "@client/pages/user-list-page/UserListPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <UserListPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import ViewPage from "@client/pages/view-page/ViewPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+
4
+ const Page = httpWrapper(async ({ searchParams }) => {
5
+ return <ViewPage searchParams={searchParams} />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,9 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ const Page = httpWrapper(
3
+ async () => {
4
+ return null;
5
+ },
6
+ { isAnonymous: true },
7
+ );
8
+
9
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import EditPasswordPage from "@client/pages/edit-password-page/EditPasswordPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <EditPasswordPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,13 @@
1
+ import ForgotPasswordPage from "@client/pages/forgot-password-page/ForgotPasswordPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+
4
+ export const dynamic = "force-dynamic";
5
+
6
+ const Page = httpWrapper(
7
+ async () => {
8
+ return <ForgotPasswordPage />;
9
+ },
10
+ { isAnonymous: true },
11
+ );
12
+
13
+ export default Page;
@@ -0,0 +1,16 @@
1
+ import ResetPasswordPage from "@client/pages/reset-password-page/ResetPasswordPage";
2
+ import { httpWrapper } from "@server/web/http-wrapper";
3
+ import { Suspense } from "react";
4
+
5
+ const Page = httpWrapper(
6
+ async () => {
7
+ return (
8
+ <Suspense>
9
+ <ResetPasswordPage />
10
+ </Suspense>
11
+ );
12
+ },
13
+ { isAnonymous: true },
14
+ );
15
+
16
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import MicrosoftPage from "@client/pages/microsoft-page/MicrosoftPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <MicrosoftPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,13 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import SignInPage from "@client/pages/sign-in-page/SignInPage";
3
+
4
+ export const dynamic = "force-dynamic";
5
+
6
+ const Page = httpWrapper(
7
+ async () => {
8
+ return <SignInPage />;
9
+ },
10
+ { isAnonymous: true },
11
+ );
12
+
13
+ export default Page;
@@ -0,0 +1,13 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import SignUpPage from "@client/pages/sign-up-page/SignUpPage";
3
+
4
+ export const dynamic = "force-dynamic";
5
+
6
+ const Page = httpWrapper(
7
+ async ({ searchParams }) => {
8
+ return <SignUpPage searchParams={searchParams} />;
9
+ },
10
+ { isAnonymous: true },
11
+ );
12
+
13
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import FeedPage from "@client/pages/feed-page/FeedPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <FeedPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import FileUploadPage from "@client/pages/file-upload-page/FileUploadPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <FileUploadPage />;
6
+ });
7
+
8
+ export default Page;
@@ -0,0 +1,5 @@
1
+ import TestLayout from "@client/pages/test-layout/TestLayout";
2
+
3
+ export default async function Layout({ children }: { children: React.ReactNode }) {
4
+ return <TestLayout>{children}</TestLayout>;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { httpWrapper } from "@server/web/http-wrapper";
2
+ import TestPage from "@client/pages/test-page/TestPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <TestPage />;
6
+ });
7
+
8
+ export default Page;
@@ -7,7 +7,7 @@ config.content = [
7
7
  "./components/**/*.{ts,tsx}",
8
8
  "./app/**/*.{ts,tsx}",
9
9
  "./src/**/*.{ts,tsx}",
10
- "./node_modules/@fernir2/saas-kit/src/**/*.{js,ts,jsx,tsx}",
10
+ "./node_modules/@fernir2/saas-kit/**/*.{js,ts,jsx,tsx}",
11
11
  ];
12
12
 
13
13
  export default config;
@@ -5,8 +5,8 @@
5
5
  var child_process = require('child_process');
6
6
  var fs = require('fs');
7
7
  var node_url = require('node:url');
8
- var _0x5dc41a = require('path');
9
- var _0x463737 = require('node:fs');
8
+ var _0xb33463 = require('path');
9
+ var _0x245332 = require('node:fs');
10
10
  var createAppConstants = require('../../../../base-repo/constants/create-app-constants.cjs.js');
11
11
  var loggers = require('../../../fd-toolbox/logging/loggers.cjs.js');
12
12
  var constants = require('../../../fd-toolbox/constants/constants.cjs.js');
@@ -35,6 +35,6 @@ function _interopNamespaceDefault(e) {
35
35
  return Object.freeze(n);
36
36
  }
37
37
 
38
- var _0x5dc41a__namespace = /*#__PURE__*/_interopNamespaceDefault(_0x5dc41a);
38
+ var _0xb33463__namespace = /*#__PURE__*/_interopNamespaceDefault(_0xb33463);
39
39
 
40
- 'use strict';var __defProp=Object['defineProperty'],__name=(_0x99d418,_0x4bade2)=>__defProp(_0x99d418,'name',{'value':_0x4bade2,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x1704+-0xee4+0x4d*-0x1b));const filename=node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('level2/cli/create-saas-kit-app/bin/index.cjs.js', document.baseURI).href))),sourceDir='../../../../',binDir=_0x5dc41a__namespace['dirname'](filename),repoRoot=_0x5dc41a__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x5dc41a__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/.env'),envTemplate=_0x463737['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0xe7bec2,_0x25e58f){loggers.logInfoRaw('Executing:\x20'+_0xe7bec2);try{child_process.execSync(_0xe7bec2,{'stdio':'inherit','cwd':_0x25e58f??process['cwd']()});}catch(_0x185b91){const _0x4f6f31=_0x185b91 instanceof Error?_0x185b91['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0xe7bec2),loggers.logStringError(_0x4f6f31),process['exit'](0x12db+-0x13c9+0xef);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x2d3b95){fs.existsSync(_0x2d3b95)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x5dc41a__namespace['basename'](_0x2d3b95)+'\x22\x20already\x20exists.'),process['exit'](-0x1*0x1a73+0xb03*-0x1+0x1*0x2577));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0xe6166a=_0x5dc41a__namespace['resolve'](repoRoot,'package.json'),_0x5e2510=JSON['parse'](_0x463737['readFileSync'](_0xe6166a,'utf-8'));return String(_0x5e2510['devDependencies']?.['next']??_0x5e2510['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x5039a3,_0x4f3e7d){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x5d2de0=getCreateNextAppVersion(),_0x36dd3a=['npx\x20create-next-app@'+_0x5d2de0+'\x20\x22'+_0x5039a3+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x36dd3a,_0x5dc41a__namespace['dirname'](_0x4f3e7d)),loggers.logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x3cef3b){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x3e3cf6=_0x5dc41a__namespace['join'](_0x3cef3b,'.env');try{await fs.promises['writeFile'](_0x3e3cf6,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x2ad461){const _0x2adad5=_0x2ad461 instanceof Error?_0x2ad461['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x2adad5);throw _0x2ad461;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x30faac){const _0x3445fa=_0x5dc41a__namespace['join'](_0x30faac,'package.json'),_0x3f22fd=_0x5dc41a__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x23ed92=JSON['parse'](await fs.promises['readFile'](_0x3445fa,'utf8')),_0x361ce7=_0x23ed92['name'],_0x5d0c34=JSON['parse'](await fs.promises['readFile'](_0x3f22fd,'utf8')),_0x16fd0e={..._0x5d0c34,'name':_0x361ce7};await fs.promises['writeFile'](_0x3445fa,JSON['stringify'](_0x16fd0e,null,0x1*-0x26ab+-0x1a39+0x40e6)+'\x0a','utf8');}catch(_0x5b9c86){const _0x29aa85=_0x5b9c86 instanceof Error?_0x5b9c86['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x29aa85);throw _0x5b9c86;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x5b5aab){const _0x509901=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x5b5aab['replace'](_0x509901,(_0x5c14d5,_0x2131ad,_0x13f2b6,_0x1c64cb)=>{if(!_0x13f2b6['startsWith'](aliases.aliasSymbols['atSign'])||_0x13f2b6['startsWith'](packages.npmPackages['saasKit']))return _0x5c14d5;if(_0x13f2b6['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x13f2b6['includes']('/'+projectPaths.folders['server']+'/'))return ''+_0x2131ad+packages.npmPackages['saasKitServer']+_0x1c64cb;return ''+_0x2131ad+packages.npmPackages['saasKit']+_0x1c64cb;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x52344c){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x418262 of path.allFilesToCopy){const _0x24673a=projectPaths.folders['cli']+'/'+_0x418262,_0x575ab2=_0x5dc41a__namespace['join'](repoRoot,_0x24673a),_0x25253b=replaceToolsFolder(_0x418262),_0x5e7b6a=_0x5dc41a__namespace['join'](_0x52344c,_0x25253b);if(fs.existsSync(_0x575ab2)){const _0x4610f8=await fs.promises['stat'](_0x575ab2);_0x4610f8['isDirectory']()?await copyDirectoryContents(_0x575ab2,_0x5e7b6a):await copyAndProcessFile(_0x575ab2,_0x5e7b6a);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x24673a);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x125545){let _0x1ee871=_0x125545;for(const [_0x4452ae,_0x42ac5c]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x1ee871['startsWith'](_0x4452ae)&&ensureType.isWithIndexer(_0x42ac5c)){const _0x22bfda=_0x42ac5c;for(const _0x24b148 in _0x22bfda){const _0x51e359=_0x22bfda[_0x24b148];ensureType.isString(_0x51e359)&&(_0x1ee871=_0x1ee871['replace'](_0x24b148,_0x51e359));}break;}}return _0x1ee871;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x49e6d7,_0x258beb,_0x504c0f=![]){const _0xb08657=_0x5dc41a__namespace['relative'](_0x258beb,_0x49e6d7),_0x275afe=_0xb08657['split'](_0x5dc41a__namespace['sep']),_0x564359=_0x5dc41a__namespace['relative'](repoRoot,_0x49e6d7)['replace'](/\\/g,'/');return _0x504c0f&&foldersToIgnore['includes'](_0x564359)||foldersToIgnore['some'](_0x244bd6=>_0x275afe['some'](_0x45fdcb=>_0x45fdcb===_0x244bd6));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x485eff,_0x1a2e6b){!fs.existsSync(_0x1a2e6b)&&fs.mkdirSync(_0x1a2e6b,{'recursive':!![]});try{const _0x483832=await fs.promises['readdir'](_0x485eff,{'withFileTypes':!![]});for(const _0x16e182 of _0x483832){const _0x5e0155=_0x5dc41a__namespace['join'](_0x485eff,_0x16e182['name']),_0x209f48=_0x5dc41a__namespace['join'](_0x1a2e6b,_0x16e182['name']);!shouldIgnorePath(_0x5e0155,_0x485eff,_0x16e182['isDirectory']())&&(_0x16e182['isDirectory']()?await copyDirectoryContents(_0x5e0155,_0x209f48):await copyAndProcessFile(_0x5e0155,_0x209f48));}}catch(_0x35f041){const _0x3a6350=_0x35f041 instanceof Error?_0x35f041['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x485eff+':\x20'+_0x3a6350);throw _0x35f041;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0xe250f4,_0x2213e3){const _0x6b1c89=_0x5dc41a__namespace['dirname'](_0x2213e3);!fs.existsSync(_0x6b1c89)&&fs.mkdirSync(_0x6b1c89,{'recursive':!![]});const _0x40f3aa=await fs.promises['stat'](_0xe250f4);if(_0x40f3aa['isDirectory']())await copyDirectoryContents(_0xe250f4,_0x2213e3);else {const _0x5d3715=await fs.promises['readFile'](_0xe250f4,'utf8'),_0x336c69=replaceImports(_0x5d3715);await fs.promises['writeFile'](_0x2213e3,_0x336c69,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0xf1269b){for(const _0x5b42c2 of createAppConstants.additionalFoldersToCreate){const _0x32dd32=_0x5dc41a__namespace['join'](_0xf1269b,_0x5b42c2);!fs.existsSync(_0x32dd32)&&(fs.mkdirSync(_0x32dd32,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x5b42c2));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0xd8e01=process['argv']['slice'](-0x341+-0xa81*0x1+0xdc4);_0xd8e01['length']<0x13*0xb1+-0xfdb+0x2b9*0x1&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x135b+0x1873+0x517*-0x1));const _0x2c24e5=_0xd8e01[-0x2278+-0x3*-0x94d+-0x1*-0x692],_0x47c78d=_0x5dc41a__namespace['resolve'](process['cwd'](),_0x2c24e5);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x2c24e5+'\x22...\x0a');try{checkTargetFolder(_0x47c78d),createNextProject(_0x2c24e5,_0x47c78d),await copyProjectFiles(_0x47c78d),await overridePackageJson(_0x47c78d),createAdditionalFolders(_0x47c78d),await createEnvFile(_0x47c78d),await updateLayoutTitle(_0x47c78d,_0x2c24e5),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x2c24e5+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x2c24e5),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x374013){const _0x54c3d6=_0x374013 instanceof Error?_0x374013['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x54c3d6),fs.existsSync(_0x47c78d)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x47c78d,{'recursive':!![],'force':!![]})),process['exit'](0x1*-0xf29+-0x134b+-0x1*-0x2275);}}__name(main,'main');async function updateLayoutTitle(_0x51491d,_0x33cecd){const _0x2296be=_0x5dc41a__namespace['join'](_0x51491d,'src/app/layout.tsx');if(!fs.existsSync(_0x2296be))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x2296be+',\x20cannot\x20update\x20title.');let _0x43df8e=await fs.promises['readFile'](_0x2296be,'utf8');const _0xca60ad=/"SaaS Kit"/g;if(!_0xca60ad['test'](_0x43df8e))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x43df8e=_0x43df8e['replace'](_0xca60ad,'\x22'+_0x33cecd+'\x22'),await fs.promises['writeFile'](_0x2296be,_0x43df8e,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x483b08=>{const _0x21883b=_0x483b08 instanceof Error?_0x483b08['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x21883b),process['exit'](0x1ed2+-0x1*0x4c7+-0x1a0a);});
40
+ 'use strict';var __defProp=Object['defineProperty'],__name=(_0x2771c2,_0x372162)=>__defProp(_0x2771c2,'name',{'value':_0x372162,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](-0x1ff5+-0xce7+0x2cdd));const filename=node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('level2/cli/create-saas-kit-app/bin/index.cjs.js', document.baseURI).href))),sourceDir='../../../../',binDir=_0xb33463__namespace['dirname'](filename),repoRoot=_0xb33463__namespace['resolve'](binDir,sourceDir),envLocalPath=_0xb33463__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/'+projectPaths.files['env']),envTemplate=_0x245332['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0x459d5f,_0x4a33b9){loggers.logInfoRaw('Executing:\x20'+_0x459d5f);try{child_process.execSync(_0x459d5f,{'stdio':'inherit','cwd':_0x4a33b9??process['cwd']()});}catch(_0x202640){const _0x432752=_0x202640 instanceof Error?_0x202640['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0x459d5f),loggers.logStringError(_0x432752),process['exit'](-0x107+0x3fe*0x1+-0x2f6);}}__name(runCommand,'runCommand');function checkTargetFolder(_0xab8747){fs.existsSync(_0xab8747)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0xb33463__namespace['basename'](_0xab8747)+'\x22\x20already\x20exists.'),process['exit'](-0x1ff0+-0xc1*0x26+0x3c97));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x189ee8=_0xb33463__namespace['resolve'](repoRoot,'package.json'),_0x1cf741=JSON['parse'](_0x245332['readFileSync'](_0x189ee8,'utf-8'));return String(_0x1cf741['devDependencies']?.['next']??_0x1cf741['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x53dc38,_0x111a45){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0xb579a8=getCreateNextAppVersion(),_0x680dc3=['npx\x20create-next-app@'+_0xb579a8+'\x20\x22'+_0x53dc38+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x680dc3,_0xb33463__namespace['dirname'](_0x111a45)),loggers.logInfoRaw('Next.js\x20project\x20created!');const _0x14f500=_0xb33463__namespace['join'](_0x111a45,'next.config.ts');_0x245332['existsSync'](_0x14f500)&&(_0x245332['rmSync'](_0x14f500),loggers.logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x4d6f75){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x3de8a1=_0xb33463__namespace['join'](_0x4d6f75,'.env');try{await fs.promises['writeFile'](_0x3de8a1,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x55f18c){const _0x18823d=_0x55f18c instanceof Error?_0x55f18c['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x18823d);throw _0x55f18c;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x3262ba){const _0x1777b8=_0xb33463__namespace['join'](_0x3262ba,'package.json'),_0x3ced89=_0xb33463__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x3471b0=JSON['parse'](await fs.promises['readFile'](_0x1777b8,'utf8')),_0x19b835=_0x3471b0['name'],_0x26c688=JSON['parse'](await fs.promises['readFile'](_0x3ced89,'utf8')),_0x108e27={..._0x26c688,'name':_0x19b835};await fs.promises['writeFile'](_0x1777b8,JSON['stringify'](_0x108e27,null,-0x1664+0x62*0x1d+-0x1e2*-0x6)+'\x0a','utf8');}catch(_0x3461ba){const _0x5b4e00=_0x3461ba instanceof Error?_0x3461ba['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x5b4e00);throw _0x3461ba;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x270a50){const _0x29f472=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x270a50['replace'](_0x29f472,(_0xd6023b,_0x231ee9,_0x30632a,_0x3dc4f2,_0x53d7d9,_0x5cc296)=>{if(!_0x53d7d9['startsWith'](aliases.aliasSymbols['atSign'])||_0x53d7d9['startsWith'](packages.npmPackages['saasKit']))return _0xd6023b;let _0x4c45b5;_0x53d7d9['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x53d7d9['includes']('/'+projectPaths.folders['server']+'/')?_0x4c45b5=packages.npmPackages['saasKitServer']:_0x4c45b5=packages.npmPackages['saasKit'];let _0x459b65=_0x30632a['trim']();return !_0x459b65['startsWith']('{')&&(_0x459b65='{\x20'+_0x459b65+'\x20}'),''+_0x231ee9+_0x459b65+_0x3dc4f2+_0x4c45b5+_0x5cc296;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x490607){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x35c1f6 of path.allFilesToCopy){const _0x1394e8=projectPaths.folders['cli']+'/'+_0x35c1f6,_0x2e9f32=_0xb33463__namespace['join'](repoRoot,_0x1394e8),_0x712b58=replaceToolsFolder(_0x35c1f6),_0x39a34b=_0xb33463__namespace['join'](_0x490607,_0x712b58);if(fs.existsSync(_0x2e9f32)){const _0x94255e=await fs.promises['stat'](_0x2e9f32);_0x94255e['isDirectory']()?await copyDirectoryContents(_0x2e9f32,_0x39a34b):await copyAndProcessFile(_0x2e9f32,_0x39a34b);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x1394e8);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0xdf806c){let _0x4a9f92=_0xdf806c;for(const [_0x8b9a0,_0x35493d]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x4a9f92['startsWith'](_0x8b9a0)&&ensureType.isWithIndexer(_0x35493d)){const _0x2f10b9=_0x35493d;for(const _0x1c77b8 in _0x2f10b9){const _0x337805=_0x2f10b9[_0x1c77b8];ensureType.isString(_0x337805)&&(_0x4a9f92=_0x4a9f92['replace'](_0x1c77b8,_0x337805));}break;}}return _0x4a9f92;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x269875,_0x1cfafd,_0x21b460=![]){const _0x35924b=_0xb33463__namespace['relative'](_0x1cfafd,_0x269875),_0x226d23=_0x35924b['split'](_0xb33463__namespace['sep']),_0x5464d0=_0xb33463__namespace['relative'](repoRoot,_0x269875)['replace'](/\\/g,'/');return _0x21b460&&foldersToIgnore['includes'](_0x5464d0)||foldersToIgnore['some'](_0x3ee3cb=>_0x226d23['some'](_0x55c3f2=>_0x55c3f2===_0x3ee3cb));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x77bec6,_0xb5f402){!fs.existsSync(_0xb5f402)&&fs.mkdirSync(_0xb5f402,{'recursive':!![]});try{const _0x52c05e=await fs.promises['readdir'](_0x77bec6,{'withFileTypes':!![]});for(const _0x4eca86 of _0x52c05e){const _0x12b512=_0xb33463__namespace['join'](_0x77bec6,_0x4eca86['name']),_0x4663af=_0xb33463__namespace['join'](_0xb5f402,_0x4eca86['name']);!shouldIgnorePath(_0x12b512,_0x77bec6,_0x4eca86['isDirectory']())&&(_0x4eca86['isDirectory']()?await copyDirectoryContents(_0x12b512,_0x4663af):await copyAndProcessFile(_0x12b512,_0x4663af));}}catch(_0x3a19a6){const _0x24a6f5=_0x3a19a6 instanceof Error?_0x3a19a6['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x77bec6+':\x20'+_0x24a6f5);throw _0x3a19a6;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x5c6df5,_0x39ba47){const _0x3ffd69=_0xb33463__namespace['dirname'](_0x39ba47);!fs.existsSync(_0x3ffd69)&&fs.mkdirSync(_0x3ffd69,{'recursive':!![]});const _0x10e378=await fs.promises['stat'](_0x5c6df5);if(_0x10e378['isDirectory']())await copyDirectoryContents(_0x5c6df5,_0x39ba47);else {const _0x1ebf2c=_0xb33463__namespace['extname'](_0x5c6df5)['toLowerCase'](),_0x4d2820=['.ico','.png','.jpg'];if(_0x4d2820['includes'](_0x1ebf2c)){await fs.promises['copyFile'](_0x5c6df5,_0x39ba47);return;}const _0x534aea=await fs.promises['readFile'](_0x5c6df5,'utf8'),_0x16cbb7=replaceImports(_0x534aea);await fs.promises['writeFile'](_0x39ba47,_0x16cbb7,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x5c9279){for(const _0x43320c of createAppConstants.additionalFoldersToCreate){const _0xfec6c0=_0xb33463__namespace['join'](_0x5c9279,_0x43320c);!fs.existsSync(_0xfec6c0)&&(fs.mkdirSync(_0xfec6c0,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x43320c));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x5d37a1=process['argv']['slice'](-0x15a0*0x1+-0x130+0x7f*0x2e);_0x5d37a1['length']<-0x169c+0xd*-0x2d2+0xbdb*0x5&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x1*-0x10be+0x4*0x988+-0x36dd));const _0x80d799=_0x5d37a1[0x2*-0x409+0xa19+-0x1*0x207],_0xa5a5b1=_0xb33463__namespace['resolve'](process['cwd'](),_0x80d799);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x80d799+'\x22...\x0a');try{checkTargetFolder(_0xa5a5b1),createNextProject(_0x80d799,_0xa5a5b1),await copyProjectFiles(_0xa5a5b1),await overridePackageJson(_0xa5a5b1),createAdditionalFolders(_0xa5a5b1),await createEnvFile(_0xa5a5b1),await updateLayoutTitle(_0xa5a5b1,_0x80d799),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x80d799+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x80d799),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x185fec){const _0x349247=_0x185fec instanceof Error?_0x185fec['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x349247),fs.existsSync(_0xa5a5b1)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0xa5a5b1,{'recursive':!![],'force':!![]})),process['exit'](0x3*0x217+0x940+0x52c*-0x3);}}__name(main,'main');async function updateLayoutTitle(_0x184bc8,_0x51cf7f){const _0x5ef9c0=_0xb33463__namespace['join'](_0x184bc8,'src/app/layout.tsx');if(!fs.existsSync(_0x5ef9c0))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x5ef9c0+',\x20cannot\x20update\x20title.');let _0x42f0f8=await fs.promises['readFile'](_0x5ef9c0,'utf8');const _0xe21693=/"SaaS Kit"/g;if(!_0xe21693['test'](_0x42f0f8))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x42f0f8=_0x42f0f8['replace'](_0xe21693,'\x22'+_0x51cf7f+'\x22'),await fs.promises['writeFile'](_0x5ef9c0,_0x42f0f8,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x5c50ae=>{const _0x200003=_0x5c50ae instanceof Error?_0x5c50ae['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x200003),process['exit'](0x1bd7+-0x2*0x22f+-0x1778);});
@@ -3,16 +3,16 @@
3
3
  import { execSync } from 'child_process';
4
4
  import { existsSync, promises, mkdirSync, rmSync } from 'fs';
5
5
  import { fileURLToPath } from 'node:url';
6
- import * as _0x5dc41a from 'path';
7
- import _0x463737 from 'node:fs';
6
+ import * as _0xb33463 from 'path';
7
+ import _0x245332 from 'node:fs';
8
8
  import { toolsFoldersToReplace, additionalFoldersToCreate } from '../../../../base-repo/constants/create-app-constants.js';
9
9
  import { logStringError, logInfoRaw } from '../../../fd-toolbox/logging/loggers.js';
10
10
  import { projectName } from '../../../fd-toolbox/constants/constants.js';
11
11
  import { allFilesToCopy } from '../../../npm-commands/build-npm/path.js';
12
12
  import { createError } from '../../../fd-toolbox/errors/errors.js';
13
- import { folders } from '../../../../base-repo/app-constants/project-paths.js';
13
+ import { folders, files } from '../../../../base-repo/app-constants/project-paths.js';
14
14
  import { npmPackages } from '../../../../base-repo/constants/packages.js';
15
15
  import { aliasSymbols } from '../../../../base-repo/app-constants/aliases.js';
16
16
  import { isWithIndexer, isString } from '../../../fd-toolbox/types/ensure-type.js';
17
17
 
18
- 'use strict';var __defProp=Object['defineProperty'],__name=(_0x99d418,_0x4bade2)=>__defProp(_0x99d418,'name',{'value':_0x4bade2,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x1704+-0xee4+0x4d*-0x1b));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0x5dc41a['dirname'](filename),repoRoot=_0x5dc41a['resolve'](binDir,sourceDir),envLocalPath=_0x5dc41a['join'](binDir,''+sourceDir+folders['cli']+'/.env'),envTemplate=_0x463737['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/constants'];function runCommand(_0xe7bec2,_0x25e58f){logInfoRaw('Executing:\x20'+_0xe7bec2);try{execSync(_0xe7bec2,{'stdio':'inherit','cwd':_0x25e58f??process['cwd']()});}catch(_0x185b91){const _0x4f6f31=_0x185b91 instanceof Error?_0x185b91['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0xe7bec2),logStringError(_0x4f6f31),process['exit'](0x12db+-0x13c9+0xef);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x2d3b95){existsSync(_0x2d3b95)&&(logStringError('Error:\x20Folder\x20\x22'+_0x5dc41a['basename'](_0x2d3b95)+'\x22\x20already\x20exists.'),process['exit'](-0x1*0x1a73+0xb03*-0x1+0x1*0x2577));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0xe6166a=_0x5dc41a['resolve'](repoRoot,'package.json'),_0x5e2510=JSON['parse'](_0x463737['readFileSync'](_0xe6166a,'utf-8'));return String(_0x5e2510['devDependencies']?.['next']??_0x5e2510['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x5039a3,_0x4f3e7d){logInfoRaw('Creating\x20Next.js\x20project...');const _0x5d2de0=getCreateNextAppVersion(),_0x36dd3a=['npx\x20create-next-app@'+_0x5d2de0+'\x20\x22'+_0x5039a3+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x36dd3a,_0x5dc41a['dirname'](_0x4f3e7d)),logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x3cef3b){logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x3e3cf6=_0x5dc41a['join'](_0x3cef3b,'.env');try{await promises['writeFile'](_0x3e3cf6,envTemplate,'utf8'),logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x2ad461){const _0x2adad5=_0x2ad461 instanceof Error?_0x2ad461['message']:'Unknown\x20error';logStringError('Error\x20creating\x20.env\x20file:'),logStringError(_0x2adad5);throw _0x2ad461;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x30faac){const _0x3445fa=_0x5dc41a['join'](_0x30faac,'package.json'),_0x3f22fd=_0x5dc41a['join'](repoRoot,folders['cli']+'/package-template.json');try{const _0x23ed92=JSON['parse'](await promises['readFile'](_0x3445fa,'utf8')),_0x361ce7=_0x23ed92['name'],_0x5d0c34=JSON['parse'](await promises['readFile'](_0x3f22fd,'utf8')),_0x16fd0e={..._0x5d0c34,'name':_0x361ce7};await promises['writeFile'](_0x3445fa,JSON['stringify'](_0x16fd0e,null,0x1*-0x26ab+-0x1a39+0x40e6)+'\x0a','utf8');}catch(_0x5b9c86){const _0x29aa85=_0x5b9c86 instanceof Error?_0x5b9c86['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20package.json:'),logStringError(_0x29aa85);throw _0x5b9c86;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x5b5aab){const _0x509901=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x5b5aab['replace'](_0x509901,(_0x5c14d5,_0x2131ad,_0x13f2b6,_0x1c64cb)=>{if(!_0x13f2b6['startsWith'](aliasSymbols['atSign'])||_0x13f2b6['startsWith'](npmPackages['saasKit']))return _0x5c14d5;if(_0x13f2b6['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x13f2b6['includes']('/'+folders['server']+'/'))return ''+_0x2131ad+npmPackages['saasKitServer']+_0x1c64cb;return ''+_0x2131ad+npmPackages['saasKit']+_0x1c64cb;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x52344c){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x418262 of allFilesToCopy){const _0x24673a=folders['cli']+'/'+_0x418262,_0x575ab2=_0x5dc41a['join'](repoRoot,_0x24673a),_0x25253b=replaceToolsFolder(_0x418262),_0x5e7b6a=_0x5dc41a['join'](_0x52344c,_0x25253b);if(existsSync(_0x575ab2)){const _0x4610f8=await promises['stat'](_0x575ab2);_0x4610f8['isDirectory']()?await copyDirectoryContents(_0x575ab2,_0x5e7b6a):await copyAndProcessFile(_0x575ab2,_0x5e7b6a);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x24673a);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x125545){let _0x1ee871=_0x125545;for(const [_0x4452ae,_0x42ac5c]of Object['entries'](toolsFoldersToReplace)){if(_0x1ee871['startsWith'](_0x4452ae)&&isWithIndexer(_0x42ac5c)){const _0x22bfda=_0x42ac5c;for(const _0x24b148 in _0x22bfda){const _0x51e359=_0x22bfda[_0x24b148];isString(_0x51e359)&&(_0x1ee871=_0x1ee871['replace'](_0x24b148,_0x51e359));}break;}}return _0x1ee871;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x49e6d7,_0x258beb,_0x504c0f=![]){const _0xb08657=_0x5dc41a['relative'](_0x258beb,_0x49e6d7),_0x275afe=_0xb08657['split'](_0x5dc41a['sep']),_0x564359=_0x5dc41a['relative'](repoRoot,_0x49e6d7)['replace'](/\\/g,'/');return _0x504c0f&&foldersToIgnore['includes'](_0x564359)||foldersToIgnore['some'](_0x244bd6=>_0x275afe['some'](_0x45fdcb=>_0x45fdcb===_0x244bd6));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x485eff,_0x1a2e6b){!existsSync(_0x1a2e6b)&&mkdirSync(_0x1a2e6b,{'recursive':!![]});try{const _0x483832=await promises['readdir'](_0x485eff,{'withFileTypes':!![]});for(const _0x16e182 of _0x483832){const _0x5e0155=_0x5dc41a['join'](_0x485eff,_0x16e182['name']),_0x209f48=_0x5dc41a['join'](_0x1a2e6b,_0x16e182['name']);!shouldIgnorePath(_0x5e0155,_0x485eff,_0x16e182['isDirectory']())&&(_0x16e182['isDirectory']()?await copyDirectoryContents(_0x5e0155,_0x209f48):await copyAndProcessFile(_0x5e0155,_0x209f48));}}catch(_0x35f041){const _0x3a6350=_0x35f041 instanceof Error?_0x35f041['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x485eff+':\x20'+_0x3a6350);throw _0x35f041;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0xe250f4,_0x2213e3){const _0x6b1c89=_0x5dc41a['dirname'](_0x2213e3);!existsSync(_0x6b1c89)&&mkdirSync(_0x6b1c89,{'recursive':!![]});const _0x40f3aa=await promises['stat'](_0xe250f4);if(_0x40f3aa['isDirectory']())await copyDirectoryContents(_0xe250f4,_0x2213e3);else {const _0x5d3715=await promises['readFile'](_0xe250f4,'utf8'),_0x336c69=replaceImports(_0x5d3715);await promises['writeFile'](_0x2213e3,_0x336c69,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0xf1269b){for(const _0x5b42c2 of additionalFoldersToCreate){const _0x32dd32=_0x5dc41a['join'](_0xf1269b,_0x5b42c2);!existsSync(_0x32dd32)&&(mkdirSync(_0x32dd32,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x5b42c2));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0xd8e01=process['argv']['slice'](-0x341+-0xa81*0x1+0xdc4);_0xd8e01['length']<0x13*0xb1+-0xfdb+0x2b9*0x1&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x135b+0x1873+0x517*-0x1));const _0x2c24e5=_0xd8e01[-0x2278+-0x3*-0x94d+-0x1*-0x692],_0x47c78d=_0x5dc41a['resolve'](process['cwd'](),_0x2c24e5);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x2c24e5+'\x22...\x0a');try{checkTargetFolder(_0x47c78d),createNextProject(_0x2c24e5,_0x47c78d),await copyProjectFiles(_0x47c78d),await overridePackageJson(_0x47c78d),createAdditionalFolders(_0x47c78d),await createEnvFile(_0x47c78d),await updateLayoutTitle(_0x47c78d,_0x2c24e5),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x2c24e5+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x2c24e5),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x374013){const _0x54c3d6=_0x374013 instanceof Error?_0x374013['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x54c3d6),existsSync(_0x47c78d)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x47c78d,{'recursive':!![],'force':!![]})),process['exit'](0x1*-0xf29+-0x134b+-0x1*-0x2275);}}__name(main,'main');async function updateLayoutTitle(_0x51491d,_0x33cecd){const _0x2296be=_0x5dc41a['join'](_0x51491d,'src/app/layout.tsx');if(!existsSync(_0x2296be))throw createError('layout.tsx\x20not\x20found\x20at\x20'+_0x2296be+',\x20cannot\x20update\x20title.');let _0x43df8e=await promises['readFile'](_0x2296be,'utf8');const _0xca60ad=/"SaaS Kit"/g;if(!_0xca60ad['test'](_0x43df8e))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x43df8e=_0x43df8e['replace'](_0xca60ad,'\x22'+_0x33cecd+'\x22'),await promises['writeFile'](_0x2296be,_0x43df8e,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x483b08=>{const _0x21883b=_0x483b08 instanceof Error?_0x483b08['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x21883b),process['exit'](0x1ed2+-0x1*0x4c7+-0x1a0a);});
18
+ 'use strict';var __defProp=Object['defineProperty'],__name=(_0x2771c2,_0x372162)=>__defProp(_0x2771c2,'name',{'value':_0x372162,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](-0x1ff5+-0xce7+0x2cdd));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0xb33463['dirname'](filename),repoRoot=_0xb33463['resolve'](binDir,sourceDir),envLocalPath=_0xb33463['join'](binDir,''+sourceDir+folders['cli']+'/'+files['env']),envTemplate=_0x245332['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/constants'];function runCommand(_0x459d5f,_0x4a33b9){logInfoRaw('Executing:\x20'+_0x459d5f);try{execSync(_0x459d5f,{'stdio':'inherit','cwd':_0x4a33b9??process['cwd']()});}catch(_0x202640){const _0x432752=_0x202640 instanceof Error?_0x202640['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0x459d5f),logStringError(_0x432752),process['exit'](-0x107+0x3fe*0x1+-0x2f6);}}__name(runCommand,'runCommand');function checkTargetFolder(_0xab8747){existsSync(_0xab8747)&&(logStringError('Error:\x20Folder\x20\x22'+_0xb33463['basename'](_0xab8747)+'\x22\x20already\x20exists.'),process['exit'](-0x1ff0+-0xc1*0x26+0x3c97));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x189ee8=_0xb33463['resolve'](repoRoot,'package.json'),_0x1cf741=JSON['parse'](_0x245332['readFileSync'](_0x189ee8,'utf-8'));return String(_0x1cf741['devDependencies']?.['next']??_0x1cf741['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x53dc38,_0x111a45){logInfoRaw('Creating\x20Next.js\x20project...');const _0xb579a8=getCreateNextAppVersion(),_0x680dc3=['npx\x20create-next-app@'+_0xb579a8+'\x20\x22'+_0x53dc38+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x680dc3,_0xb33463['dirname'](_0x111a45)),logInfoRaw('Next.js\x20project\x20created!');const _0x14f500=_0xb33463['join'](_0x111a45,'next.config.ts');_0x245332['existsSync'](_0x14f500)&&(_0x245332['rmSync'](_0x14f500),logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x4d6f75){logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x3de8a1=_0xb33463['join'](_0x4d6f75,'.env');try{await promises['writeFile'](_0x3de8a1,envTemplate,'utf8'),logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x55f18c){const _0x18823d=_0x55f18c instanceof Error?_0x55f18c['message']:'Unknown\x20error';logStringError('Error\x20creating\x20.env\x20file:'),logStringError(_0x18823d);throw _0x55f18c;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x3262ba){const _0x1777b8=_0xb33463['join'](_0x3262ba,'package.json'),_0x3ced89=_0xb33463['join'](repoRoot,folders['cli']+'/package-template.json');try{const _0x3471b0=JSON['parse'](await promises['readFile'](_0x1777b8,'utf8')),_0x19b835=_0x3471b0['name'],_0x26c688=JSON['parse'](await promises['readFile'](_0x3ced89,'utf8')),_0x108e27={..._0x26c688,'name':_0x19b835};await promises['writeFile'](_0x1777b8,JSON['stringify'](_0x108e27,null,-0x1664+0x62*0x1d+-0x1e2*-0x6)+'\x0a','utf8');}catch(_0x3461ba){const _0x5b4e00=_0x3461ba instanceof Error?_0x3461ba['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20package.json:'),logStringError(_0x5b4e00);throw _0x3461ba;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x270a50){const _0x29f472=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x270a50['replace'](_0x29f472,(_0xd6023b,_0x231ee9,_0x30632a,_0x3dc4f2,_0x53d7d9,_0x5cc296)=>{if(!_0x53d7d9['startsWith'](aliasSymbols['atSign'])||_0x53d7d9['startsWith'](npmPackages['saasKit']))return _0xd6023b;let _0x4c45b5;_0x53d7d9['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x53d7d9['includes']('/'+folders['server']+'/')?_0x4c45b5=npmPackages['saasKitServer']:_0x4c45b5=npmPackages['saasKit'];let _0x459b65=_0x30632a['trim']();return !_0x459b65['startsWith']('{')&&(_0x459b65='{\x20'+_0x459b65+'\x20}'),''+_0x231ee9+_0x459b65+_0x3dc4f2+_0x4c45b5+_0x5cc296;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x490607){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x35c1f6 of allFilesToCopy){const _0x1394e8=folders['cli']+'/'+_0x35c1f6,_0x2e9f32=_0xb33463['join'](repoRoot,_0x1394e8),_0x712b58=replaceToolsFolder(_0x35c1f6),_0x39a34b=_0xb33463['join'](_0x490607,_0x712b58);if(existsSync(_0x2e9f32)){const _0x94255e=await promises['stat'](_0x2e9f32);_0x94255e['isDirectory']()?await copyDirectoryContents(_0x2e9f32,_0x39a34b):await copyAndProcessFile(_0x2e9f32,_0x39a34b);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x1394e8);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0xdf806c){let _0x4a9f92=_0xdf806c;for(const [_0x8b9a0,_0x35493d]of Object['entries'](toolsFoldersToReplace)){if(_0x4a9f92['startsWith'](_0x8b9a0)&&isWithIndexer(_0x35493d)){const _0x2f10b9=_0x35493d;for(const _0x1c77b8 in _0x2f10b9){const _0x337805=_0x2f10b9[_0x1c77b8];isString(_0x337805)&&(_0x4a9f92=_0x4a9f92['replace'](_0x1c77b8,_0x337805));}break;}}return _0x4a9f92;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x269875,_0x1cfafd,_0x21b460=![]){const _0x35924b=_0xb33463['relative'](_0x1cfafd,_0x269875),_0x226d23=_0x35924b['split'](_0xb33463['sep']),_0x5464d0=_0xb33463['relative'](repoRoot,_0x269875)['replace'](/\\/g,'/');return _0x21b460&&foldersToIgnore['includes'](_0x5464d0)||foldersToIgnore['some'](_0x3ee3cb=>_0x226d23['some'](_0x55c3f2=>_0x55c3f2===_0x3ee3cb));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x77bec6,_0xb5f402){!existsSync(_0xb5f402)&&mkdirSync(_0xb5f402,{'recursive':!![]});try{const _0x52c05e=await promises['readdir'](_0x77bec6,{'withFileTypes':!![]});for(const _0x4eca86 of _0x52c05e){const _0x12b512=_0xb33463['join'](_0x77bec6,_0x4eca86['name']),_0x4663af=_0xb33463['join'](_0xb5f402,_0x4eca86['name']);!shouldIgnorePath(_0x12b512,_0x77bec6,_0x4eca86['isDirectory']())&&(_0x4eca86['isDirectory']()?await copyDirectoryContents(_0x12b512,_0x4663af):await copyAndProcessFile(_0x12b512,_0x4663af));}}catch(_0x3a19a6){const _0x24a6f5=_0x3a19a6 instanceof Error?_0x3a19a6['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x77bec6+':\x20'+_0x24a6f5);throw _0x3a19a6;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x5c6df5,_0x39ba47){const _0x3ffd69=_0xb33463['dirname'](_0x39ba47);!existsSync(_0x3ffd69)&&mkdirSync(_0x3ffd69,{'recursive':!![]});const _0x10e378=await promises['stat'](_0x5c6df5);if(_0x10e378['isDirectory']())await copyDirectoryContents(_0x5c6df5,_0x39ba47);else {const _0x1ebf2c=_0xb33463['extname'](_0x5c6df5)['toLowerCase'](),_0x4d2820=['.ico','.png','.jpg'];if(_0x4d2820['includes'](_0x1ebf2c)){await promises['copyFile'](_0x5c6df5,_0x39ba47);return;}const _0x534aea=await promises['readFile'](_0x5c6df5,'utf8'),_0x16cbb7=replaceImports(_0x534aea);await promises['writeFile'](_0x39ba47,_0x16cbb7,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x5c9279){for(const _0x43320c of additionalFoldersToCreate){const _0xfec6c0=_0xb33463['join'](_0x5c9279,_0x43320c);!existsSync(_0xfec6c0)&&(mkdirSync(_0xfec6c0,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x43320c));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x5d37a1=process['argv']['slice'](-0x15a0*0x1+-0x130+0x7f*0x2e);_0x5d37a1['length']<-0x169c+0xd*-0x2d2+0xbdb*0x5&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x1*-0x10be+0x4*0x988+-0x36dd));const _0x80d799=_0x5d37a1[0x2*-0x409+0xa19+-0x1*0x207],_0xa5a5b1=_0xb33463['resolve'](process['cwd'](),_0x80d799);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x80d799+'\x22...\x0a');try{checkTargetFolder(_0xa5a5b1),createNextProject(_0x80d799,_0xa5a5b1),await copyProjectFiles(_0xa5a5b1),await overridePackageJson(_0xa5a5b1),createAdditionalFolders(_0xa5a5b1),await createEnvFile(_0xa5a5b1),await updateLayoutTitle(_0xa5a5b1,_0x80d799),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x80d799+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x80d799),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x185fec){const _0x349247=_0x185fec instanceof Error?_0x185fec['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x349247),existsSync(_0xa5a5b1)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0xa5a5b1,{'recursive':!![],'force':!![]})),process['exit'](0x3*0x217+0x940+0x52c*-0x3);}}__name(main,'main');async function updateLayoutTitle(_0x184bc8,_0x51cf7f){const _0x5ef9c0=_0xb33463['join'](_0x184bc8,'src/app/layout.tsx');if(!existsSync(_0x5ef9c0))throw createError('layout.tsx\x20not\x20found\x20at\x20'+_0x5ef9c0+',\x20cannot\x20update\x20title.');let _0x42f0f8=await promises['readFile'](_0x5ef9c0,'utf8');const _0xe21693=/"SaaS Kit"/g;if(!_0xe21693['test'](_0x42f0f8))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x42f0f8=_0x42f0f8['replace'](_0xe21693,'\x22'+_0x51cf7f+'\x22'),await promises['writeFile'](_0x5ef9c0,_0x42f0f8,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x5c50ae=>{const _0x200003=_0x5c50ae instanceof Error?_0x5c50ae['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x200003),process['exit'](0x1bd7+-0x2*0x22f+-0x1778);});
@@ -8,7 +8,7 @@ var tokens = require('../auth/tokens.cjs.js');
8
8
  var headerNames = require('../constants/header-names.cjs.js');
9
9
  var httpConstants = require('../http/http-constants.cjs.js');
10
10
 
11
- var __defProp=Object['defineProperty'],__name=(_0x3bc90d,_0x427a4c)=>__defProp(_0x3bc90d,'name',{'value':_0x427a4c,'configurable':!![]});async function apiGet(_0x219d31,_0x5d4246,_0x4fa59c,_0xafabfb){const _0xe8803e=apiPaths.getApiPath(_0x219d31,_0x5d4246,_0x4fa59c);return baseApi.apiBaseGet(_0xe8803e,getApiHeaders(_0xafabfb));}__name(apiGet,'apiGet');async function apiGetBlob(_0x52d02b,_0x270781,_0x490ead,_0x5e0e3b){const _0x1368da=apiPaths.getApiPath(_0x52d02b,_0x270781,_0x490ead);return baseApi.apiBaseGetBlob(_0x1368da,getApiHeaders(_0x5e0e3b,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x2e5ce3,_0x30bc22,_0x592a64){const _0x4c132e=odatas.getODataParams(_0x30bc22);return apiGet(_0x2e5ce3,_0x592a64,_0x4c132e);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x4b60af,_0x2de3e8,_0x5ea203){const _0x55ed74=apiPaths.getApiPath(_0x4b60af);return baseApi.postBaseApi(_0x55ed74,_0x2de3e8,getApiHeaders(_0x5ea203));}__name(apiPost,'apiPost');async function apiPostFile(_0x42d441,_0x43e214,_0x319944){const _0x5ddaf5=apiPaths.getApiPath(_0x42d441),_0x1b4ccf=await fetch(_0x5ddaf5,{'method':httpConstants.httpMethods['post'],'body':_0x43e214,'headers':getApiHeaders(_0x319944,!![])});return baseApi.baseApiHandleResponse(_0x1b4ccf);}__name(apiPostFile,'apiPostFile');async function apiPut(_0xc5379f,_0x566363,_0x15db11){const _0x4ebd03=apiPaths.getApiPath(_0xc5379f);return baseApi.putBaseApi(_0x4ebd03,_0x566363,getApiHeaders(_0x15db11));}__name(apiPut,'apiPut');async function apiDelete(_0x1c4246,_0x2c325e,_0x52b3cb){const _0x411372=apiPaths.getApiPath(_0x1c4246,_0x2c325e);return baseApi.deleteBaseApi(_0x411372,getApiHeaders(_0x52b3cb));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x561eff,_0x5b4414=![]){const _0x698fb8=_0x561eff??new Headers(),_0xe92bd9=tokens.getAuthToken();return (!_0x698fb8['get'](headerNames.headerNames['authHeaderName'])||_0x698fb8['get'](headerNames.headerNames['authHeaderName'])==='')&&_0xe92bd9&&_0x698fb8['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0xe92bd9),!_0x5b4414&&!_0x698fb8['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0x698fb8['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0x698fb8;}__name(getApiHeaders,'getApiHeaders');
11
+ var __defProp=Object['defineProperty'],__name=(_0x129ba4,_0x5c4b0e)=>__defProp(_0x129ba4,'name',{'value':_0x5c4b0e,'configurable':!![]});async function apiGet(_0x5636f4,_0x474341,_0x2a495b,_0x38c02d){const _0x19d757=apiPaths.getApiPath(_0x5636f4,_0x474341,_0x2a495b);return baseApi.apiBaseGet(_0x19d757,getApiHeaders(_0x38c02d));}__name(apiGet,'apiGet');async function apiGetBlob(_0x3d9aee,_0x43fd10,_0x367b1f,_0x3aa382){const _0x41decf=apiPaths.getApiPath(_0x3d9aee,_0x43fd10,_0x367b1f);return baseApi.apiBaseGetBlob(_0x41decf,getApiHeaders(_0x3aa382,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x5b57da,_0x22318c,_0x24b6d6){const _0x20e614=odatas.getODataParams(_0x22318c);return apiGet(_0x5b57da,_0x24b6d6,_0x20e614);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x14ea8e,_0x4bc457,_0x2b0525){const _0x269375=apiPaths.getApiPath(_0x14ea8e);return baseApi.postBaseApi(_0x269375,_0x4bc457,getApiHeaders(_0x2b0525));}__name(apiPost,'apiPost');async function apiPostFile(_0x35d22c,_0x432720,_0x1e1e2a){const _0x55b9c7=apiPaths.getApiPath(_0x35d22c),_0x4be133=await fetch(_0x55b9c7,{'method':httpConstants.httpMethods['post'],'body':_0x432720,'headers':getApiHeaders(_0x1e1e2a,!![])});return baseApi.baseApiHandleResponse(_0x4be133);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x265de1,_0x179ca4,_0x1c9c85){const _0x579814=apiPaths.getApiPath(_0x265de1);return baseApi.putBaseApi(_0x579814,_0x179ca4,getApiHeaders(_0x1c9c85));}__name(apiPut,'apiPut');async function apiDelete(_0x4a8214,_0xa414dd,_0x28adaf){const _0xd8372f=apiPaths.getApiPath(_0x4a8214,_0xa414dd);return baseApi.deleteBaseApi(_0xd8372f,getApiHeaders(_0x28adaf));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x1c4c96,_0x229468=![]){const _0x37c520=_0x1c4c96??new Headers(),_0x440ca6=tokens.getAuthToken();return (!_0x37c520['get'](headerNames.headerNames['authHeaderName'])||_0x37c520['get'](headerNames.headerNames['authHeaderName'])==='')&&_0x440ca6&&_0x37c520['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0x440ca6),!_0x229468&&!_0x37c520['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0x37c520['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0x37c520;}__name(getApiHeaders,'getApiHeaders');
12
12
 
13
13
  exports.apiDelete = apiDelete;
14
14
  exports.apiGet = apiGet;
@@ -6,6 +6,6 @@ import { getAuthToken } from '../auth/tokens.js';
6
6
  import { headerNames, httpContentTypes } from '../constants/header-names.js';
7
7
  import { httpMethods } from '../http/http-constants.js';
8
8
 
9
- var __defProp=Object['defineProperty'],__name=(_0x3bc90d,_0x427a4c)=>__defProp(_0x3bc90d,'name',{'value':_0x427a4c,'configurable':!![]});async function apiGet(_0x219d31,_0x5d4246,_0x4fa59c,_0xafabfb){const _0xe8803e=getApiPath(_0x219d31,_0x5d4246,_0x4fa59c);return apiBaseGet(_0xe8803e,getApiHeaders(_0xafabfb));}__name(apiGet,'apiGet');async function apiGetBlob(_0x52d02b,_0x270781,_0x490ead,_0x5e0e3b){const _0x1368da=getApiPath(_0x52d02b,_0x270781,_0x490ead);return apiBaseGetBlob(_0x1368da,getApiHeaders(_0x5e0e3b,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x2e5ce3,_0x30bc22,_0x592a64){const _0x4c132e=getODataParams(_0x30bc22);return apiGet(_0x2e5ce3,_0x592a64,_0x4c132e);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x4b60af,_0x2de3e8,_0x5ea203){const _0x55ed74=getApiPath(_0x4b60af);return postBaseApi(_0x55ed74,_0x2de3e8,getApiHeaders(_0x5ea203));}__name(apiPost,'apiPost');async function apiPostFile(_0x42d441,_0x43e214,_0x319944){const _0x5ddaf5=getApiPath(_0x42d441),_0x1b4ccf=await fetch(_0x5ddaf5,{'method':httpMethods['post'],'body':_0x43e214,'headers':getApiHeaders(_0x319944,!![])});return baseApiHandleResponse(_0x1b4ccf);}__name(apiPostFile,'apiPostFile');async function apiPut(_0xc5379f,_0x566363,_0x15db11){const _0x4ebd03=getApiPath(_0xc5379f);return putBaseApi(_0x4ebd03,_0x566363,getApiHeaders(_0x15db11));}__name(apiPut,'apiPut');async function apiDelete(_0x1c4246,_0x2c325e,_0x52b3cb){const _0x411372=getApiPath(_0x1c4246,_0x2c325e);return deleteBaseApi(_0x411372,getApiHeaders(_0x52b3cb));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x561eff,_0x5b4414=![]){const _0x698fb8=_0x561eff??new Headers(),_0xe92bd9=getAuthToken();return (!_0x698fb8['get'](headerNames['authHeaderName'])||_0x698fb8['get'](headerNames['authHeaderName'])==='')&&_0xe92bd9&&_0x698fb8['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0xe92bd9),!_0x5b4414&&!_0x698fb8['get'](httpContentTypes['contentTypeHeaderName'])&&_0x698fb8['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0x698fb8;}__name(getApiHeaders,'getApiHeaders');
9
+ var __defProp=Object['defineProperty'],__name=(_0x129ba4,_0x5c4b0e)=>__defProp(_0x129ba4,'name',{'value':_0x5c4b0e,'configurable':!![]});async function apiGet(_0x5636f4,_0x474341,_0x2a495b,_0x38c02d){const _0x19d757=getApiPath(_0x5636f4,_0x474341,_0x2a495b);return apiBaseGet(_0x19d757,getApiHeaders(_0x38c02d));}__name(apiGet,'apiGet');async function apiGetBlob(_0x3d9aee,_0x43fd10,_0x367b1f,_0x3aa382){const _0x41decf=getApiPath(_0x3d9aee,_0x43fd10,_0x367b1f);return apiBaseGetBlob(_0x41decf,getApiHeaders(_0x3aa382,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x5b57da,_0x22318c,_0x24b6d6){const _0x20e614=getODataParams(_0x22318c);return apiGet(_0x5b57da,_0x24b6d6,_0x20e614);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x14ea8e,_0x4bc457,_0x2b0525){const _0x269375=getApiPath(_0x14ea8e);return postBaseApi(_0x269375,_0x4bc457,getApiHeaders(_0x2b0525));}__name(apiPost,'apiPost');async function apiPostFile(_0x35d22c,_0x432720,_0x1e1e2a){const _0x55b9c7=getApiPath(_0x35d22c),_0x4be133=await fetch(_0x55b9c7,{'method':httpMethods['post'],'body':_0x432720,'headers':getApiHeaders(_0x1e1e2a,!![])});return baseApiHandleResponse(_0x4be133);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x265de1,_0x179ca4,_0x1c9c85){const _0x579814=getApiPath(_0x265de1);return putBaseApi(_0x579814,_0x179ca4,getApiHeaders(_0x1c9c85));}__name(apiPut,'apiPut');async function apiDelete(_0x4a8214,_0xa414dd,_0x28adaf){const _0xd8372f=getApiPath(_0x4a8214,_0xa414dd);return deleteBaseApi(_0xd8372f,getApiHeaders(_0x28adaf));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x1c4c96,_0x229468=![]){const _0x37c520=_0x1c4c96??new Headers(),_0x440ca6=getAuthToken();return (!_0x37c520['get'](headerNames['authHeaderName'])||_0x37c520['get'](headerNames['authHeaderName'])==='')&&_0x440ca6&&_0x37c520['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0x440ca6),!_0x229468&&!_0x37c520['get'](httpContentTypes['contentTypeHeaderName'])&&_0x37c520['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0x37c520;}__name(getApiHeaders,'getApiHeaders');
10
10
 
11
11
  export { apiDelete, apiGet, apiGetBlob, apiGetWithOData, apiPost, apiPostFile, apiPut };
@@ -2,8 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  var resourceNames = require('../resources/resource-names.cjs.js');
5
- var _0x5dc41a = require('path');
5
+ var _0xb33463 = require('path');
6
6
 
7
- const hint=resourceNames.resourceNames['hint']['toLowerCase'](),subscription=resourceNames.resourceNames['subscription']['toLowerCase'](),payment=resourceNames.resourceNames['payment']['toLowerCase']();const apiPathNames={'hint':hint,'meta':'meta','uiMetas':'uimetas','uiMeta':'uimeta','login':'account/login','token':'connect/token','logout':'account/logout','getOne':_0x5dc41a.join(hint,'getone'),'user':'user','preLoad':'preload','userPermission':'userpermission','otherUser':'otheruser','person':'person','friend':'friend','relation':'relation','log':'log','version':'version','markdownRender':'markdown/render','forgotPassword':'password/forgotpassword','resetPassword':'password/resetpassword','editPassword':'password/editpassword','payment':payment,'paymentVerifyFail':_0x5dc41a.join(payment,'verify-fail'),'paymentVerifySuccess':_0x5dc41a.join(payment,'verify-success'),'paymentMethod':_0x5dc41a.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x5dc41a.join(subscription,'cancel'),'updateSubscription':_0x5dc41a.join(subscription,'update'),'createSubscription':_0x5dc41a.join(subscription,'create'),'paymentPlan':'paymentplan','feature':'feature','paymentPlanFeature':'paymentplanfeature','markdown':'markdown','searchResult':'searchresult','searchableResource':'searchable-resources','search':'search','blob':'blob','statusBoard':'statusboard','aiScan':'lm/ai-scan','changeWorkspace':'workspace/change','visibleWorkspace':'visible-workspace','test':'test','testData':'test/data'};
7
+ const hint=resourceNames.resourceNames['hint']['toLowerCase'](),subscription=resourceNames.resourceNames['subscription']['toLowerCase'](),payment=resourceNames.resourceNames['payment']['toLowerCase']();const apiPathNames={'hint':hint,'meta':'meta','uiMetas':'uimetas','uiMeta':'uimeta','login':'account/login','token':'connect/token','logout':'account/logout','getOne':_0xb33463.join(hint,'getone'),'user':'user','preLoad':'preload','userPermission':'userpermission','otherUser':'otheruser','person':'person','friend':'friend','relation':'relation','log':'log','version':'version','markdownRender':'markdown/render','forgotPassword':'password/forgotpassword','resetPassword':'password/resetpassword','editPassword':'password/editpassword','payment':payment,'paymentVerifyFail':_0xb33463.join(payment,'verify-fail'),'paymentVerifySuccess':_0xb33463.join(payment,'verify-success'),'paymentMethod':_0xb33463.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0xb33463.join(subscription,'cancel'),'updateSubscription':_0xb33463.join(subscription,'update'),'createSubscription':_0xb33463.join(subscription,'create'),'paymentPlan':'paymentplan','feature':'feature','paymentPlanFeature':'paymentplanfeature','markdown':'markdown','searchResult':'searchresult','searchableResource':'searchable-resources','search':'search','blob':'blob','statusBoard':'statusboard','aiScan':'lm/ai-scan','changeWorkspace':'workspace/change','visibleWorkspace':'visible-workspace','test':'test','testData':'test/data'};
8
8
 
9
9
  exports.apiPathNames = apiPathNames;
@@ -4,6 +4,6 @@
4
4
  var urls = require('../http/url/urls.cjs.js');
5
5
  var paths = require('../routing/paths.cjs.js');
6
6
 
7
- var __defProp=Object['defineProperty'],__name=(_0x436bd9,_0x1f0ae6)=>__defProp(_0x436bd9,'name',{'value':_0x1f0ae6,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x332213,_0x2d7f73,_0x229abb){let _0x3db797=urls.combineEndpointPath(apiPrefix,_0x332213);return _0x2d7f73&&(_0x3db797=urls.combineEndpointPath(_0x3db797,_0x2d7f73)),_0x3db797=paths.addQueryParamsToPath(_0x3db797,_0x229abb),new URL(_0x3db797,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
7
+ var __defProp=Object['defineProperty'],__name=(_0x274950,_0x31bb59)=>__defProp(_0x274950,'name',{'value':_0x31bb59,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x5d57ed,_0x18a5b4,_0x37d2d1){let _0x4cdbee=urls.combineEndpointPath(apiPrefix,_0x5d57ed);return _0x18a5b4&&(_0x4cdbee=urls.combineEndpointPath(_0x4cdbee,_0x18a5b4)),_0x4cdbee=paths.addQueryParamsToPath(_0x4cdbee,_0x37d2d1),new URL(_0x4cdbee,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
8
8
 
9
9
  exports.getApiPath = getApiPath;
@@ -2,6 +2,6 @@
2
2
  import { combineEndpointPath } from '../http/url/urls.js';
3
3
  import { addQueryParamsToPath } from '../routing/paths.js';
4
4
 
5
- var __defProp=Object['defineProperty'],__name=(_0x436bd9,_0x1f0ae6)=>__defProp(_0x436bd9,'name',{'value':_0x1f0ae6,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x332213,_0x2d7f73,_0x229abb){let _0x3db797=combineEndpointPath(apiPrefix,_0x332213);return _0x2d7f73&&(_0x3db797=combineEndpointPath(_0x3db797,_0x2d7f73)),_0x3db797=addQueryParamsToPath(_0x3db797,_0x229abb),new URL(_0x3db797,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
5
+ var __defProp=Object['defineProperty'],__name=(_0x274950,_0x31bb59)=>__defProp(_0x274950,'name',{'value':_0x31bb59,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x5d57ed,_0x18a5b4,_0x37d2d1){let _0x4cdbee=combineEndpointPath(apiPrefix,_0x5d57ed);return _0x18a5b4&&(_0x4cdbee=combineEndpointPath(_0x4cdbee,_0x18a5b4)),_0x4cdbee=addQueryParamsToPath(_0x4cdbee,_0x37d2d1),new URL(_0x4cdbee,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
6
6
 
7
7
  export { getApiPath };
@@ -10,7 +10,7 @@ var loginStates = require('../auth/login-states.cjs.js');
10
10
  var environments = require('../lib/environments.cjs.js');
11
11
  var utils = require('../lib/utils.cjs.js');
12
12
 
13
- var __defProp=Object['defineProperty'],__name=(_0x3b1dba,_0x1b0dba)=>__defProp(_0x3b1dba,'name',{'value':_0x1b0dba,'configurable':!![]});async function apiBaseGet(_0x505b5e,_0x472c20){const _0x20a4b7=await fetch(_0x505b5e,{'method':httpConstants.httpMethods['get'],'headers':_0x472c20});return baseApiHandleResponse(_0x20a4b7);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x50ad87,_0x3201b8){const _0xf5ff8a=await fetch(_0x50ad87,{'method':httpConstants.httpMethods['get'],'headers':_0x3201b8});return baseApiHandleBlobResponse(_0xf5ff8a);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x56a428,_0xc844ab,_0x49b0a7){const _0xeb7c32=await fetch(_0x56a428,{'method':httpConstants.httpMethods['post'],'headers':_0x49b0a7,'body':_0xc844ab instanceof URLSearchParams?_0xc844ab:JSON['stringify'](_0xc844ab)});return baseApiHandleResponse(_0xeb7c32);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x4189d8,_0x32336e,_0x2e72b4){const _0x3ee550=await fetch(_0x4189d8,{'method':httpConstants.httpMethods['put'],'headers':_0x2e72b4,'body':JSON['stringify'](_0x32336e)});return baseApiHandleResponse(_0x3ee550);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x2fb8e0,_0x2dbbb7){const _0x2d6d77=await fetch(_0x2fb8e0,{'method':httpConstants.httpMethods['delete'],'headers':_0x2dbbb7});if(!_0x2d6d77['ok'])handleErrorResponse(_0x2d6d77);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x54ddde){const _0x1be10a=_0x54ddde['headers']['get']('content-type'),_0x345daa=_0x1be10a?.['includes']('application/json');isUnauthorizedError(_0x54ddde['status'])&&(loginStates.removeLoginState(),loginRouters.goToLogin());if(!_0x54ddde['ok']){const _0x3057a8=await handleErrorResponse(_0x54ddde);return _0x3057a8;}if(_0x54ddde['status']===httpStatusCodes.httpStatusCodes['noContent']||!_0x345daa)return null;return utils.getJsonFromResponse(_0x54ddde);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x448a86){isUnauthorizedError(_0x448a86['status'])&&loginRouters.goToLogin();if(!_0x448a86['ok']){const _0x16e332=await handleErrorResponse(_0x448a86);return _0x16e332;}if(_0x448a86['status']===httpStatusCodes.httpStatusCodes['noContent'])return null;const _0x4bd3a1=await _0x448a86['blob']();return _0x4bd3a1;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x3629e9){const _0x1292f5=_0x3629e9['headers']['get']('content-type'),_0x5474e4=_0x1292f5?.['includes']('application/json');let _0x2eefe7='',_0x4b4384='';if(_0x5474e4){const _0x49d586=await utils.getJsonFromResponse(_0x3629e9);_0x2eefe7=_0x49d586?.['message'],_0x4b4384=_0x49d586?.['description']||'';}_0x2eefe7=_0x2eefe7?_0x2eefe7:_0x3629e9['statusText'];const _0x14bbf7={'status':_0x3629e9['status'],'message':_0x2eefe7},_0x5d93df={'originalUrl':_0x3629e9['url']};return _0x3629e9['status']!==httpStatusCodes.httpStatusCodes['unauthorized']&&errorHandler.logAndNotify(new Error(_0x2eefe7)),problemDetails.getProblemDetails(_0x14bbf7,_0x5d93df,_0x4b4384);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x376118){return _0x376118===httpStatusCodes.httpStatusCodes['unauthorized']&&environments.isBrowser()&&window['location']['pathname']!==loginRouters.getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
13
+ var __defProp=Object['defineProperty'],__name=(_0x9e729e,_0xdf3f14)=>__defProp(_0x9e729e,'name',{'value':_0xdf3f14,'configurable':!![]});async function apiBaseGet(_0x266bfd,_0x594e24){const _0x1e43af=await fetch(_0x266bfd,{'method':httpConstants.httpMethods['get'],'headers':_0x594e24});return baseApiHandleResponse(_0x1e43af);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x53d506,_0x4cb179){const _0x1e5748=await fetch(_0x53d506,{'method':httpConstants.httpMethods['get'],'headers':_0x4cb179});return baseApiHandleBlobResponse(_0x1e5748);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x403c7a,_0x47663f,_0x258cfe){const _0xa3b275=await fetch(_0x403c7a,{'method':httpConstants.httpMethods['post'],'headers':_0x258cfe,'body':_0x47663f instanceof URLSearchParams?_0x47663f:JSON['stringify'](_0x47663f)});return baseApiHandleResponse(_0xa3b275);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x3c3cff,_0xc5cd27,_0x3629d6){const _0x2d56e8=await fetch(_0x3c3cff,{'method':httpConstants.httpMethods['put'],'headers':_0x3629d6,'body':JSON['stringify'](_0xc5cd27)});return baseApiHandleResponse(_0x2d56e8);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x21b497,_0x31c795){const _0x5c1c82=await fetch(_0x21b497,{'method':httpConstants.httpMethods['delete'],'headers':_0x31c795});if(!_0x5c1c82['ok'])handleErrorResponse(_0x5c1c82);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x3dd258){const _0x3d8999=_0x3dd258['headers']['get']('content-type'),_0x5f54f9=_0x3d8999?.['includes']('application/json');isUnauthorizedError(_0x3dd258['status'])&&(loginStates.removeLoginState(),loginRouters.goToLogin());if(!_0x3dd258['ok'])return handleErrorResponse(_0x3dd258);if(_0x3dd258['status']===httpStatusCodes.httpStatusCodes['noContent']||!_0x5f54f9)return null;return utils.getJsonFromResponse(_0x3dd258);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x54deb4){isUnauthorizedError(_0x54deb4['status'])&&loginRouters.goToLogin();if(!_0x54deb4['ok']){const _0x4816e0=await handleErrorResponse(_0x54deb4);return _0x4816e0;}if(_0x54deb4['status']===httpStatusCodes.httpStatusCodes['noContent'])return null;const _0x2645d8=await _0x54deb4['blob']();return _0x2645d8;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x4cf3e8){const _0xdfa112=_0x4cf3e8['headers']['get']('content-type'),_0x29a1e3=_0xdfa112?.['includes']('application/json');let _0x4372bf='',_0x1a2cca='';if(_0x29a1e3){const _0x3bb1cb=await utils.getJsonFromResponse(_0x4cf3e8);_0x4372bf=_0x3bb1cb?.['message'],_0x1a2cca=_0x3bb1cb?.['description']||'';}_0x4372bf=_0x4372bf?_0x4372bf:_0x4cf3e8['statusText'];const _0x25422c={'status':_0x4cf3e8['status'],'message':_0x4372bf},_0x55b563={'originalUrl':_0x4cf3e8['url']};return _0x4cf3e8['status']!==httpStatusCodes.httpStatusCodes['unauthorized']&&errorHandler.logAndNotify(new Error(_0x4372bf)),problemDetails.getProblemDetails(_0x25422c,_0x55b563,_0x1a2cca);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x3e4cc4){return _0x3e4cc4===httpStatusCodes.httpStatusCodes['unauthorized']&&environments.isBrowser()&&window['location']['pathname']!==loginRouters.getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
14
14
 
15
15
  exports.apiBaseGet = apiBaseGet;
16
16
  exports.apiBaseGetBlob = apiBaseGetBlob;
@@ -8,6 +8,6 @@ import { removeLoginState } from '../auth/login-states.js';
8
8
  import { isBrowser } from '../lib/environments.js';
9
9
  import { getJsonFromResponse } from '../lib/utils.js';
10
10
 
11
- var __defProp=Object['defineProperty'],__name=(_0x3b1dba,_0x1b0dba)=>__defProp(_0x3b1dba,'name',{'value':_0x1b0dba,'configurable':!![]});async function apiBaseGet(_0x505b5e,_0x472c20){const _0x20a4b7=await fetch(_0x505b5e,{'method':httpMethods['get'],'headers':_0x472c20});return baseApiHandleResponse(_0x20a4b7);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x50ad87,_0x3201b8){const _0xf5ff8a=await fetch(_0x50ad87,{'method':httpMethods['get'],'headers':_0x3201b8});return baseApiHandleBlobResponse(_0xf5ff8a);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x56a428,_0xc844ab,_0x49b0a7){const _0xeb7c32=await fetch(_0x56a428,{'method':httpMethods['post'],'headers':_0x49b0a7,'body':_0xc844ab instanceof URLSearchParams?_0xc844ab:JSON['stringify'](_0xc844ab)});return baseApiHandleResponse(_0xeb7c32);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x4189d8,_0x32336e,_0x2e72b4){const _0x3ee550=await fetch(_0x4189d8,{'method':httpMethods['put'],'headers':_0x2e72b4,'body':JSON['stringify'](_0x32336e)});return baseApiHandleResponse(_0x3ee550);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x2fb8e0,_0x2dbbb7){const _0x2d6d77=await fetch(_0x2fb8e0,{'method':httpMethods['delete'],'headers':_0x2dbbb7});if(!_0x2d6d77['ok'])handleErrorResponse(_0x2d6d77);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x54ddde){const _0x1be10a=_0x54ddde['headers']['get']('content-type'),_0x345daa=_0x1be10a?.['includes']('application/json');isUnauthorizedError(_0x54ddde['status'])&&(removeLoginState(),goToLogin());if(!_0x54ddde['ok']){const _0x3057a8=await handleErrorResponse(_0x54ddde);return _0x3057a8;}if(_0x54ddde['status']===httpStatusCodes['noContent']||!_0x345daa)return null;return getJsonFromResponse(_0x54ddde);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x448a86){isUnauthorizedError(_0x448a86['status'])&&goToLogin();if(!_0x448a86['ok']){const _0x16e332=await handleErrorResponse(_0x448a86);return _0x16e332;}if(_0x448a86['status']===httpStatusCodes['noContent'])return null;const _0x4bd3a1=await _0x448a86['blob']();return _0x4bd3a1;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x3629e9){const _0x1292f5=_0x3629e9['headers']['get']('content-type'),_0x5474e4=_0x1292f5?.['includes']('application/json');let _0x2eefe7='',_0x4b4384='';if(_0x5474e4){const _0x49d586=await getJsonFromResponse(_0x3629e9);_0x2eefe7=_0x49d586?.['message'],_0x4b4384=_0x49d586?.['description']||'';}_0x2eefe7=_0x2eefe7?_0x2eefe7:_0x3629e9['statusText'];const _0x14bbf7={'status':_0x3629e9['status'],'message':_0x2eefe7},_0x5d93df={'originalUrl':_0x3629e9['url']};return _0x3629e9['status']!==httpStatusCodes['unauthorized']&&logAndNotify(new Error(_0x2eefe7)),getProblemDetails(_0x14bbf7,_0x5d93df,_0x4b4384);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x376118){return _0x376118===httpStatusCodes['unauthorized']&&isBrowser()&&window['location']['pathname']!==getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
11
+ var __defProp=Object['defineProperty'],__name=(_0x9e729e,_0xdf3f14)=>__defProp(_0x9e729e,'name',{'value':_0xdf3f14,'configurable':!![]});async function apiBaseGet(_0x266bfd,_0x594e24){const _0x1e43af=await fetch(_0x266bfd,{'method':httpMethods['get'],'headers':_0x594e24});return baseApiHandleResponse(_0x1e43af);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x53d506,_0x4cb179){const _0x1e5748=await fetch(_0x53d506,{'method':httpMethods['get'],'headers':_0x4cb179});return baseApiHandleBlobResponse(_0x1e5748);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x403c7a,_0x47663f,_0x258cfe){const _0xa3b275=await fetch(_0x403c7a,{'method':httpMethods['post'],'headers':_0x258cfe,'body':_0x47663f instanceof URLSearchParams?_0x47663f:JSON['stringify'](_0x47663f)});return baseApiHandleResponse(_0xa3b275);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x3c3cff,_0xc5cd27,_0x3629d6){const _0x2d56e8=await fetch(_0x3c3cff,{'method':httpMethods['put'],'headers':_0x3629d6,'body':JSON['stringify'](_0xc5cd27)});return baseApiHandleResponse(_0x2d56e8);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x21b497,_0x31c795){const _0x5c1c82=await fetch(_0x21b497,{'method':httpMethods['delete'],'headers':_0x31c795});if(!_0x5c1c82['ok'])handleErrorResponse(_0x5c1c82);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x3dd258){const _0x3d8999=_0x3dd258['headers']['get']('content-type'),_0x5f54f9=_0x3d8999?.['includes']('application/json');isUnauthorizedError(_0x3dd258['status'])&&(removeLoginState(),goToLogin());if(!_0x3dd258['ok'])return handleErrorResponse(_0x3dd258);if(_0x3dd258['status']===httpStatusCodes['noContent']||!_0x5f54f9)return null;return getJsonFromResponse(_0x3dd258);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x54deb4){isUnauthorizedError(_0x54deb4['status'])&&goToLogin();if(!_0x54deb4['ok']){const _0x4816e0=await handleErrorResponse(_0x54deb4);return _0x4816e0;}if(_0x54deb4['status']===httpStatusCodes['noContent'])return null;const _0x2645d8=await _0x54deb4['blob']();return _0x2645d8;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x4cf3e8){const _0xdfa112=_0x4cf3e8['headers']['get']('content-type'),_0x29a1e3=_0xdfa112?.['includes']('application/json');let _0x4372bf='',_0x1a2cca='';if(_0x29a1e3){const _0x3bb1cb=await getJsonFromResponse(_0x4cf3e8);_0x4372bf=_0x3bb1cb?.['message'],_0x1a2cca=_0x3bb1cb?.['description']||'';}_0x4372bf=_0x4372bf?_0x4372bf:_0x4cf3e8['statusText'];const _0x25422c={'status':_0x4cf3e8['status'],'message':_0x4372bf},_0x55b563={'originalUrl':_0x4cf3e8['url']};return _0x4cf3e8['status']!==httpStatusCodes['unauthorized']&&logAndNotify(new Error(_0x4372bf)),getProblemDetails(_0x25422c,_0x55b563,_0x1a2cca);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x3e4cc4){return _0x3e4cc4===httpStatusCodes['unauthorized']&&isBrowser()&&window['location']['pathname']!==getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
12
12
 
13
13
  export { apiBaseGet, apiBaseGetBlob, baseApiHandleBlobResponse, baseApiHandleResponse, deleteBaseApi, handleErrorResponse, postBaseApi, putBaseApi };
@@ -7,7 +7,7 @@ var publicFiles = require('../constants/public-files.cjs.js');
7
7
  var extensions = require('../constants/extensions.cjs.js');
8
8
  var sessionStorage = require('./session-storage.cjs.js');
9
9
 
10
- var __defProp=Object['defineProperty'],__name=(_0x1f842d,_0x4d09d1)=>__defProp(_0x1f842d,'name',{'value':_0x4d09d1,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x561d9b){localStorage.setLocalStorage(loginStateKey,_0x561d9b);}__name(setLoginState,'setLoginState');function getLoginState(){return localStorage.getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){localStorage.removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return sessionStorage.getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x5e1d0d=(window['location']['pathname']+window['location']['search'])['slice'](0x24d5+-0x21*0xea+-0x6aa*0x1);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x5e1d0d);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x551478={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x551478;}__name(getEmptyLoginState,'getEmptyLoginState');
10
+ var __defProp=Object['defineProperty'],__name=(_0x44d787,_0x33f28b)=>__defProp(_0x44d787,'name',{'value':_0x33f28b,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x22b44d){localStorage.setLocalStorage(loginStateKey,_0x22b44d);}__name(setLoginState,'setLoginState');function getLoginState(){return localStorage.getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){localStorage.removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return sessionStorage.getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x5f0d08=(window['location']['pathname']+window['location']['search'])['slice'](0x1*0xa84+-0x7f*-0xb+-0x124*0xe);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x5f0d08);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x196d90={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x196d90;}__name(getEmptyLoginState,'getEmptyLoginState');
11
11
 
12
12
  exports.getAfterLoginRedirectUrl = getAfterLoginRedirectUrl;
13
13
  exports.getLoginState = getLoginState;
@@ -5,6 +5,6 @@ import { publicImages } from '../constants/public-files.js';
5
5
  import { extensions } from '../constants/extensions.js';
6
6
  import { getSessionStorage, setSessionStorage, removeSessionStorage } from './session-storage.js';
7
7
 
8
- var __defProp=Object['defineProperty'],__name=(_0x1f842d,_0x4d09d1)=>__defProp(_0x1f842d,'name',{'value':_0x4d09d1,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x561d9b){setLocalStorage(loginStateKey,_0x561d9b);}__name(setLoginState,'setLoginState');function getLoginState(){return getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x5e1d0d=(window['location']['pathname']+window['location']['search'])['slice'](0x24d5+-0x21*0xea+-0x6aa*0x1);setSessionStorage(afterLoginRedirectUrlKey,_0x5e1d0d);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x551478={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x551478;}__name(getEmptyLoginState,'getEmptyLoginState');
8
+ var __defProp=Object['defineProperty'],__name=(_0x44d787,_0x33f28b)=>__defProp(_0x44d787,'name',{'value':_0x33f28b,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x22b44d){setLocalStorage(loginStateKey,_0x22b44d);}__name(setLoginState,'setLoginState');function getLoginState(){return getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x5f0d08=(window['location']['pathname']+window['location']['search'])['slice'](0x1*0xa84+-0x7f*-0xb+-0x124*0xe);setSessionStorage(afterLoginRedirectUrlKey,_0x5f0d08);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x196d90={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x196d90;}__name(getEmptyLoginState,'getEmptyLoginState');
9
9
 
10
10
  export { getAfterLoginRedirectUrl, getLoginState, isLoggedIn, removeAfterLoginRedirectUrl, removeLoginState, setAfterLoginRedirectUrl, setLoginState };