@fernir2/saas-kit-cli 0.1.22 → 0.1.23

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 (91) 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/cli/README.md +101 -0
  4. package/cli/bin/index.ts +358 -0
  5. package/cli/drizzle.config.ts +12 -0
  6. package/cli/eslint.config.js +10 -0
  7. package/cli/global-setup.ts +25 -0
  8. package/cli/next.config.js +55 -0
  9. package/cli/npm-commands/gen-meta/index.ts +3 -0
  10. package/cli/npm-commands/gen-schema/index.ts +5 -0
  11. package/cli/npm-commands/migrate-db/index.ts +5 -0
  12. package/cli/npm-commands/migrate-db/migrate-db.ts +15 -0
  13. package/cli/npm-commands/seed-db/index.ts +5 -0
  14. package/cli/npm-commands/seed-db/seed-db.ts +15 -0
  15. package/cli/package-template.json +61 -0
  16. package/cli/playwright.config.ts +34 -0
  17. package/cli/postcss.config.mjs +9 -0
  18. package/cli/src/app/globals.css +1 -0
  19. package/cli/tailwind.config.ts +13 -0
  20. package/cli/tsconfig.json +65 -0
  21. package/cli/tsconfig.server.json +14 -0
  22. package/level2/cli/create-saas-kit-app/bin/index.cjs.js +4 -4
  23. package/level2/cli/create-saas-kit-app/bin/index.js +3 -3
  24. package/level2/fd-toolbox/api/api-client.cjs.js +1 -1
  25. package/level2/fd-toolbox/api/api-client.js +1 -1
  26. package/level2/fd-toolbox/api/api-path-names.cjs.js +2 -2
  27. package/level2/fd-toolbox/api/api-paths.cjs.js +1 -1
  28. package/level2/fd-toolbox/api/api-paths.js +1 -1
  29. package/level2/fd-toolbox/api/base-api.cjs.js +1 -1
  30. package/level2/fd-toolbox/api/base-api.js +1 -1
  31. package/level2/fd-toolbox/auth/login-states.cjs.js +1 -1
  32. package/level2/fd-toolbox/auth/login-states.js +1 -1
  33. package/level2/fd-toolbox/auth/session-storage.cjs.js +1 -1
  34. package/level2/fd-toolbox/auth/session-storage.js +1 -1
  35. package/level2/fd-toolbox/auth/tokens.cjs.js +1 -1
  36. package/level2/fd-toolbox/auth/tokens.js +1 -1
  37. package/level2/fd-toolbox/constants/constants.cjs.js +1 -1
  38. package/level2/fd-toolbox/constants/constants.js +1 -1
  39. package/level2/fd-toolbox/enums/enums.cjs.js +1 -1
  40. package/level2/fd-toolbox/enums/enums.js +1 -1
  41. package/level2/fd-toolbox/errors/error-handler.cjs.js +1 -1
  42. package/level2/fd-toolbox/errors/error-handler.js +1 -1
  43. package/level2/fd-toolbox/errors/errors.cjs.js +1 -1
  44. package/level2/fd-toolbox/errors/errors.js +1 -1
  45. package/level2/fd-toolbox/errors/problem-details.cjs.js +1 -1
  46. package/level2/fd-toolbox/errors/problem-details.js +1 -1
  47. package/level2/fd-toolbox/functions/value-checking-functions.cjs.js +1 -1
  48. package/level2/fd-toolbox/functions/value-checking-functions.js +1 -1
  49. package/level2/fd-toolbox/http/url/urls.cjs.js +1 -1
  50. package/level2/fd-toolbox/http/url/urls.js +1 -1
  51. package/level2/fd-toolbox/infra/env-config.cjs.js +2 -2
  52. package/level2/fd-toolbox/infra/env-config.js +2 -2
  53. package/level2/fd-toolbox/infra/env-functions.cjs.js +1 -1
  54. package/level2/fd-toolbox/infra/env-functions.js +1 -1
  55. package/level2/fd-toolbox/infra/env-schema.cjs.js +2 -2
  56. package/level2/fd-toolbox/infra/env-schema.js +2 -2
  57. package/level2/fd-toolbox/infra/env-store.cjs.js +1 -1
  58. package/level2/fd-toolbox/infra/env-store.js +1 -1
  59. package/level2/fd-toolbox/lib/environments.cjs.js +1 -1
  60. package/level2/fd-toolbox/lib/environments.js +1 -1
  61. package/level2/fd-toolbox/lib/utils.cjs.js +1 -1
  62. package/level2/fd-toolbox/lib/utils.js +1 -1
  63. package/level2/fd-toolbox/local-storage/local-storage.cjs.js +1 -1
  64. package/level2/fd-toolbox/local-storage/local-storage.js +1 -1
  65. package/level2/fd-toolbox/logging/loggers.cjs.js +1 -1
  66. package/level2/fd-toolbox/logging/loggers.js +1 -1
  67. package/level2/fd-toolbox/notifications.cjs.js +2 -2
  68. package/level2/fd-toolbox/notifications.js +2 -2
  69. package/level2/fd-toolbox/odata/odata-constants.cjs.js +1 -1
  70. package/level2/fd-toolbox/odata/odata-constants.js +1 -1
  71. package/level2/fd-toolbox/odata/odatas.cjs.js +1 -1
  72. package/level2/fd-toolbox/odata/odatas.js +1 -1
  73. package/level2/fd-toolbox/odata/services/odata-filters.cjs.js +1 -1
  74. package/level2/fd-toolbox/odata/services/odata-filters.js +1 -1
  75. package/level2/fd-toolbox/paths/paths-names.cjs.js +2 -2
  76. package/level2/fd-toolbox/paths/paths-names.js +1 -1
  77. package/level2/fd-toolbox/routing/login-routers.cjs.js +1 -1
  78. package/level2/fd-toolbox/routing/login-routers.js +1 -1
  79. package/level2/fd-toolbox/routing/paths.cjs.js +1 -1
  80. package/level2/fd-toolbox/routing/paths.js +1 -1
  81. package/level2/fd-toolbox/strings/strings-constants.cjs.js +1 -1
  82. package/level2/fd-toolbox/strings/strings-constants.js +1 -1
  83. package/level2/fd-toolbox/strings/strings.cjs.js +1 -1
  84. package/level2/fd-toolbox/strings/strings.js +1 -1
  85. package/level2/fd-toolbox/types/ensure-type.cjs.js +1 -1
  86. package/level2/fd-toolbox/types/ensure-type.js +1 -1
  87. package/level2/fd-toolbox-core/core/name-of.cjs.js +1 -1
  88. package/level2/fd-toolbox-core/core/name-of.js +1 -1
  89. package/level2/fd-toolbox-core/types/resource-with-id.cjs.js +1 -1
  90. package/level2/fd-toolbox-core/types/resource-with-id.js +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1,61 @@
1
+ {
2
+ "version": "0.1.0",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "npx tsx --tsconfig tsconfig.server.json server.ts",
7
+ "build": "next build && tsc --project tsconfig.server.json",
8
+ "lint": "eslint -c eslint.config.js",
9
+ "gen-schema": "npx tsx tools/npm-commands/gen-schema/index.ts",
10
+ "gen-meta": "npx tsx tools/npm-commands/gen-meta/index.ts",
11
+ "init-db": "npm run migrate-db && npm run seed-db",
12
+ "setup": "npm run gen-meta && npm run gen-schema && npm run init-db",
13
+ "start": "npm run setup && npm run dev",
14
+ "prod": "npm run setup && npm run build && npx tsx server.ts",
15
+ "migrate-db": "npx tsx tools/npm-commands/migrate-db/index.ts",
16
+ "seed-db": "npx tsx tools/npm-commands/seed-db/index.ts"
17
+ },
18
+ "dependencies": {
19
+ "@fernir2/saas-kit": "0.0.150",
20
+ "@node-rs/argon2": "2.0.2",
21
+ "drizzle-orm": "0.41.0",
22
+ "eslint-plugin-github": "6.0.0",
23
+ "eslint-plugin-import": "2.32.0",
24
+ "eslint-plugin-sonarjs": "3.0.5",
25
+ "geist": "1.3.1",
26
+ "next": "15.4.5",
27
+ "quill": "2.0.3",
28
+ "react": "18",
29
+ "react-dom": "18",
30
+ "socket.io-client": "4.8.1",
31
+ "tailwindcss-animate": "1.0.7"
32
+ },
33
+ "devDependencies": {
34
+ "playwright": "1.52.0",
35
+ "@eslint/eslintrc": "3.3.1",
36
+ "@eslint/js": "9.35.0",
37
+ "@types/node": "24.5.1",
38
+ "@types/react": "18",
39
+ "@types/react-dom": "18",
40
+ "@typescript-eslint/eslint-plugin": "8.43.0",
41
+ "@typescript-eslint/eslint-plugin-tslint": "7.0.2",
42
+ "@typescript-eslint/parser": "8.43.0",
43
+ "drizzle-kit": "0.28.1",
44
+ "eslint": "9.35.0",
45
+ "eslint-config-next": "15.5.2",
46
+ "eslint-config-prettier": "9.1.0",
47
+ "eslint-plugin-react": "7.37.5",
48
+ "eslint-plugin-react-compiler": "19.1.0-rc.2",
49
+ "eslint-plugin-react-hooks": "5.2.0",
50
+ "eslint-plugin-react-refresh": "0.4.20",
51
+ "eslint-plugin-tailwindcss": "3.18.2",
52
+ "husky": "9.1.7",
53
+ "postcss": "8",
54
+ "prettier": "3.6.2",
55
+ "prettier-plugin-tailwindcss": "0.6.14",
56
+ "tailwindcss": "3.4.1",
57
+ "tsx": "4.19.1",
58
+ "typescript": "5.9.2",
59
+ "esbuild": "0.19.12"
60
+ }
61
+ }
@@ -0,0 +1,34 @@
1
+ import { defineConfig, devices } from "playwright/test";
2
+ import { getDotenvConfig } from "@fernir2/saas-kit";
3
+
4
+ getDotenvConfig();
5
+
6
+ const baseUrl = "http://localhost:8080/";
7
+
8
+ export default defineConfig({
9
+ timeout: 120000,
10
+ testDir: "test/",
11
+ fullyParallel: true,
12
+ globalSetup: "./global-setup.ts",
13
+ workers: undefined,
14
+ reporter: "html",
15
+ use: {
16
+ baseURL: baseUrl,
17
+ trace: "on-first-retry",
18
+ },
19
+ projects: [
20
+ {
21
+ name: "chromium",
22
+ use: { ...devices["Desktop Chrome"] },
23
+ },
24
+ ],
25
+ webServer: {
26
+ command: "npm run prod",
27
+ url: baseUrl,
28
+ reuseExistingServer: true,
29
+ timeout: 120000,
30
+ env: {
31
+ NODE_ENV: "test",
32
+ },
33
+ },
34
+ });
@@ -0,0 +1,9 @@
1
+ /** @type {import('postcss-load-config').Config} */
2
+ const config = {
3
+ plugins: {
4
+ tailwindcss: {},
5
+ autoprefixer: {},
6
+ },
7
+ };
8
+
9
+ export default config;
@@ -0,0 +1 @@
1
+ @import "@fernir2/saas-kit/styles";
@@ -0,0 +1,13 @@
1
+ import { getTailwindConfig } from "@fernir2/saas-kit";
2
+
3
+ const config = getTailwindConfig();
4
+
5
+ config.content = [
6
+ "./pages/**/*.{ts,tsx}",
7
+ "./components/**/*.{ts,tsx}",
8
+ "./app/**/*.{ts,tsx}",
9
+ "./src/**/*.{ts,tsx}",
10
+ "./node_modules/@fernir2/saas-kit/src/**/*.{js,ts,jsx,tsx}",
11
+ ];
12
+
13
+ export default config;
@@ -0,0 +1,65 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2023",
4
+ "experimentalDecorators": true,
5
+ "emitDecoratorMetadata": true,
6
+ "lib": ["ES2023", "dom", "dom.iterable"],
7
+ "allowJs": true,
8
+ "skipLibCheck": true,
9
+ "strict": true,
10
+ "esModuleInterop": true,
11
+
12
+ "module": "esnext",
13
+ "moduleResolution": "bundler",
14
+
15
+ "resolveJsonModule": true,
16
+ "isolatedModules": true,
17
+ "jsx": "preserve",
18
+ "incremental": true,
19
+ "plugins": [{ "name": "next" }],
20
+
21
+ "baseUrl": "./",
22
+ "preserveSymlinks": false,
23
+ "paths": {
24
+ "@/*": ["./src/*"],
25
+ "@cli/*": ["./cli/*"],
26
+ "@adders/*": ["./adders/*"],
27
+ "@server/*": ["./server/*"],
28
+ "@schemas/*": ["./generated/*"],
29
+ "@npm-commands/*": ["./npm-commands/*"],
30
+ "@root/*": ["./*"]
31
+ },
32
+
33
+ "forceConsistentCasingInFileNames": true,
34
+ "noFallthroughCasesInSwitch": true,
35
+ "sourceMap": true,
36
+ "importHelpers": true,
37
+ "noEmitHelpers": true,
38
+ "downlevelIteration": true,
39
+ "pretty": true,
40
+ "noUnusedLocals": true,
41
+ "noUnusedParameters": true,
42
+ "noPropertyAccessFromIndexSignature": true,
43
+ "noImplicitOverride": true,
44
+ "useUnknownInCatchVariables": true,
45
+
46
+ "noEmit": false,
47
+ "declaration": true,
48
+ "declarationDir": "./build/package/types",
49
+ "rootDir": "./",
50
+ "outDir": "./build/package/types-output",
51
+ "noEmitOnError": true
52
+ },
53
+ "include": [
54
+ "src",
55
+ "cli",
56
+ "server",
57
+ "adders",
58
+ "generated",
59
+ "next-env.d.ts",
60
+ "global.d.ts",
61
+ ".next/types/**/*.ts",
62
+ "playwright.config.ts"
63
+ ],
64
+ "exclude": ["node_modules", "dist", "build", ".next", "coverage"]
65
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "es2022",
5
+ "moduleResolution": "bundler",
6
+ "outDir": "dist",
7
+ "lib": ["ES2022", "dom"],
8
+ "target": "ES2022",
9
+ "isolatedModules": false,
10
+ "noEmit": false,
11
+ "strict": true
12
+ },
13
+ "include": ["server.ts"]
14
+ }
@@ -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 _0x379520 = require('path');
9
- var _0x5b7a94 = require('node:fs');
8
+ var _0x3072fe = require('path');
9
+ var _0x400653 = 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 _0x379520__namespace = /*#__PURE__*/_interopNamespaceDefault(_0x379520);
38
+ var _0x3072fe__namespace = /*#__PURE__*/_interopNamespaceDefault(_0x3072fe);
39
39
 
40
- 'use strict';var __defProp=Object['defineProperty'],__name=(_0x231ef5,_0x1fb8d3)=>__defProp(_0x231ef5,'name',{'value':_0x1fb8d3,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x22c1+-0x720+-0x1ba0));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=_0x379520__namespace['dirname'](filename),repoRoot=_0x379520__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x379520__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/.env'),envTemplate=_0x5b7a94['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0x1f169e,_0xfdcd64){loggers.logInfoRaw('Executing:\x20'+_0x1f169e);try{child_process.execSync(_0x1f169e,{'stdio':'inherit','cwd':_0xfdcd64??process['cwd']()});}catch(_0x4aae1b){const _0x71e2e=_0x4aae1b instanceof Error?_0x4aae1b['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0x1f169e),loggers.logStringError(_0x71e2e),process['exit'](0x8*0x20e+0x5*0x39d+-0x2280);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x499d7c){fs.existsSync(_0x499d7c)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x379520__namespace['basename'](_0x499d7c)+'\x22\x20already\x20exists.'),process['exit'](-0xa01+-0x224c+0x2c4e));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x351a89=_0x379520__namespace['resolve'](repoRoot,'package.json'),_0x12c50c=JSON['parse'](_0x5b7a94['readFileSync'](_0x351a89,'utf-8'));return String(_0x12c50c['devDependencies']?.['next']??_0x12c50c['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x5d05e0,_0x25a467){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x40dd8e=getCreateNextAppVersion(),_0x48b9b9=['npx\x20create-next-app@'+_0x40dd8e+'\x20\x22'+_0x5d05e0+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x48b9b9,_0x379520__namespace['dirname'](_0x25a467)),loggers.logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x47f133){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x1d923c=_0x379520__namespace['join'](_0x47f133,'.env');try{await fs.promises['writeFile'](_0x1d923c,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x38cd08){const _0x1377a7=_0x38cd08 instanceof Error?_0x38cd08['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x1377a7);throw _0x38cd08;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x4570db){const _0x434c84=_0x379520__namespace['join'](_0x4570db,'package.json'),_0xf58c78=_0x379520__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x2c0dd1=JSON['parse'](await fs.promises['readFile'](_0x434c84,'utf8')),_0x444cd6=_0x2c0dd1['name'],_0x54d7bf=JSON['parse'](await fs.promises['readFile'](_0xf58c78,'utf8')),_0x2f800e={..._0x54d7bf,'name':_0x444cd6};await fs.promises['writeFile'](_0x434c84,JSON['stringify'](_0x2f800e,null,-0xe41+-0x18fa+0x7*0x59b)+'\x0a','utf8');}catch(_0x2b1c11){const _0x3e6ef5=_0x2b1c11 instanceof Error?_0x2b1c11['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x3e6ef5);throw _0x2b1c11;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x287373){const _0x2b7b1c=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x287373['replace'](_0x2b7b1c,(_0x4b0de2,_0x215967,_0x24f7cf,_0x2da8aa)=>{if(!_0x24f7cf['startsWith'](aliases.aliasSymbols['atSign'])||_0x24f7cf['startsWith'](packages.npmPackages['saasKit']))return _0x4b0de2;if(_0x24f7cf['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x24f7cf['includes']('/'+projectPaths.folders['server']+'/'))return ''+_0x215967+packages.npmPackages['saasKitServer']+_0x2da8aa;return ''+_0x215967+packages.npmPackages['saasKit']+_0x2da8aa;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x3bff59){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x504c0a of path.allFilesToCopy){const _0x8c1f85=projectPaths.folders['cli']+'/'+_0x504c0a,_0x36d0f5=_0x379520__namespace['join'](repoRoot,_0x8c1f85),_0x4ded53=replaceToolsFolder(_0x504c0a),_0x14bba8=_0x379520__namespace['join'](_0x3bff59,_0x4ded53);if(fs.existsSync(_0x36d0f5)){const _0x4791ac=await fs.promises['stat'](_0x36d0f5);_0x4791ac['isDirectory']()?await copyDirectoryContents(_0x36d0f5,_0x14bba8):await copyAndProcessFile(_0x36d0f5,_0x14bba8);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x8c1f85);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x12ee3f){let _0x24f706=_0x12ee3f;for(const [_0x26898c,_0x21fb54]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x24f706['startsWith'](_0x26898c)&&ensureType.isWithIndexer(_0x21fb54)){const _0x448400=_0x21fb54;for(const _0x4c5e6a in _0x448400){const _0x1fffbc=_0x448400[_0x4c5e6a];ensureType.isString(_0x1fffbc)&&(_0x24f706=_0x24f706['replace'](_0x4c5e6a,_0x1fffbc));}break;}}return _0x24f706;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x5abaf7,_0x14cba7,_0x79c3e7=![]){const _0x4ea6cd=_0x379520__namespace['relative'](_0x14cba7,_0x5abaf7),_0x22b08e=_0x4ea6cd['split'](_0x379520__namespace['sep']),_0x42008d=_0x379520__namespace['relative'](repoRoot,_0x5abaf7)['replace'](/\\/g,'/');return _0x79c3e7&&foldersToIgnore['includes'](_0x42008d)||foldersToIgnore['some'](_0x313e47=>_0x22b08e['some'](_0x2edfcd=>_0x2edfcd===_0x313e47));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x27dc54,_0x1e9aa1){!fs.existsSync(_0x1e9aa1)&&fs.mkdirSync(_0x1e9aa1,{'recursive':!![]});try{const _0x4f4bc2=await fs.promises['readdir'](_0x27dc54,{'withFileTypes':!![]});for(const _0x4230c8 of _0x4f4bc2){const _0xed46ee=_0x379520__namespace['join'](_0x27dc54,_0x4230c8['name']),_0x198e74=_0x379520__namespace['join'](_0x1e9aa1,_0x4230c8['name']);!shouldIgnorePath(_0xed46ee,_0x27dc54,_0x4230c8['isDirectory']())&&(_0x4230c8['isDirectory']()?await copyDirectoryContents(_0xed46ee,_0x198e74):await copyAndProcessFile(_0xed46ee,_0x198e74));}}catch(_0x580a08){const _0x400318=_0x580a08 instanceof Error?_0x580a08['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x27dc54+':\x20'+_0x400318);throw _0x580a08;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x18d6bc,_0xf5adc6){const _0x322db6=_0x379520__namespace['dirname'](_0xf5adc6);!fs.existsSync(_0x322db6)&&fs.mkdirSync(_0x322db6,{'recursive':!![]});const _0x104207=await fs.promises['stat'](_0x18d6bc);if(_0x104207['isDirectory']())await copyDirectoryContents(_0x18d6bc,_0xf5adc6);else {const _0x181d05=await fs.promises['readFile'](_0x18d6bc,'utf8'),_0x1df562=replaceImports(_0x181d05);await fs.promises['writeFile'](_0xf5adc6,_0x1df562,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x3838cd){for(const _0x40f0d7 of createAppConstants.additionalFoldersToCreate){const _0x746d9d=_0x379520__namespace['join'](_0x3838cd,_0x40f0d7);!fs.existsSync(_0x746d9d)&&(fs.mkdirSync(_0x746d9d,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x40f0d7));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x5b7c34=process['argv']['slice'](0x17c6+-0x1d06+-0x1*-0x542);_0x5b7c34['length']<-0x136a+0x1a49+-0x6de&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x16bd+-0x6c*0x48+0x351e));const _0x380dcd=_0x5b7c34[0x1*0xdea+-0x1d1d+0xf33],_0x41cfc1=_0x379520__namespace['resolve'](process['cwd'](),_0x380dcd);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x380dcd+'\x22...\x0a');try{checkTargetFolder(_0x41cfc1),createNextProject(_0x380dcd,_0x41cfc1),await copyProjectFiles(_0x41cfc1),await overridePackageJson(_0x41cfc1),createAdditionalFolders(_0x41cfc1),await createEnvFile(_0x41cfc1),await updateLayoutTitle(_0x41cfc1,_0x380dcd),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x380dcd+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x380dcd),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x2d6624){const _0x385c16=_0x2d6624 instanceof Error?_0x2d6624['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x385c16),fs.existsSync(_0x41cfc1)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x41cfc1,{'recursive':!![],'force':!![]})),process['exit'](0x89f*0x1+0x821*-0x1+-0x19*0x5);}}__name(main,'main');async function updateLayoutTitle(_0x5fd514,_0x81d2e5){const _0x1d7e6d=_0x379520__namespace['join'](_0x5fd514,'src/app/layout.tsx');if(!fs.existsSync(_0x1d7e6d))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x1d7e6d+',\x20cannot\x20update\x20title.');let _0x42f4ba=await fs.promises['readFile'](_0x1d7e6d,'utf8');const _0x354f3a=/"SaaS Kit"/g;if(!_0x354f3a['test'](_0x42f4ba))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x42f4ba=_0x42f4ba['replace'](_0x354f3a,'\x22'+_0x81d2e5+'\x22'),await fs.promises['writeFile'](_0x1d7e6d,_0x42f4ba,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x41cc0f=>{const _0x367027=_0x41cc0f instanceof Error?_0x41cc0f['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x367027),process['exit'](-0x1c5d+-0x1185+0x2b3*0x11);});
40
+ 'use strict';var __defProp=Object['defineProperty'],__name=(_0x322376,_0x140002)=>__defProp(_0x322376,'name',{'value':_0x140002,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x7*0x53+0x1269+-0x14ad));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=_0x3072fe__namespace['dirname'](filename),repoRoot=_0x3072fe__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x3072fe__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/.env'),envTemplate=_0x400653['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0x4bf6ef,_0x16daa9){loggers.logInfoRaw('Executing:\x20'+_0x4bf6ef);try{child_process.execSync(_0x4bf6ef,{'stdio':'inherit','cwd':_0x16daa9??process['cwd']()});}catch(_0x559b3f){const _0x30def4=_0x559b3f instanceof Error?_0x559b3f['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0x4bf6ef),loggers.logStringError(_0x30def4),process['exit'](-0xb8c+-0x39*-0x20+-0x46d*-0x1);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x22457f){fs.existsSync(_0x22457f)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x3072fe__namespace['basename'](_0x22457f)+'\x22\x20already\x20exists.'),process['exit'](-0xfd*-0x5+0x7*0x503+0x2ab*-0xf));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0xc176a8=_0x3072fe__namespace['resolve'](repoRoot,'package.json'),_0x31433e=JSON['parse'](_0x400653['readFileSync'](_0xc176a8,'utf-8'));return String(_0x31433e['devDependencies']?.['next']??_0x31433e['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x37a328,_0x3424bb){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x1e7bef=getCreateNextAppVersion(),_0x4e87f0=['npx\x20create-next-app@'+_0x1e7bef+'\x20\x22'+_0x37a328+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x4e87f0,_0x3072fe__namespace['dirname'](_0x3424bb)),loggers.logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x304d7d){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x24ad16=_0x3072fe__namespace['join'](_0x304d7d,'.env');try{await fs.promises['writeFile'](_0x24ad16,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x16413a){const _0x660f1f=_0x16413a instanceof Error?_0x16413a['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x660f1f);throw _0x16413a;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x2495c9){const _0x56aba7=_0x3072fe__namespace['join'](_0x2495c9,'package.json'),_0x37f5be=_0x3072fe__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x5bb4e3=JSON['parse'](await fs.promises['readFile'](_0x56aba7,'utf8')),_0x529809=_0x5bb4e3['name'],_0xe02a7b=JSON['parse'](await fs.promises['readFile'](_0x37f5be,'utf8')),_0x420011={..._0xe02a7b,'name':_0x529809};await fs.promises['writeFile'](_0x56aba7,JSON['stringify'](_0x420011,null,0x2*0xfc7+-0x4*0x29d+0x4*-0x546)+'\x0a','utf8');}catch(_0x551550){const _0x265a8b=_0x551550 instanceof Error?_0x551550['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x265a8b);throw _0x551550;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x489a9a){const _0x5b55b5=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x489a9a['replace'](_0x5b55b5,(_0x440453,_0x25fe16,_0x12242a,_0x361163)=>{if(!_0x12242a['startsWith'](aliases.aliasSymbols['atSign'])||_0x12242a['startsWith'](packages.npmPackages['saasKit']))return _0x440453;if(_0x12242a['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x12242a['includes']('/'+projectPaths.folders['server']+'/'))return ''+_0x25fe16+packages.npmPackages['saasKitServer']+_0x361163;return ''+_0x25fe16+packages.npmPackages['saasKit']+_0x361163;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x182172){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x5416ad of path.allFilesToCopy){const _0x57d619=projectPaths.folders['cli']+'/'+_0x5416ad,_0x59b6cb=_0x3072fe__namespace['join'](repoRoot,_0x57d619),_0x51876f=replaceToolsFolder(_0x5416ad),_0x4c4a9e=_0x3072fe__namespace['join'](_0x182172,_0x51876f);if(fs.existsSync(_0x59b6cb)){const _0xa24a2e=await fs.promises['stat'](_0x59b6cb);_0xa24a2e['isDirectory']()?await copyDirectoryContents(_0x59b6cb,_0x4c4a9e):await copyAndProcessFile(_0x59b6cb,_0x4c4a9e);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x57d619);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x1f4cda){let _0x24ad2c=_0x1f4cda;for(const [_0x4cdd32,_0x238b89]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x24ad2c['startsWith'](_0x4cdd32)&&ensureType.isWithIndexer(_0x238b89)){const _0x1789a1=_0x238b89;for(const _0x3fd968 in _0x1789a1){const _0x3c4de1=_0x1789a1[_0x3fd968];ensureType.isString(_0x3c4de1)&&(_0x24ad2c=_0x24ad2c['replace'](_0x3fd968,_0x3c4de1));}break;}}return _0x24ad2c;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x4c643f,_0x186463,_0x5198e2=![]){const _0x5712ea=_0x3072fe__namespace['relative'](_0x186463,_0x4c643f),_0x39f70f=_0x5712ea['split'](_0x3072fe__namespace['sep']),_0x3e4e09=_0x3072fe__namespace['relative'](repoRoot,_0x4c643f)['replace'](/\\/g,'/');return _0x5198e2&&foldersToIgnore['includes'](_0x3e4e09)||foldersToIgnore['some'](_0x1241d9=>_0x39f70f['some'](_0x4ca532=>_0x4ca532===_0x1241d9));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x12ed23,_0x52c8f0){!fs.existsSync(_0x52c8f0)&&fs.mkdirSync(_0x52c8f0,{'recursive':!![]});try{const _0x2d63b2=await fs.promises['readdir'](_0x12ed23,{'withFileTypes':!![]});for(const _0x45987c of _0x2d63b2){const _0x446326=_0x3072fe__namespace['join'](_0x12ed23,_0x45987c['name']),_0x4e9354=_0x3072fe__namespace['join'](_0x52c8f0,_0x45987c['name']);!shouldIgnorePath(_0x446326,_0x12ed23,_0x45987c['isDirectory']())&&(_0x45987c['isDirectory']()?await copyDirectoryContents(_0x446326,_0x4e9354):await copyAndProcessFile(_0x446326,_0x4e9354));}}catch(_0x375d7a){const _0x41c215=_0x375d7a instanceof Error?_0x375d7a['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x12ed23+':\x20'+_0x41c215);throw _0x375d7a;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x117279,_0x2d026c){const _0x13a22d=_0x3072fe__namespace['dirname'](_0x2d026c);!fs.existsSync(_0x13a22d)&&fs.mkdirSync(_0x13a22d,{'recursive':!![]});const _0x3b5cdd=await fs.promises['stat'](_0x117279);if(_0x3b5cdd['isDirectory']())await copyDirectoryContents(_0x117279,_0x2d026c);else {const _0xd7ee88=await fs.promises['readFile'](_0x117279,'utf8'),_0x9766fb=replaceImports(_0xd7ee88);await fs.promises['writeFile'](_0x2d026c,_0x9766fb,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x233ab3){for(const _0x37df3b of createAppConstants.additionalFoldersToCreate){const _0x328670=_0x3072fe__namespace['join'](_0x233ab3,_0x37df3b);!fs.existsSync(_0x328670)&&(fs.mkdirSync(_0x328670,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x37df3b));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x11d3fb=process['argv']['slice'](-0x8f0+0x1fe*0x3+0x17c*0x2);_0x11d3fb['length']<0x1ff2+-0x1*-0x2051+-0x4042&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x21*-0xcf+0x1bcc+-0x367a));const _0x2834e5=_0x11d3fb[-0x1*-0x629+0x356+-0xd*0xbb],_0x5f3d0d=_0x3072fe__namespace['resolve'](process['cwd'](),_0x2834e5);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x2834e5+'\x22...\x0a');try{checkTargetFolder(_0x5f3d0d),createNextProject(_0x2834e5,_0x5f3d0d),await copyProjectFiles(_0x5f3d0d),await overridePackageJson(_0x5f3d0d),createAdditionalFolders(_0x5f3d0d),await createEnvFile(_0x5f3d0d),await updateLayoutTitle(_0x5f3d0d,_0x2834e5),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x2834e5+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x2834e5),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x2550a4){const _0x37d637=_0x2550a4 instanceof Error?_0x2550a4['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x37d637),fs.existsSync(_0x5f3d0d)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x5f3d0d,{'recursive':!![],'force':!![]})),process['exit'](0xaf2+-0x13*-0xc5+-0x1990);}}__name(main,'main');async function updateLayoutTitle(_0x4f9891,_0x3aa583){const _0x2a3361=_0x3072fe__namespace['join'](_0x4f9891,'src/app/layout.tsx');if(!fs.existsSync(_0x2a3361))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x2a3361+',\x20cannot\x20update\x20title.');let _0x456f4b=await fs.promises['readFile'](_0x2a3361,'utf8');const _0x17aa77=/"SaaS Kit"/g;if(!_0x17aa77['test'](_0x456f4b))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x456f4b=_0x456f4b['replace'](_0x17aa77,'\x22'+_0x3aa583+'\x22'),await fs.promises['writeFile'](_0x2a3361,_0x456f4b,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x2efb00=>{const _0x24b3f3=_0x2efb00 instanceof Error?_0x2efb00['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x24b3f3),process['exit'](-0x2*-0x887+0x398+-0x14a5);});
@@ -3,8 +3,8 @@
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 _0x379520 from 'path';
7
- import _0x5b7a94 from 'node:fs';
6
+ import * as _0x3072fe from 'path';
7
+ import _0x400653 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';
@@ -15,4 +15,4 @@ 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=(_0x231ef5,_0x1fb8d3)=>__defProp(_0x231ef5,'name',{'value':_0x1fb8d3,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x22c1+-0x720+-0x1ba0));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0x379520['dirname'](filename),repoRoot=_0x379520['resolve'](binDir,sourceDir),envLocalPath=_0x379520['join'](binDir,''+sourceDir+folders['cli']+'/.env'),envTemplate=_0x5b7a94['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/constants'];function runCommand(_0x1f169e,_0xfdcd64){logInfoRaw('Executing:\x20'+_0x1f169e);try{execSync(_0x1f169e,{'stdio':'inherit','cwd':_0xfdcd64??process['cwd']()});}catch(_0x4aae1b){const _0x71e2e=_0x4aae1b instanceof Error?_0x4aae1b['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0x1f169e),logStringError(_0x71e2e),process['exit'](0x8*0x20e+0x5*0x39d+-0x2280);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x499d7c){existsSync(_0x499d7c)&&(logStringError('Error:\x20Folder\x20\x22'+_0x379520['basename'](_0x499d7c)+'\x22\x20already\x20exists.'),process['exit'](-0xa01+-0x224c+0x2c4e));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x351a89=_0x379520['resolve'](repoRoot,'package.json'),_0x12c50c=JSON['parse'](_0x5b7a94['readFileSync'](_0x351a89,'utf-8'));return String(_0x12c50c['devDependencies']?.['next']??_0x12c50c['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x5d05e0,_0x25a467){logInfoRaw('Creating\x20Next.js\x20project...');const _0x40dd8e=getCreateNextAppVersion(),_0x48b9b9=['npx\x20create-next-app@'+_0x40dd8e+'\x20\x22'+_0x5d05e0+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x48b9b9,_0x379520['dirname'](_0x25a467)),logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x47f133){logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x1d923c=_0x379520['join'](_0x47f133,'.env');try{await promises['writeFile'](_0x1d923c,envTemplate,'utf8'),logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x38cd08){const _0x1377a7=_0x38cd08 instanceof Error?_0x38cd08['message']:'Unknown\x20error';logStringError('Error\x20creating\x20.env\x20file:'),logStringError(_0x1377a7);throw _0x38cd08;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x4570db){const _0x434c84=_0x379520['join'](_0x4570db,'package.json'),_0xf58c78=_0x379520['join'](repoRoot,folders['cli']+'/package-template.json');try{const _0x2c0dd1=JSON['parse'](await promises['readFile'](_0x434c84,'utf8')),_0x444cd6=_0x2c0dd1['name'],_0x54d7bf=JSON['parse'](await promises['readFile'](_0xf58c78,'utf8')),_0x2f800e={..._0x54d7bf,'name':_0x444cd6};await promises['writeFile'](_0x434c84,JSON['stringify'](_0x2f800e,null,-0xe41+-0x18fa+0x7*0x59b)+'\x0a','utf8');}catch(_0x2b1c11){const _0x3e6ef5=_0x2b1c11 instanceof Error?_0x2b1c11['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20package.json:'),logStringError(_0x3e6ef5);throw _0x2b1c11;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x287373){const _0x2b7b1c=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x287373['replace'](_0x2b7b1c,(_0x4b0de2,_0x215967,_0x24f7cf,_0x2da8aa)=>{if(!_0x24f7cf['startsWith'](aliasSymbols['atSign'])||_0x24f7cf['startsWith'](npmPackages['saasKit']))return _0x4b0de2;if(_0x24f7cf['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x24f7cf['includes']('/'+folders['server']+'/'))return ''+_0x215967+npmPackages['saasKitServer']+_0x2da8aa;return ''+_0x215967+npmPackages['saasKit']+_0x2da8aa;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x3bff59){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x504c0a of allFilesToCopy){const _0x8c1f85=folders['cli']+'/'+_0x504c0a,_0x36d0f5=_0x379520['join'](repoRoot,_0x8c1f85),_0x4ded53=replaceToolsFolder(_0x504c0a),_0x14bba8=_0x379520['join'](_0x3bff59,_0x4ded53);if(existsSync(_0x36d0f5)){const _0x4791ac=await promises['stat'](_0x36d0f5);_0x4791ac['isDirectory']()?await copyDirectoryContents(_0x36d0f5,_0x14bba8):await copyAndProcessFile(_0x36d0f5,_0x14bba8);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x8c1f85);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x12ee3f){let _0x24f706=_0x12ee3f;for(const [_0x26898c,_0x21fb54]of Object['entries'](toolsFoldersToReplace)){if(_0x24f706['startsWith'](_0x26898c)&&isWithIndexer(_0x21fb54)){const _0x448400=_0x21fb54;for(const _0x4c5e6a in _0x448400){const _0x1fffbc=_0x448400[_0x4c5e6a];isString(_0x1fffbc)&&(_0x24f706=_0x24f706['replace'](_0x4c5e6a,_0x1fffbc));}break;}}return _0x24f706;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x5abaf7,_0x14cba7,_0x79c3e7=![]){const _0x4ea6cd=_0x379520['relative'](_0x14cba7,_0x5abaf7),_0x22b08e=_0x4ea6cd['split'](_0x379520['sep']),_0x42008d=_0x379520['relative'](repoRoot,_0x5abaf7)['replace'](/\\/g,'/');return _0x79c3e7&&foldersToIgnore['includes'](_0x42008d)||foldersToIgnore['some'](_0x313e47=>_0x22b08e['some'](_0x2edfcd=>_0x2edfcd===_0x313e47));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x27dc54,_0x1e9aa1){!existsSync(_0x1e9aa1)&&mkdirSync(_0x1e9aa1,{'recursive':!![]});try{const _0x4f4bc2=await promises['readdir'](_0x27dc54,{'withFileTypes':!![]});for(const _0x4230c8 of _0x4f4bc2){const _0xed46ee=_0x379520['join'](_0x27dc54,_0x4230c8['name']),_0x198e74=_0x379520['join'](_0x1e9aa1,_0x4230c8['name']);!shouldIgnorePath(_0xed46ee,_0x27dc54,_0x4230c8['isDirectory']())&&(_0x4230c8['isDirectory']()?await copyDirectoryContents(_0xed46ee,_0x198e74):await copyAndProcessFile(_0xed46ee,_0x198e74));}}catch(_0x580a08){const _0x400318=_0x580a08 instanceof Error?_0x580a08['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x27dc54+':\x20'+_0x400318);throw _0x580a08;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x18d6bc,_0xf5adc6){const _0x322db6=_0x379520['dirname'](_0xf5adc6);!existsSync(_0x322db6)&&mkdirSync(_0x322db6,{'recursive':!![]});const _0x104207=await promises['stat'](_0x18d6bc);if(_0x104207['isDirectory']())await copyDirectoryContents(_0x18d6bc,_0xf5adc6);else {const _0x181d05=await promises['readFile'](_0x18d6bc,'utf8'),_0x1df562=replaceImports(_0x181d05);await promises['writeFile'](_0xf5adc6,_0x1df562,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x3838cd){for(const _0x40f0d7 of additionalFoldersToCreate){const _0x746d9d=_0x379520['join'](_0x3838cd,_0x40f0d7);!existsSync(_0x746d9d)&&(mkdirSync(_0x746d9d,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x40f0d7));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x5b7c34=process['argv']['slice'](0x17c6+-0x1d06+-0x1*-0x542);_0x5b7c34['length']<-0x136a+0x1a49+-0x6de&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x16bd+-0x6c*0x48+0x351e));const _0x380dcd=_0x5b7c34[0x1*0xdea+-0x1d1d+0xf33],_0x41cfc1=_0x379520['resolve'](process['cwd'](),_0x380dcd);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x380dcd+'\x22...\x0a');try{checkTargetFolder(_0x41cfc1),createNextProject(_0x380dcd,_0x41cfc1),await copyProjectFiles(_0x41cfc1),await overridePackageJson(_0x41cfc1),createAdditionalFolders(_0x41cfc1),await createEnvFile(_0x41cfc1),await updateLayoutTitle(_0x41cfc1,_0x380dcd),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x380dcd+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x380dcd),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x2d6624){const _0x385c16=_0x2d6624 instanceof Error?_0x2d6624['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x385c16),existsSync(_0x41cfc1)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x41cfc1,{'recursive':!![],'force':!![]})),process['exit'](0x89f*0x1+0x821*-0x1+-0x19*0x5);}}__name(main,'main');async function updateLayoutTitle(_0x5fd514,_0x81d2e5){const _0x1d7e6d=_0x379520['join'](_0x5fd514,'src/app/layout.tsx');if(!existsSync(_0x1d7e6d))throw createError('layout.tsx\x20not\x20found\x20at\x20'+_0x1d7e6d+',\x20cannot\x20update\x20title.');let _0x42f4ba=await promises['readFile'](_0x1d7e6d,'utf8');const _0x354f3a=/"SaaS Kit"/g;if(!_0x354f3a['test'](_0x42f4ba))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x42f4ba=_0x42f4ba['replace'](_0x354f3a,'\x22'+_0x81d2e5+'\x22'),await promises['writeFile'](_0x1d7e6d,_0x42f4ba,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x41cc0f=>{const _0x367027=_0x41cc0f instanceof Error?_0x41cc0f['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x367027),process['exit'](-0x1c5d+-0x1185+0x2b3*0x11);});
18
+ 'use strict';var __defProp=Object['defineProperty'],__name=(_0x322376,_0x140002)=>__defProp(_0x322376,'name',{'value':_0x140002,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x7*0x53+0x1269+-0x14ad));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0x3072fe['dirname'](filename),repoRoot=_0x3072fe['resolve'](binDir,sourceDir),envLocalPath=_0x3072fe['join'](binDir,''+sourceDir+folders['cli']+'/.env'),envTemplate=_0x400653['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/constants'];function runCommand(_0x4bf6ef,_0x16daa9){logInfoRaw('Executing:\x20'+_0x4bf6ef);try{execSync(_0x4bf6ef,{'stdio':'inherit','cwd':_0x16daa9??process['cwd']()});}catch(_0x559b3f){const _0x30def4=_0x559b3f instanceof Error?_0x559b3f['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0x4bf6ef),logStringError(_0x30def4),process['exit'](-0xb8c+-0x39*-0x20+-0x46d*-0x1);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x22457f){existsSync(_0x22457f)&&(logStringError('Error:\x20Folder\x20\x22'+_0x3072fe['basename'](_0x22457f)+'\x22\x20already\x20exists.'),process['exit'](-0xfd*-0x5+0x7*0x503+0x2ab*-0xf));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0xc176a8=_0x3072fe['resolve'](repoRoot,'package.json'),_0x31433e=JSON['parse'](_0x400653['readFileSync'](_0xc176a8,'utf-8'));return String(_0x31433e['devDependencies']?.['next']??_0x31433e['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x37a328,_0x3424bb){logInfoRaw('Creating\x20Next.js\x20project...');const _0x1e7bef=getCreateNextAppVersion(),_0x4e87f0=['npx\x20create-next-app@'+_0x1e7bef+'\x20\x22'+_0x37a328+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x4e87f0,_0x3072fe['dirname'](_0x3424bb)),logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x304d7d){logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x24ad16=_0x3072fe['join'](_0x304d7d,'.env');try{await promises['writeFile'](_0x24ad16,envTemplate,'utf8'),logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x16413a){const _0x660f1f=_0x16413a instanceof Error?_0x16413a['message']:'Unknown\x20error';logStringError('Error\x20creating\x20.env\x20file:'),logStringError(_0x660f1f);throw _0x16413a;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x2495c9){const _0x56aba7=_0x3072fe['join'](_0x2495c9,'package.json'),_0x37f5be=_0x3072fe['join'](repoRoot,folders['cli']+'/package-template.json');try{const _0x5bb4e3=JSON['parse'](await promises['readFile'](_0x56aba7,'utf8')),_0x529809=_0x5bb4e3['name'],_0xe02a7b=JSON['parse'](await promises['readFile'](_0x37f5be,'utf8')),_0x420011={..._0xe02a7b,'name':_0x529809};await promises['writeFile'](_0x56aba7,JSON['stringify'](_0x420011,null,0x2*0xfc7+-0x4*0x29d+0x4*-0x546)+'\x0a','utf8');}catch(_0x551550){const _0x265a8b=_0x551550 instanceof Error?_0x551550['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20package.json:'),logStringError(_0x265a8b);throw _0x551550;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x489a9a){const _0x5b55b5=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x489a9a['replace'](_0x5b55b5,(_0x440453,_0x25fe16,_0x12242a,_0x361163)=>{if(!_0x12242a['startsWith'](aliasSymbols['atSign'])||_0x12242a['startsWith'](npmPackages['saasKit']))return _0x440453;if(_0x12242a['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x12242a['includes']('/'+folders['server']+'/'))return ''+_0x25fe16+npmPackages['saasKitServer']+_0x361163;return ''+_0x25fe16+npmPackages['saasKit']+_0x361163;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x182172){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x5416ad of allFilesToCopy){const _0x57d619=folders['cli']+'/'+_0x5416ad,_0x59b6cb=_0x3072fe['join'](repoRoot,_0x57d619),_0x51876f=replaceToolsFolder(_0x5416ad),_0x4c4a9e=_0x3072fe['join'](_0x182172,_0x51876f);if(existsSync(_0x59b6cb)){const _0xa24a2e=await promises['stat'](_0x59b6cb);_0xa24a2e['isDirectory']()?await copyDirectoryContents(_0x59b6cb,_0x4c4a9e):await copyAndProcessFile(_0x59b6cb,_0x4c4a9e);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x57d619);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x1f4cda){let _0x24ad2c=_0x1f4cda;for(const [_0x4cdd32,_0x238b89]of Object['entries'](toolsFoldersToReplace)){if(_0x24ad2c['startsWith'](_0x4cdd32)&&isWithIndexer(_0x238b89)){const _0x1789a1=_0x238b89;for(const _0x3fd968 in _0x1789a1){const _0x3c4de1=_0x1789a1[_0x3fd968];isString(_0x3c4de1)&&(_0x24ad2c=_0x24ad2c['replace'](_0x3fd968,_0x3c4de1));}break;}}return _0x24ad2c;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x4c643f,_0x186463,_0x5198e2=![]){const _0x5712ea=_0x3072fe['relative'](_0x186463,_0x4c643f),_0x39f70f=_0x5712ea['split'](_0x3072fe['sep']),_0x3e4e09=_0x3072fe['relative'](repoRoot,_0x4c643f)['replace'](/\\/g,'/');return _0x5198e2&&foldersToIgnore['includes'](_0x3e4e09)||foldersToIgnore['some'](_0x1241d9=>_0x39f70f['some'](_0x4ca532=>_0x4ca532===_0x1241d9));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x12ed23,_0x52c8f0){!existsSync(_0x52c8f0)&&mkdirSync(_0x52c8f0,{'recursive':!![]});try{const _0x2d63b2=await promises['readdir'](_0x12ed23,{'withFileTypes':!![]});for(const _0x45987c of _0x2d63b2){const _0x446326=_0x3072fe['join'](_0x12ed23,_0x45987c['name']),_0x4e9354=_0x3072fe['join'](_0x52c8f0,_0x45987c['name']);!shouldIgnorePath(_0x446326,_0x12ed23,_0x45987c['isDirectory']())&&(_0x45987c['isDirectory']()?await copyDirectoryContents(_0x446326,_0x4e9354):await copyAndProcessFile(_0x446326,_0x4e9354));}}catch(_0x375d7a){const _0x41c215=_0x375d7a instanceof Error?_0x375d7a['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x12ed23+':\x20'+_0x41c215);throw _0x375d7a;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x117279,_0x2d026c){const _0x13a22d=_0x3072fe['dirname'](_0x2d026c);!existsSync(_0x13a22d)&&mkdirSync(_0x13a22d,{'recursive':!![]});const _0x3b5cdd=await promises['stat'](_0x117279);if(_0x3b5cdd['isDirectory']())await copyDirectoryContents(_0x117279,_0x2d026c);else {const _0xd7ee88=await promises['readFile'](_0x117279,'utf8'),_0x9766fb=replaceImports(_0xd7ee88);await promises['writeFile'](_0x2d026c,_0x9766fb,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x233ab3){for(const _0x37df3b of additionalFoldersToCreate){const _0x328670=_0x3072fe['join'](_0x233ab3,_0x37df3b);!existsSync(_0x328670)&&(mkdirSync(_0x328670,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x37df3b));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x11d3fb=process['argv']['slice'](-0x8f0+0x1fe*0x3+0x17c*0x2);_0x11d3fb['length']<0x1ff2+-0x1*-0x2051+-0x4042&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x21*-0xcf+0x1bcc+-0x367a));const _0x2834e5=_0x11d3fb[-0x1*-0x629+0x356+-0xd*0xbb],_0x5f3d0d=_0x3072fe['resolve'](process['cwd'](),_0x2834e5);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x2834e5+'\x22...\x0a');try{checkTargetFolder(_0x5f3d0d),createNextProject(_0x2834e5,_0x5f3d0d),await copyProjectFiles(_0x5f3d0d),await overridePackageJson(_0x5f3d0d),createAdditionalFolders(_0x5f3d0d),await createEnvFile(_0x5f3d0d),await updateLayoutTitle(_0x5f3d0d,_0x2834e5),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x2834e5+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x2834e5),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x2550a4){const _0x37d637=_0x2550a4 instanceof Error?_0x2550a4['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x37d637),existsSync(_0x5f3d0d)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x5f3d0d,{'recursive':!![],'force':!![]})),process['exit'](0xaf2+-0x13*-0xc5+-0x1990);}}__name(main,'main');async function updateLayoutTitle(_0x4f9891,_0x3aa583){const _0x2a3361=_0x3072fe['join'](_0x4f9891,'src/app/layout.tsx');if(!existsSync(_0x2a3361))throw createError('layout.tsx\x20not\x20found\x20at\x20'+_0x2a3361+',\x20cannot\x20update\x20title.');let _0x456f4b=await promises['readFile'](_0x2a3361,'utf8');const _0x17aa77=/"SaaS Kit"/g;if(!_0x17aa77['test'](_0x456f4b))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x456f4b=_0x456f4b['replace'](_0x17aa77,'\x22'+_0x3aa583+'\x22'),await promises['writeFile'](_0x2a3361,_0x456f4b,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x2efb00=>{const _0x24b3f3=_0x2efb00 instanceof Error?_0x2efb00['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x24b3f3),process['exit'](-0x2*-0x887+0x398+-0x14a5);});
@@ -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=(_0x2ff46e,_0x39e5de)=>__defProp(_0x2ff46e,'name',{'value':_0x39e5de,'configurable':!![]});async function apiGet(_0x28b380,_0x5a1ddc,_0x3e61fb,_0x51f758){const _0x3c7197=apiPaths.getApiPath(_0x28b380,_0x5a1ddc,_0x3e61fb);return baseApi.apiBaseGet(_0x3c7197,getApiHeaders(_0x51f758));}__name(apiGet,'apiGet');async function apiGetBlob(_0x12baf8,_0x3fa432,_0x4ee94c,_0x18c397){const _0x1ca703=apiPaths.getApiPath(_0x12baf8,_0x3fa432,_0x4ee94c);return baseApi.apiBaseGetBlob(_0x1ca703,getApiHeaders(_0x18c397,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x121a74,_0x132b26,_0x10b5f7){const _0x246675=odatas.getODataParams(_0x132b26);return apiGet(_0x121a74,_0x10b5f7,_0x246675);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x5fbf20,_0x4b6873,_0x112a14){const _0x2ed89a=apiPaths.getApiPath(_0x5fbf20);return baseApi.postBaseApi(_0x2ed89a,_0x4b6873,getApiHeaders(_0x112a14));}__name(apiPost,'apiPost');async function apiPostFile(_0x5be8da,_0x4696da,_0x5504b0){const _0x4f08b5=apiPaths.getApiPath(_0x5be8da),_0xa93136=await fetch(_0x4f08b5,{'method':httpConstants.httpMethods['post'],'body':_0x4696da,'headers':getApiHeaders(_0x5504b0,!![])});return baseApi.baseApiHandleResponse(_0xa93136);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x1b177d,_0x257de5,_0x21b3d2){const _0x23f2dc=apiPaths.getApiPath(_0x1b177d);return baseApi.putBaseApi(_0x23f2dc,_0x257de5,getApiHeaders(_0x21b3d2));}__name(apiPut,'apiPut');async function apiDelete(_0x153f04,_0x54b941,_0x58584b){const _0x35afbc=apiPaths.getApiPath(_0x153f04,_0x54b941);return baseApi.deleteBaseApi(_0x35afbc,getApiHeaders(_0x58584b));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x4346cd,_0x12a76d=![]){const _0x25c233=_0x4346cd??new Headers(),_0x321d0f=tokens.getAuthToken();return (!_0x25c233['get'](headerNames.headerNames['authHeaderName'])||_0x25c233['get'](headerNames.headerNames['authHeaderName'])==='')&&_0x321d0f&&_0x25c233['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0x321d0f),!_0x12a76d&&!_0x25c233['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0x25c233['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0x25c233;}__name(getApiHeaders,'getApiHeaders');
11
+ var __defProp=Object['defineProperty'],__name=(_0x499882,_0x2687c0)=>__defProp(_0x499882,'name',{'value':_0x2687c0,'configurable':!![]});async function apiGet(_0x3e198d,_0x23e0d8,_0x29489,_0x3e65c6){const _0x4161d3=apiPaths.getApiPath(_0x3e198d,_0x23e0d8,_0x29489);return baseApi.apiBaseGet(_0x4161d3,getApiHeaders(_0x3e65c6));}__name(apiGet,'apiGet');async function apiGetBlob(_0x4ca2f7,_0x507bc8,_0x54e66e,_0x3e0bd2){const _0x5069a6=apiPaths.getApiPath(_0x4ca2f7,_0x507bc8,_0x54e66e);return baseApi.apiBaseGetBlob(_0x5069a6,getApiHeaders(_0x3e0bd2,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x195851,_0x4d96d7,_0x1ca25b){const _0x54b986=odatas.getODataParams(_0x4d96d7);return apiGet(_0x195851,_0x1ca25b,_0x54b986);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x580a17,_0x3d0176,_0x24742b){const _0x3cec50=apiPaths.getApiPath(_0x580a17);return baseApi.postBaseApi(_0x3cec50,_0x3d0176,getApiHeaders(_0x24742b));}__name(apiPost,'apiPost');async function apiPostFile(_0x30f62c,_0x4ed42f,_0x1ef078){const _0x4a1e3a=apiPaths.getApiPath(_0x30f62c),_0xaa353c=await fetch(_0x4a1e3a,{'method':httpConstants.httpMethods['post'],'body':_0x4ed42f,'headers':getApiHeaders(_0x1ef078,!![])});return baseApi.baseApiHandleResponse(_0xaa353c);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x12ef62,_0x5d1353,_0x1b804c){const _0x27f6bf=apiPaths.getApiPath(_0x12ef62);return baseApi.putBaseApi(_0x27f6bf,_0x5d1353,getApiHeaders(_0x1b804c));}__name(apiPut,'apiPut');async function apiDelete(_0x37f7c6,_0x3d28f8,_0x44ecc9){const _0x36ecd5=apiPaths.getApiPath(_0x37f7c6,_0x3d28f8);return baseApi.deleteBaseApi(_0x36ecd5,getApiHeaders(_0x44ecc9));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x5a7c7c,_0x4120dd=![]){const _0x1320ea=_0x5a7c7c??new Headers(),_0x1052b7=tokens.getAuthToken();return (!_0x1320ea['get'](headerNames.headerNames['authHeaderName'])||_0x1320ea['get'](headerNames.headerNames['authHeaderName'])==='')&&_0x1052b7&&_0x1320ea['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0x1052b7),!_0x4120dd&&!_0x1320ea['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0x1320ea['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0x1320ea;}__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=(_0x2ff46e,_0x39e5de)=>__defProp(_0x2ff46e,'name',{'value':_0x39e5de,'configurable':!![]});async function apiGet(_0x28b380,_0x5a1ddc,_0x3e61fb,_0x51f758){const _0x3c7197=getApiPath(_0x28b380,_0x5a1ddc,_0x3e61fb);return apiBaseGet(_0x3c7197,getApiHeaders(_0x51f758));}__name(apiGet,'apiGet');async function apiGetBlob(_0x12baf8,_0x3fa432,_0x4ee94c,_0x18c397){const _0x1ca703=getApiPath(_0x12baf8,_0x3fa432,_0x4ee94c);return apiBaseGetBlob(_0x1ca703,getApiHeaders(_0x18c397,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x121a74,_0x132b26,_0x10b5f7){const _0x246675=getODataParams(_0x132b26);return apiGet(_0x121a74,_0x10b5f7,_0x246675);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x5fbf20,_0x4b6873,_0x112a14){const _0x2ed89a=getApiPath(_0x5fbf20);return postBaseApi(_0x2ed89a,_0x4b6873,getApiHeaders(_0x112a14));}__name(apiPost,'apiPost');async function apiPostFile(_0x5be8da,_0x4696da,_0x5504b0){const _0x4f08b5=getApiPath(_0x5be8da),_0xa93136=await fetch(_0x4f08b5,{'method':httpMethods['post'],'body':_0x4696da,'headers':getApiHeaders(_0x5504b0,!![])});return baseApiHandleResponse(_0xa93136);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x1b177d,_0x257de5,_0x21b3d2){const _0x23f2dc=getApiPath(_0x1b177d);return putBaseApi(_0x23f2dc,_0x257de5,getApiHeaders(_0x21b3d2));}__name(apiPut,'apiPut');async function apiDelete(_0x153f04,_0x54b941,_0x58584b){const _0x35afbc=getApiPath(_0x153f04,_0x54b941);return deleteBaseApi(_0x35afbc,getApiHeaders(_0x58584b));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x4346cd,_0x12a76d=![]){const _0x25c233=_0x4346cd??new Headers(),_0x321d0f=getAuthToken();return (!_0x25c233['get'](headerNames['authHeaderName'])||_0x25c233['get'](headerNames['authHeaderName'])==='')&&_0x321d0f&&_0x25c233['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0x321d0f),!_0x12a76d&&!_0x25c233['get'](httpContentTypes['contentTypeHeaderName'])&&_0x25c233['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0x25c233;}__name(getApiHeaders,'getApiHeaders');
9
+ var __defProp=Object['defineProperty'],__name=(_0x499882,_0x2687c0)=>__defProp(_0x499882,'name',{'value':_0x2687c0,'configurable':!![]});async function apiGet(_0x3e198d,_0x23e0d8,_0x29489,_0x3e65c6){const _0x4161d3=getApiPath(_0x3e198d,_0x23e0d8,_0x29489);return apiBaseGet(_0x4161d3,getApiHeaders(_0x3e65c6));}__name(apiGet,'apiGet');async function apiGetBlob(_0x4ca2f7,_0x507bc8,_0x54e66e,_0x3e0bd2){const _0x5069a6=getApiPath(_0x4ca2f7,_0x507bc8,_0x54e66e);return apiBaseGetBlob(_0x5069a6,getApiHeaders(_0x3e0bd2,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x195851,_0x4d96d7,_0x1ca25b){const _0x54b986=getODataParams(_0x4d96d7);return apiGet(_0x195851,_0x1ca25b,_0x54b986);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x580a17,_0x3d0176,_0x24742b){const _0x3cec50=getApiPath(_0x580a17);return postBaseApi(_0x3cec50,_0x3d0176,getApiHeaders(_0x24742b));}__name(apiPost,'apiPost');async function apiPostFile(_0x30f62c,_0x4ed42f,_0x1ef078){const _0x4a1e3a=getApiPath(_0x30f62c),_0xaa353c=await fetch(_0x4a1e3a,{'method':httpMethods['post'],'body':_0x4ed42f,'headers':getApiHeaders(_0x1ef078,!![])});return baseApiHandleResponse(_0xaa353c);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x12ef62,_0x5d1353,_0x1b804c){const _0x27f6bf=getApiPath(_0x12ef62);return putBaseApi(_0x27f6bf,_0x5d1353,getApiHeaders(_0x1b804c));}__name(apiPut,'apiPut');async function apiDelete(_0x37f7c6,_0x3d28f8,_0x44ecc9){const _0x36ecd5=getApiPath(_0x37f7c6,_0x3d28f8);return deleteBaseApi(_0x36ecd5,getApiHeaders(_0x44ecc9));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x5a7c7c,_0x4120dd=![]){const _0x1320ea=_0x5a7c7c??new Headers(),_0x1052b7=getAuthToken();return (!_0x1320ea['get'](headerNames['authHeaderName'])||_0x1320ea['get'](headerNames['authHeaderName'])==='')&&_0x1052b7&&_0x1320ea['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0x1052b7),!_0x4120dd&&!_0x1320ea['get'](httpContentTypes['contentTypeHeaderName'])&&_0x1320ea['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0x1320ea;}__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 _0x379520 = require('path');
5
+ var _0x3072fe = 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':_0x379520.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':_0x379520.join(payment,'verify-fail'),'paymentVerifySuccess':_0x379520.join(payment,'verify-success'),'paymentMethod':_0x379520.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x379520.join(subscription,'cancel'),'updateSubscription':_0x379520.join(subscription,'update'),'createSubscription':_0x379520.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':_0x3072fe.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':_0x3072fe.join(payment,'verify-fail'),'paymentVerifySuccess':_0x3072fe.join(payment,'verify-success'),'paymentMethod':_0x3072fe.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x3072fe.join(subscription,'cancel'),'updateSubscription':_0x3072fe.join(subscription,'update'),'createSubscription':_0x3072fe.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=(_0x21a0a0,_0x65f0d7)=>__defProp(_0x21a0a0,'name',{'value':_0x65f0d7,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x5b3e1b,_0x4e5e98,_0x2e953b){let _0x31f05c=urls.combineEndpointPath(apiPrefix,_0x5b3e1b);return _0x4e5e98&&(_0x31f05c=urls.combineEndpointPath(_0x31f05c,_0x4e5e98)),_0x31f05c=paths.addQueryParamsToPath(_0x31f05c,_0x2e953b),new URL(_0x31f05c,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
7
+ var __defProp=Object['defineProperty'],__name=(_0x119570,_0x92f034)=>__defProp(_0x119570,'name',{'value':_0x92f034,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x3a9cbe,_0x505064,_0x1b2960){let _0x4b0664=urls.combineEndpointPath(apiPrefix,_0x3a9cbe);return _0x505064&&(_0x4b0664=urls.combineEndpointPath(_0x4b0664,_0x505064)),_0x4b0664=paths.addQueryParamsToPath(_0x4b0664,_0x1b2960),new URL(_0x4b0664,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=(_0x21a0a0,_0x65f0d7)=>__defProp(_0x21a0a0,'name',{'value':_0x65f0d7,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x5b3e1b,_0x4e5e98,_0x2e953b){let _0x31f05c=combineEndpointPath(apiPrefix,_0x5b3e1b);return _0x4e5e98&&(_0x31f05c=combineEndpointPath(_0x31f05c,_0x4e5e98)),_0x31f05c=addQueryParamsToPath(_0x31f05c,_0x2e953b),new URL(_0x31f05c,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
5
+ var __defProp=Object['defineProperty'],__name=(_0x119570,_0x92f034)=>__defProp(_0x119570,'name',{'value':_0x92f034,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x3a9cbe,_0x505064,_0x1b2960){let _0x4b0664=combineEndpointPath(apiPrefix,_0x3a9cbe);return _0x505064&&(_0x4b0664=combineEndpointPath(_0x4b0664,_0x505064)),_0x4b0664=addQueryParamsToPath(_0x4b0664,_0x1b2960),new URL(_0x4b0664,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=(_0x4461d7,_0x31d992)=>__defProp(_0x4461d7,'name',{'value':_0x31d992,'configurable':!![]});async function apiBaseGet(_0x3c1acd,_0x23a034){const _0x32a56f=await fetch(_0x3c1acd,{'method':httpConstants.httpMethods['get'],'headers':_0x23a034});return baseApiHandleResponse(_0x32a56f);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x3835c1,_0x1e0964){const _0x2090fa=await fetch(_0x3835c1,{'method':httpConstants.httpMethods['get'],'headers':_0x1e0964});return baseApiHandleBlobResponse(_0x2090fa);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0xfe2665,_0x445f08,_0x2924f8){const _0x468663=await fetch(_0xfe2665,{'method':httpConstants.httpMethods['post'],'headers':_0x2924f8,'body':_0x445f08 instanceof URLSearchParams?_0x445f08:JSON['stringify'](_0x445f08)});return baseApiHandleResponse(_0x468663);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x18a707,_0x50a7c8,_0x38050e){const _0xac1f1=await fetch(_0x18a707,{'method':httpConstants.httpMethods['put'],'headers':_0x38050e,'body':JSON['stringify'](_0x50a7c8)});return baseApiHandleResponse(_0xac1f1);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x8dd7ab,_0x5593d4){const _0x1e7a1e=await fetch(_0x8dd7ab,{'method':httpConstants.httpMethods['delete'],'headers':_0x5593d4});if(!_0x1e7a1e['ok'])handleErrorResponse(_0x1e7a1e);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x211ff3){const _0x476009=_0x211ff3['headers']['get']('content-type'),_0xad72e3=_0x476009?.['includes']('application/json');isUnauthorizedError(_0x211ff3['status'])&&(loginStates.removeLoginState(),loginRouters.goToLogin());if(!_0x211ff3['ok']){const _0x2ea8ca=await handleErrorResponse(_0x211ff3);return _0x2ea8ca;}if(_0x211ff3['status']===httpStatusCodes.httpStatusCodes['noContent']||!_0xad72e3)return null;return utils.getJsonFromResponse(_0x211ff3);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x1a4619){isUnauthorizedError(_0x1a4619['status'])&&loginRouters.goToLogin();if(!_0x1a4619['ok']){const _0x47f67c=await handleErrorResponse(_0x1a4619);return _0x47f67c;}if(_0x1a4619['status']===httpStatusCodes.httpStatusCodes['noContent'])return null;const _0x57b135=await _0x1a4619['blob']();return _0x57b135;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x13b2c4){const _0x1b32fc=_0x13b2c4['headers']['get']('content-type'),_0x21f079=_0x1b32fc?.['includes']('application/json');let _0x4ff8c4='',_0x3543e5='';if(_0x21f079){const _0x262bd3=await utils.getJsonFromResponse(_0x13b2c4);_0x4ff8c4=_0x262bd3?.['message'],_0x3543e5=_0x262bd3?.['description']||'';}_0x4ff8c4=_0x4ff8c4?_0x4ff8c4:_0x13b2c4['statusText'];const _0x30f7c5={'status':_0x13b2c4['status'],'message':_0x4ff8c4},_0x40523d={'originalUrl':_0x13b2c4['url']};return _0x13b2c4['status']!==httpStatusCodes.httpStatusCodes['unauthorized']&&errorHandler.logAndNotify(new Error(_0x4ff8c4)),problemDetails.getProblemDetails(_0x30f7c5,_0x40523d,_0x3543e5);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x15e331){return _0x15e331===httpStatusCodes.httpStatusCodes['unauthorized']&&environments.isBrowser()&&window['location']['pathname']!==loginRouters.getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
13
+ var __defProp=Object['defineProperty'],__name=(_0x123eeb,_0xb10e91)=>__defProp(_0x123eeb,'name',{'value':_0xb10e91,'configurable':!![]});async function apiBaseGet(_0x1cd3cc,_0x18daa1){const _0x219a0e=await fetch(_0x1cd3cc,{'method':httpConstants.httpMethods['get'],'headers':_0x18daa1});return baseApiHandleResponse(_0x219a0e);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x4886df,_0x1330e6){const _0x212e59=await fetch(_0x4886df,{'method':httpConstants.httpMethods['get'],'headers':_0x1330e6});return baseApiHandleBlobResponse(_0x212e59);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x3a4a8c,_0x37c2c9,_0x1e7517){const _0x65d991=await fetch(_0x3a4a8c,{'method':httpConstants.httpMethods['post'],'headers':_0x1e7517,'body':_0x37c2c9 instanceof URLSearchParams?_0x37c2c9:JSON['stringify'](_0x37c2c9)});return baseApiHandleResponse(_0x65d991);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x9e6def,_0x4d43fc,_0x58972c){const _0x28e9d3=await fetch(_0x9e6def,{'method':httpConstants.httpMethods['put'],'headers':_0x58972c,'body':JSON['stringify'](_0x4d43fc)});return baseApiHandleResponse(_0x28e9d3);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x430c61,_0x1abafe){const _0x2cb011=await fetch(_0x430c61,{'method':httpConstants.httpMethods['delete'],'headers':_0x1abafe});if(!_0x2cb011['ok'])handleErrorResponse(_0x2cb011);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x102f6f){const _0x3bd981=_0x102f6f['headers']['get']('content-type'),_0x20c6e9=_0x3bd981?.['includes']('application/json');isUnauthorizedError(_0x102f6f['status'])&&(loginStates.removeLoginState(),loginRouters.goToLogin());if(!_0x102f6f['ok']){const _0x24c13f=await handleErrorResponse(_0x102f6f);return _0x24c13f;}if(_0x102f6f['status']===httpStatusCodes.httpStatusCodes['noContent']||!_0x20c6e9)return null;return utils.getJsonFromResponse(_0x102f6f);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x56e45a){isUnauthorizedError(_0x56e45a['status'])&&loginRouters.goToLogin();if(!_0x56e45a['ok']){const _0x3e5dcc=await handleErrorResponse(_0x56e45a);return _0x3e5dcc;}if(_0x56e45a['status']===httpStatusCodes.httpStatusCodes['noContent'])return null;const _0x17ed31=await _0x56e45a['blob']();return _0x17ed31;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x1b2871){const _0xd5308c=_0x1b2871['headers']['get']('content-type'),_0x19055=_0xd5308c?.['includes']('application/json');let _0x3a0ffd='',_0x17a8ee='';if(_0x19055){const _0x527ace=await utils.getJsonFromResponse(_0x1b2871);_0x3a0ffd=_0x527ace?.['message'],_0x17a8ee=_0x527ace?.['description']||'';}_0x3a0ffd=_0x3a0ffd?_0x3a0ffd:_0x1b2871['statusText'];const _0xefb90c={'status':_0x1b2871['status'],'message':_0x3a0ffd},_0x578727={'originalUrl':_0x1b2871['url']};return _0x1b2871['status']!==httpStatusCodes.httpStatusCodes['unauthorized']&&errorHandler.logAndNotify(new Error(_0x3a0ffd)),problemDetails.getProblemDetails(_0xefb90c,_0x578727,_0x17a8ee);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x3044f6){return _0x3044f6===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=(_0x4461d7,_0x31d992)=>__defProp(_0x4461d7,'name',{'value':_0x31d992,'configurable':!![]});async function apiBaseGet(_0x3c1acd,_0x23a034){const _0x32a56f=await fetch(_0x3c1acd,{'method':httpMethods['get'],'headers':_0x23a034});return baseApiHandleResponse(_0x32a56f);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x3835c1,_0x1e0964){const _0x2090fa=await fetch(_0x3835c1,{'method':httpMethods['get'],'headers':_0x1e0964});return baseApiHandleBlobResponse(_0x2090fa);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0xfe2665,_0x445f08,_0x2924f8){const _0x468663=await fetch(_0xfe2665,{'method':httpMethods['post'],'headers':_0x2924f8,'body':_0x445f08 instanceof URLSearchParams?_0x445f08:JSON['stringify'](_0x445f08)});return baseApiHandleResponse(_0x468663);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x18a707,_0x50a7c8,_0x38050e){const _0xac1f1=await fetch(_0x18a707,{'method':httpMethods['put'],'headers':_0x38050e,'body':JSON['stringify'](_0x50a7c8)});return baseApiHandleResponse(_0xac1f1);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x8dd7ab,_0x5593d4){const _0x1e7a1e=await fetch(_0x8dd7ab,{'method':httpMethods['delete'],'headers':_0x5593d4});if(!_0x1e7a1e['ok'])handleErrorResponse(_0x1e7a1e);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x211ff3){const _0x476009=_0x211ff3['headers']['get']('content-type'),_0xad72e3=_0x476009?.['includes']('application/json');isUnauthorizedError(_0x211ff3['status'])&&(removeLoginState(),goToLogin());if(!_0x211ff3['ok']){const _0x2ea8ca=await handleErrorResponse(_0x211ff3);return _0x2ea8ca;}if(_0x211ff3['status']===httpStatusCodes['noContent']||!_0xad72e3)return null;return getJsonFromResponse(_0x211ff3);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x1a4619){isUnauthorizedError(_0x1a4619['status'])&&goToLogin();if(!_0x1a4619['ok']){const _0x47f67c=await handleErrorResponse(_0x1a4619);return _0x47f67c;}if(_0x1a4619['status']===httpStatusCodes['noContent'])return null;const _0x57b135=await _0x1a4619['blob']();return _0x57b135;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x13b2c4){const _0x1b32fc=_0x13b2c4['headers']['get']('content-type'),_0x21f079=_0x1b32fc?.['includes']('application/json');let _0x4ff8c4='',_0x3543e5='';if(_0x21f079){const _0x262bd3=await getJsonFromResponse(_0x13b2c4);_0x4ff8c4=_0x262bd3?.['message'],_0x3543e5=_0x262bd3?.['description']||'';}_0x4ff8c4=_0x4ff8c4?_0x4ff8c4:_0x13b2c4['statusText'];const _0x30f7c5={'status':_0x13b2c4['status'],'message':_0x4ff8c4},_0x40523d={'originalUrl':_0x13b2c4['url']};return _0x13b2c4['status']!==httpStatusCodes['unauthorized']&&logAndNotify(new Error(_0x4ff8c4)),getProblemDetails(_0x30f7c5,_0x40523d,_0x3543e5);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x15e331){return _0x15e331===httpStatusCodes['unauthorized']&&isBrowser()&&window['location']['pathname']!==getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
11
+ var __defProp=Object['defineProperty'],__name=(_0x123eeb,_0xb10e91)=>__defProp(_0x123eeb,'name',{'value':_0xb10e91,'configurable':!![]});async function apiBaseGet(_0x1cd3cc,_0x18daa1){const _0x219a0e=await fetch(_0x1cd3cc,{'method':httpMethods['get'],'headers':_0x18daa1});return baseApiHandleResponse(_0x219a0e);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x4886df,_0x1330e6){const _0x212e59=await fetch(_0x4886df,{'method':httpMethods['get'],'headers':_0x1330e6});return baseApiHandleBlobResponse(_0x212e59);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x3a4a8c,_0x37c2c9,_0x1e7517){const _0x65d991=await fetch(_0x3a4a8c,{'method':httpMethods['post'],'headers':_0x1e7517,'body':_0x37c2c9 instanceof URLSearchParams?_0x37c2c9:JSON['stringify'](_0x37c2c9)});return baseApiHandleResponse(_0x65d991);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x9e6def,_0x4d43fc,_0x58972c){const _0x28e9d3=await fetch(_0x9e6def,{'method':httpMethods['put'],'headers':_0x58972c,'body':JSON['stringify'](_0x4d43fc)});return baseApiHandleResponse(_0x28e9d3);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x430c61,_0x1abafe){const _0x2cb011=await fetch(_0x430c61,{'method':httpMethods['delete'],'headers':_0x1abafe});if(!_0x2cb011['ok'])handleErrorResponse(_0x2cb011);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x102f6f){const _0x3bd981=_0x102f6f['headers']['get']('content-type'),_0x20c6e9=_0x3bd981?.['includes']('application/json');isUnauthorizedError(_0x102f6f['status'])&&(removeLoginState(),goToLogin());if(!_0x102f6f['ok']){const _0x24c13f=await handleErrorResponse(_0x102f6f);return _0x24c13f;}if(_0x102f6f['status']===httpStatusCodes['noContent']||!_0x20c6e9)return null;return getJsonFromResponse(_0x102f6f);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x56e45a){isUnauthorizedError(_0x56e45a['status'])&&goToLogin();if(!_0x56e45a['ok']){const _0x3e5dcc=await handleErrorResponse(_0x56e45a);return _0x3e5dcc;}if(_0x56e45a['status']===httpStatusCodes['noContent'])return null;const _0x17ed31=await _0x56e45a['blob']();return _0x17ed31;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x1b2871){const _0xd5308c=_0x1b2871['headers']['get']('content-type'),_0x19055=_0xd5308c?.['includes']('application/json');let _0x3a0ffd='',_0x17a8ee='';if(_0x19055){const _0x527ace=await getJsonFromResponse(_0x1b2871);_0x3a0ffd=_0x527ace?.['message'],_0x17a8ee=_0x527ace?.['description']||'';}_0x3a0ffd=_0x3a0ffd?_0x3a0ffd:_0x1b2871['statusText'];const _0xefb90c={'status':_0x1b2871['status'],'message':_0x3a0ffd},_0x578727={'originalUrl':_0x1b2871['url']};return _0x1b2871['status']!==httpStatusCodes['unauthorized']&&logAndNotify(new Error(_0x3a0ffd)),getProblemDetails(_0xefb90c,_0x578727,_0x17a8ee);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x3044f6){return _0x3044f6===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=(_0x13e565,_0x243d29)=>__defProp(_0x13e565,'name',{'value':_0x243d29,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x5704ce){localStorage.setLocalStorage(loginStateKey,_0x5704ce);}__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 _0x1562a0=(window['location']['pathname']+window['location']['search'])['slice'](0x9c3+0xe*0x6f+-0xfd4);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x1562a0);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x4d7da6={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x4d7da6;}__name(getEmptyLoginState,'getEmptyLoginState');
10
+ var __defProp=Object['defineProperty'],__name=(_0x3a52b4,_0x1898e2)=>__defProp(_0x3a52b4,'name',{'value':_0x1898e2,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x5d6163){localStorage.setLocalStorage(loginStateKey,_0x5d6163);}__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 _0x5f2da6=(window['location']['pathname']+window['location']['search'])['slice'](-0xe3c+0x133b+-0x4fe);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x5f2da6);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x4f9135={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x4f9135;}__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=(_0x13e565,_0x243d29)=>__defProp(_0x13e565,'name',{'value':_0x243d29,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x5704ce){setLocalStorage(loginStateKey,_0x5704ce);}__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 _0x1562a0=(window['location']['pathname']+window['location']['search'])['slice'](0x9c3+0xe*0x6f+-0xfd4);setSessionStorage(afterLoginRedirectUrlKey,_0x1562a0);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x4d7da6={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x4d7da6;}__name(getEmptyLoginState,'getEmptyLoginState');
8
+ var __defProp=Object['defineProperty'],__name=(_0x3a52b4,_0x1898e2)=>__defProp(_0x3a52b4,'name',{'value':_0x1898e2,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x5d6163){setLocalStorage(loginStateKey,_0x5d6163);}__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 _0x5f2da6=(window['location']['pathname']+window['location']['search'])['slice'](-0xe3c+0x133b+-0x4fe);setSessionStorage(afterLoginRedirectUrlKey,_0x5f2da6);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x4f9135={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x4f9135;}__name(getEmptyLoginState,'getEmptyLoginState');
9
9
 
10
10
  export { getAfterLoginRedirectUrl, getLoginState, isLoggedIn, removeAfterLoginRedirectUrl, removeLoginState, setAfterLoginRedirectUrl, setLoginState };
@@ -4,7 +4,7 @@
4
4
  var environments = require('../lib/environments.cjs.js');
5
5
  var utils = require('../lib/utils.cjs.js');
6
6
 
7
- var __defProp=Object['defineProperty'],__name=(_0x1eaa7f,_0x1a812c)=>__defProp(_0x1eaa7f,'name',{'value':_0x1a812c,'configurable':!![]});function sessionStorageGetAsString(_0x167724){if(environments.isBrowser()){const _0x3dcc46=sessionStorage['getItem'](_0x167724);return _0x3dcc46??void(0xc8b+-0x238b+0x4*0x5c0);}return void(0x2365+0x229c+-0x4601);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x555545){const _0x4807dd=sessionStorageGetAsString(_0x555545);return _0x4807dd?utils.parseJson(_0x4807dd):void(0xe6*0x27+-0x61+-0x22a9);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x3f9d09,_0xb6416a){if(_0xb6416a===void(0xdca+0x9c8+-0x1792))return;sessionStorage['setItem'](_0x3f9d09,JSON['stringify'](_0xb6416a));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x176ae9){sessionStorage['removeItem'](_0x176ae9);}__name(removeSessionStorage,'removeSessionStorage');
7
+ var __defProp=Object['defineProperty'],__name=(_0x106c43,_0x28c4f)=>__defProp(_0x106c43,'name',{'value':_0x28c4f,'configurable':!![]});function sessionStorageGetAsString(_0x252b77){if(environments.isBrowser()){const _0x4ac1ba=sessionStorage['getItem'](_0x252b77);return _0x4ac1ba??void(0xf4a+0x1a14+-0xa*0x423);}return void(-0x2a1*0xd+-0x3bd+0x2*0x12f5);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x194915){const _0x5c87a5=sessionStorageGetAsString(_0x194915);return _0x5c87a5?utils.parseJson(_0x5c87a5):void(0x1a*0xd4+-0x16f3+0x16b);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x11c77c,_0x34fe4f){if(_0x34fe4f===void(-0x1a29+0x89*-0x15+0x2566))return;sessionStorage['setItem'](_0x11c77c,JSON['stringify'](_0x34fe4f));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x356e01){sessionStorage['removeItem'](_0x356e01);}__name(removeSessionStorage,'removeSessionStorage');
8
8
 
9
9
  exports.getSessionStorage = getSessionStorage;
10
10
  exports.removeSessionStorage = removeSessionStorage;
@@ -2,6 +2,6 @@
2
2
  import { isBrowser } from '../lib/environments.js';
3
3
  import { parseJson } from '../lib/utils.js';
4
4
 
5
- var __defProp=Object['defineProperty'],__name=(_0x1eaa7f,_0x1a812c)=>__defProp(_0x1eaa7f,'name',{'value':_0x1a812c,'configurable':!![]});function sessionStorageGetAsString(_0x167724){if(isBrowser()){const _0x3dcc46=sessionStorage['getItem'](_0x167724);return _0x3dcc46??void(0xc8b+-0x238b+0x4*0x5c0);}return void(0x2365+0x229c+-0x4601);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x555545){const _0x4807dd=sessionStorageGetAsString(_0x555545);return _0x4807dd?parseJson(_0x4807dd):void(0xe6*0x27+-0x61+-0x22a9);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x3f9d09,_0xb6416a){if(_0xb6416a===void(0xdca+0x9c8+-0x1792))return;sessionStorage['setItem'](_0x3f9d09,JSON['stringify'](_0xb6416a));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x176ae9){sessionStorage['removeItem'](_0x176ae9);}__name(removeSessionStorage,'removeSessionStorage');
5
+ var __defProp=Object['defineProperty'],__name=(_0x106c43,_0x28c4f)=>__defProp(_0x106c43,'name',{'value':_0x28c4f,'configurable':!![]});function sessionStorageGetAsString(_0x252b77){if(isBrowser()){const _0x4ac1ba=sessionStorage['getItem'](_0x252b77);return _0x4ac1ba??void(0xf4a+0x1a14+-0xa*0x423);}return void(-0x2a1*0xd+-0x3bd+0x2*0x12f5);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x194915){const _0x5c87a5=sessionStorageGetAsString(_0x194915);return _0x5c87a5?parseJson(_0x5c87a5):void(0x1a*0xd4+-0x16f3+0x16b);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x11c77c,_0x34fe4f){if(_0x34fe4f===void(-0x1a29+0x89*-0x15+0x2566))return;sessionStorage['setItem'](_0x11c77c,JSON['stringify'](_0x34fe4f));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x356e01){sessionStorage['removeItem'](_0x356e01);}__name(removeSessionStorage,'removeSessionStorage');
6
6
 
7
7
  export { getSessionStorage, removeSessionStorage, sessionStorageGetAsString, setSessionStorage };
@@ -3,7 +3,7 @@
3
3
 
4
4
  var localStorage = require('../local-storage/local-storage.cjs.js');
5
5
 
6
- var __defProp=Object['defineProperty'],__name=(_0x576764,_0x15141c)=>__defProp(_0x576764,'name',{'value':_0x15141c,'configurable':!![]});const tokenKey='token';function getAuthToken(){return localStorage.getLocalStorage(tokenKey);}__name(getAuthToken,'getAuthToken');function rememberAuthToken(_0x405c7a){localStorage.setLocalStorage(tokenKey,_0x405c7a);}__name(rememberAuthToken,'rememberAuthToken');function forgetAuthToken(){localStorage.removeLocalStorage(tokenKey);}__name(forgetAuthToken,'forgetAuthToken');
6
+ var __defProp=Object['defineProperty'],__name=(_0xc8e409,_0xbe3ffd)=>__defProp(_0xc8e409,'name',{'value':_0xbe3ffd,'configurable':!![]});const tokenKey='token';function getAuthToken(){return localStorage.getLocalStorage(tokenKey);}__name(getAuthToken,'getAuthToken');function rememberAuthToken(_0x1164e0){localStorage.setLocalStorage(tokenKey,_0x1164e0);}__name(rememberAuthToken,'rememberAuthToken');function forgetAuthToken(){localStorage.removeLocalStorage(tokenKey);}__name(forgetAuthToken,'forgetAuthToken');
7
7
 
8
8
  exports.forgetAuthToken = forgetAuthToken;
9
9
  exports.getAuthToken = getAuthToken;