@fernir2/saas-kit-cli 0.1.30 → 0.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base-repo/app-constants/aliases.cjs.js +1 -1
- package/base-repo/app-constants/aliases.js +1 -1
- package/cli/.gitlab-ci.yml +15 -0
- package/cli/.husky/commit-msg +1 -0
- package/cli/.husky/pre-commit +1 -0
- package/cli/server.ts +41 -0
- package/cli/src/app/favicon.ico +0 -0
- package/cli/src/app/layout.tsx +44 -0
- package/cli/src/app/page.tsx +9 -0
- package/cli/src/app/styles/common.css +74 -0
- package/cli/src/app/styles/rich-text-editor.css +130 -0
- package/cli/tsconfig.declaration.json +48 -0
- package/level2/cli/create-saas-kit-app/bin/index.cjs.js +4 -4
- package/level2/cli/create-saas-kit-app/bin/index.js +3 -3
- package/level2/fd-toolbox/api/api-client.cjs.js +1 -1
- package/level2/fd-toolbox/api/api-client.js +1 -1
- package/level2/fd-toolbox/api/api-path-names.cjs.js +2 -2
- package/level2/fd-toolbox/api/api-paths.cjs.js +1 -1
- package/level2/fd-toolbox/api/api-paths.js +1 -1
- package/level2/fd-toolbox/api/base-api.cjs.js +1 -1
- package/level2/fd-toolbox/api/base-api.js +1 -1
- package/level2/fd-toolbox/auth/login-states.cjs.js +1 -1
- package/level2/fd-toolbox/auth/login-states.js +1 -1
- package/level2/fd-toolbox/auth/session-storage.cjs.js +1 -1
- package/level2/fd-toolbox/auth/session-storage.js +1 -1
- package/level2/fd-toolbox/auth/tokens.cjs.js +1 -1
- package/level2/fd-toolbox/auth/tokens.js +1 -1
- package/level2/fd-toolbox/constants/constants.cjs.js +1 -1
- package/level2/fd-toolbox/constants/constants.js +1 -1
- package/level2/fd-toolbox/enums/enums.cjs.js +1 -1
- package/level2/fd-toolbox/enums/enums.js +1 -1
- package/level2/fd-toolbox/errors/error-handler.cjs.js +1 -1
- package/level2/fd-toolbox/errors/error-handler.js +1 -1
- package/level2/fd-toolbox/errors/errors.cjs.js +1 -1
- package/level2/fd-toolbox/errors/errors.js +1 -1
- package/level2/fd-toolbox/errors/problem-details.cjs.js +1 -1
- package/level2/fd-toolbox/errors/problem-details.js +1 -1
- package/level2/fd-toolbox/functions/value-checking-functions.cjs.js +1 -1
- package/level2/fd-toolbox/functions/value-checking-functions.js +1 -1
- package/level2/fd-toolbox/http/url/urls.cjs.js +1 -1
- package/level2/fd-toolbox/http/url/urls.js +1 -1
- package/level2/fd-toolbox/infra/env-config.cjs.js +2 -2
- package/level2/fd-toolbox/infra/env-config.js +2 -2
- package/level2/fd-toolbox/infra/env-functions.cjs.js +1 -1
- package/level2/fd-toolbox/infra/env-functions.js +1 -1
- package/level2/fd-toolbox/infra/env-schema.cjs.js +2 -2
- package/level2/fd-toolbox/infra/env-schema.js +2 -2
- package/level2/fd-toolbox/infra/env-store.cjs.js +1 -1
- package/level2/fd-toolbox/infra/env-store.js +1 -1
- package/level2/fd-toolbox/lib/environments.cjs.js +1 -1
- package/level2/fd-toolbox/lib/environments.js +1 -1
- package/level2/fd-toolbox/lib/utils.cjs.js +1 -1
- package/level2/fd-toolbox/lib/utils.js +1 -1
- package/level2/fd-toolbox/local-storage/local-storage.cjs.js +1 -1
- package/level2/fd-toolbox/local-storage/local-storage.js +1 -1
- package/level2/fd-toolbox/logging/loggers.cjs.js +1 -1
- package/level2/fd-toolbox/logging/loggers.js +1 -1
- package/level2/fd-toolbox/notifications.cjs.js +2 -2
- package/level2/fd-toolbox/notifications.js +2 -2
- package/level2/fd-toolbox/odata/odata-constants.cjs.js +1 -1
- package/level2/fd-toolbox/odata/odata-constants.js +1 -1
- package/level2/fd-toolbox/odata/odatas.cjs.js +1 -1
- package/level2/fd-toolbox/odata/odatas.js +1 -1
- package/level2/fd-toolbox/odata/services/odata-filters.cjs.js +1 -1
- package/level2/fd-toolbox/odata/services/odata-filters.js +1 -1
- package/level2/fd-toolbox/paths/paths-names.cjs.js +2 -2
- package/level2/fd-toolbox/paths/paths-names.js +1 -1
- package/level2/fd-toolbox/routing/login-routers.cjs.js +1 -1
- package/level2/fd-toolbox/routing/login-routers.js +1 -1
- package/level2/fd-toolbox/routing/paths.cjs.js +1 -1
- package/level2/fd-toolbox/routing/paths.js +1 -1
- package/level2/fd-toolbox/strings/strings-constants.cjs.js +1 -1
- package/level2/fd-toolbox/strings/strings-constants.js +1 -1
- package/level2/fd-toolbox/strings/strings.cjs.js +1 -1
- package/level2/fd-toolbox/strings/strings.js +1 -1
- package/level2/fd-toolbox/types/ensure-type.cjs.js +1 -1
- package/level2/fd-toolbox/types/ensure-type.js +1 -1
- package/level2/fd-toolbox-core/core/name-of.cjs.js +1 -1
- package/level2/fd-toolbox-core/core/name-of.js +1 -1
- package/level2/fd-toolbox-core/types/resource-with-id.cjs.js +1 -1
- package/level2/fd-toolbox-core/types/resource-with-id.js +1 -1
- package/level2/npm-commands/build-npm/path.cjs.js +1 -1
- package/level2/npm-commands/build-npm/path.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
const aliasSymbols={'atSign':'@','rootAlias':'@root/'};const typescriptAliases={'@':'./src','@cli':'./packages/level2/cli','@server':'./packages/level2/server','@schemas':'./generated','@npm-commands':'./packages/level2/npm-commands','@root':'.','@enricher':'./packages/level2/enricher','@packages':'./packages','@common':'./packages/level2/common','@meta':'./packages/level2/meta','@fd-toolbox':'./packages/level2/fd-toolbox','@fd-toolbox-core':'./packages/level2/fd-toolbox-core','@fd-component-toolbox':'./packages/level2/fd-component-toolbox','@fd-app-toolbox':'./packages/level2/fd-app-toolbox','@client':'./packages/level2/client'};const modulePathAliases=Object['fromEntries'](Object['entries'](typescriptAliases)['map'](([
|
|
4
|
+
const aliasSymbols={'atSign':'@','rootAlias':'@root/'};const typescriptAliases={'@':'./src','@cli':'./packages/level2/cli','@server':'./packages/level2/server','@schemas':'./generated','@npm-commands':'./packages/level2/npm-commands','@root':'.','@enricher':'./packages/level2/enricher','@packages':'./packages','@common':'./packages/level2/common','@meta':'./packages/level2/meta','@fd-toolbox':'./packages/level2/fd-toolbox','@fd-toolbox-core':'./packages/level2/fd-toolbox-core','@fd-component-toolbox':'./packages/level2/fd-component-toolbox','@fd-app-toolbox':'./packages/level2/fd-app-toolbox','@client':'./packages/level2/client'};const modulePathAliases=Object['fromEntries'](Object['entries'](typescriptAliases)['map'](([_0x223b5c,_0x44ff33])=>[_0x223b5c+'/*',[_0x44ff33+'/*']]));
|
|
5
5
|
|
|
6
6
|
exports.aliasSymbols = aliasSymbols;
|
|
7
7
|
exports.modulePathAliases = modulePathAliases;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const aliasSymbols={'atSign':'@','rootAlias':'@root/'};const typescriptAliases={'@':'./src','@cli':'./packages/level2/cli','@server':'./packages/level2/server','@schemas':'./generated','@npm-commands':'./packages/level2/npm-commands','@root':'.','@enricher':'./packages/level2/enricher','@packages':'./packages','@common':'./packages/level2/common','@meta':'./packages/level2/meta','@fd-toolbox':'./packages/level2/fd-toolbox','@fd-toolbox-core':'./packages/level2/fd-toolbox-core','@fd-component-toolbox':'./packages/level2/fd-component-toolbox','@fd-app-toolbox':'./packages/level2/fd-app-toolbox','@client':'./packages/level2/client'};const modulePathAliases=Object['fromEntries'](Object['entries'](typescriptAliases)['map'](([
|
|
2
|
+
const aliasSymbols={'atSign':'@','rootAlias':'@root/'};const typescriptAliases={'@':'./src','@cli':'./packages/level2/cli','@server':'./packages/level2/server','@schemas':'./generated','@npm-commands':'./packages/level2/npm-commands','@root':'.','@enricher':'./packages/level2/enricher','@packages':'./packages','@common':'./packages/level2/common','@meta':'./packages/level2/meta','@fd-toolbox':'./packages/level2/fd-toolbox','@fd-toolbox-core':'./packages/level2/fd-toolbox-core','@fd-component-toolbox':'./packages/level2/fd-component-toolbox','@fd-app-toolbox':'./packages/level2/fd-app-toolbox','@client':'./packages/level2/client'};const modulePathAliases=Object['fromEntries'](Object['entries'](typescriptAliases)['map'](([_0x223b5c,_0x44ff33])=>[_0x223b5c+'/*',[_0x44ff33+'/*']]));
|
|
3
3
|
|
|
4
4
|
export { aliasSymbols, modulePathAliases, typescriptAliases };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include:
|
|
2
|
+
- "packages/infra/ci/templates/ci-variables.yml"
|
|
3
|
+
- "packages/infra/ci/templates/base-template.yml"
|
|
4
|
+
|
|
5
|
+
- "packages/infra/ci/templates/build-package.yml"
|
|
6
|
+
- "packages/infra/ci/templates/lint.yml"
|
|
7
|
+
- "packages/infra/ci/templates/build-and-test.yml"
|
|
8
|
+
- "packages/infra/ci/templates/saas-kit-test-build-and-test.yml"
|
|
9
|
+
- "packages/infra/ci/templates/create-saas-kit-app-test.yml"
|
|
10
|
+
|
|
11
|
+
- "packages/infra/ci/templates/manual-cleanup.yml"
|
|
12
|
+
- "packages/infra/ci/templates/update-submodules.yml"
|
|
13
|
+
- "packages/infra/ci/templates/deploy-to-vercel.yml"
|
|
14
|
+
- "packages/infra/ci/templates/clear-nx-cache.yml"
|
|
15
|
+
- "packages/infra/ci/templates/drop-all-db.yml"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npx tsx packages/base-repo/tools/git/commit-msg-script.ts "$1"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pnpm run-precommit
|
package/cli/server.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { parse } from "url";
|
|
3
|
+
import next from "next";
|
|
4
|
+
import {
|
|
5
|
+
checkAndHandleWebSocketRequest,
|
|
6
|
+
initSocket,
|
|
7
|
+
initializeInternalMetaCache,
|
|
8
|
+
} from "@fernir2/saas-kit/server";
|
|
9
|
+
import { envSettingKeys, getNumberEnvSetting, isDev } from "@fernir2/saas-kit";
|
|
10
|
+
|
|
11
|
+
const dev = isDev();
|
|
12
|
+
const port = getNumberEnvSetting(envSettingKeys.fdPort) ?? 3000;
|
|
13
|
+
|
|
14
|
+
const app = next({ dev, port });
|
|
15
|
+
const nextRequestHandler = app.getRequestHandler();
|
|
16
|
+
|
|
17
|
+
async function run() {
|
|
18
|
+
await app.prepare();
|
|
19
|
+
|
|
20
|
+
const httpServer = createServer((req, res) => {
|
|
21
|
+
checkAndHandleWebSocketRequest(req, res);
|
|
22
|
+
|
|
23
|
+
const parsedUrl = parse(req.url!, true);
|
|
24
|
+
nextRequestHandler(req, res, parsedUrl);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
initSocket(httpServer);
|
|
28
|
+
|
|
29
|
+
httpServer
|
|
30
|
+
.once("error", (err) => {
|
|
31
|
+
console.error(err);
|
|
32
|
+
process.exit(1);
|
|
33
|
+
})
|
|
34
|
+
.listen(port, () => {
|
|
35
|
+
console.log(`> Ready on http://localhost:${port}`);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
await initializeInternalMetaCache();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
run();
|
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FdHtmlMetadata } from "@meta/client/framework";
|
|
2
|
+
import { GeistSans } from "geist/font/sans";
|
|
3
|
+
import "src/app/globals.css";
|
|
4
|
+
import { cn } from "@fd-toolbox/lib/utils";
|
|
5
|
+
import Favicon from "src/app/favicon.ico";
|
|
6
|
+
import { FdToaster } from "@fd-component-toolbox/toaster/FdToaster";
|
|
7
|
+
import { ReactNode } from "react";
|
|
8
|
+
import { FdProviders } from "@client/components/providers/FdProviders";
|
|
9
|
+
import { setSidebarResourceNames } from "@fd-app-toolbox/layout/sidebar/sidebar-resource-names-cache";
|
|
10
|
+
import { defaultGlobalConfig } from "@meta/providers/global-provider/default-config";
|
|
11
|
+
import { setMultiListEditResourceConfigs } from "@/app/config/multi-list-config";
|
|
12
|
+
import { setResourceListConfigs } from "@packages/level2/client/pages/view-page/resource-list-configs";
|
|
13
|
+
import { setEditResourceConfigs } from "@packages/level2/meta/edit-resource/config/fd-edit-resource-configs";
|
|
14
|
+
|
|
15
|
+
export const metadata: FdHtmlMetadata = {
|
|
16
|
+
title: "SaaS Kit",
|
|
17
|
+
icons: [{ rel: "icon", url: Favicon.src }],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default async function RootLayout({ children }: { children: ReactNode }) {
|
|
21
|
+
const sidebarResourceNames: string[] = [];
|
|
22
|
+
|
|
23
|
+
setSidebarResourceNames(sidebarResourceNames);
|
|
24
|
+
await setMultiListEditResourceConfigs();
|
|
25
|
+
await setResourceListConfigs();
|
|
26
|
+
setEditResourceConfigs();
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<html lang="en">
|
|
30
|
+
<body className={cn(GeistSans.className, "h-screen text-sm")}>
|
|
31
|
+
<div className="flex h-full flex-col">
|
|
32
|
+
<FdProviders
|
|
33
|
+
globalConfig={{
|
|
34
|
+
...defaultGlobalConfig,
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
{children}
|
|
38
|
+
</FdProviders>
|
|
39
|
+
</div>
|
|
40
|
+
<FdToaster />
|
|
41
|
+
</body>
|
|
42
|
+
</html>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { fdRedirect } from "@fd-toolbox/server/framework";
|
|
2
|
+
import { getResourceListUrl } from "@meta/services/meta-navigations";
|
|
3
|
+
import { resourceNames } from "@fd-toolbox/resources/resource-names";
|
|
4
|
+
|
|
5
|
+
export default function Home() {
|
|
6
|
+
const afterLoginUrl = getResourceListUrl(resourceNames.contact);
|
|
7
|
+
|
|
8
|
+
fdRedirect(afterLoginUrl);
|
|
9
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
@tailwind base;
|
|
2
|
+
@tailwind components;
|
|
3
|
+
@tailwind utilities;
|
|
4
|
+
|
|
5
|
+
@layer base {
|
|
6
|
+
* {
|
|
7
|
+
@apply border-border;
|
|
8
|
+
}
|
|
9
|
+
body {
|
|
10
|
+
@apply bg-background text-foreground;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@supports not (-webkit-appearance: none) {
|
|
15
|
+
* {
|
|
16
|
+
scrollbar-width: thin;
|
|
17
|
+
scrollbar-color: hsl(var(--fd-toolbar)) hsl(var(--background));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@supports (-webkit-appearance: none) {
|
|
22
|
+
*::-webkit-scrollbar {
|
|
23
|
+
width: 15px;
|
|
24
|
+
height: 15px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
*::-webkit-scrollbar-track {
|
|
28
|
+
background: hsl(var(--background));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
*::-webkit-scrollbar-thumb {
|
|
32
|
+
width: 9px;
|
|
33
|
+
height: 9px;
|
|
34
|
+
background: hsl(var(--fd-toolbar));
|
|
35
|
+
border-radius: var(--radius);
|
|
36
|
+
border: 3px solid hsl(var(--background));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
*::-webkit-scrollbar-thumb:hover {
|
|
40
|
+
background: hsl(var(--fd-toolbar-hover));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
*::-webkit-scrollbar-button {
|
|
44
|
+
display: none;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.scrollbar-hidden {
|
|
49
|
+
-ms-overflow-style: none;
|
|
50
|
+
scrollbar-width: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@media (max-width: 426px) {
|
|
54
|
+
html,
|
|
55
|
+
body {
|
|
56
|
+
overflow: auto;
|
|
57
|
+
-ms-overflow-style: none;
|
|
58
|
+
scrollbar-width: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
body::-webkit-scrollbar,
|
|
62
|
+
body *::-webkit-scrollbar {
|
|
63
|
+
display: none;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@layer base {
|
|
68
|
+
input:-webkit-autofill,
|
|
69
|
+
input:-webkit-autofill:hover,
|
|
70
|
+
input:-webkit-autofill:focus {
|
|
71
|
+
-webkit-box-shadow: 0 0 0px 1000px hsl(var(--background)) inset;
|
|
72
|
+
-webkit-text-fill-color: hsl(var(--foreground));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
div.ql-toolbar.ql-snow {
|
|
2
|
+
padding: 0.5rem 0.75rem;
|
|
3
|
+
border-top-right-radius: var(--radius);
|
|
4
|
+
border-top-left-radius: var(--radius);
|
|
5
|
+
border: 1px solid hsl(var(--border));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.ql-toolbar.ql-snow .ql-picker-label {
|
|
9
|
+
padding-left: 0;
|
|
10
|
+
border: none;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.ql-toolbar.ql-snow .ql-picker-label::before {
|
|
14
|
+
font-family: "__GeistSans_3a0388", serif;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.ql-editor {
|
|
18
|
+
font-size: 14px;
|
|
19
|
+
padding: 10px 12px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
div.ql-container.ql-snow {
|
|
23
|
+
height: max-content;
|
|
24
|
+
border: 1px solid hsl(var(--border));
|
|
25
|
+
border-bottom-right-radius: var(--radius);
|
|
26
|
+
border-bottom-left-radius: var(--radius);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ql-tooltip {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
|
|
34
|
+
z-index: 11;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.ql-picker-label,
|
|
38
|
+
.ql-picker-label .ql-stroke {
|
|
39
|
+
color: hsl(var(--popover-foreground));
|
|
40
|
+
stroke: hsl(var(--popover-foreground));
|
|
41
|
+
fill: hsl(var(--popover-foreground));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ql-toolbar .ql-formats button {
|
|
45
|
+
color: hsl(var(--popover-foreground));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ql-toolbar .ql-formats button .ql-stroke {
|
|
49
|
+
stroke: hsl(var(--popover-foreground));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.ql-toolbar .ql-formats button .ql-fill {
|
|
53
|
+
fill: hsl(var(--popover-foreground));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.ql-toolbar .ql-active,
|
|
57
|
+
.ql-toolbar .ql-active .ql-stroke,
|
|
58
|
+
.ql-toolbar .ql-active .ql-fill {
|
|
59
|
+
color: hsl(var(--popover-foreground));
|
|
60
|
+
fill: none;
|
|
61
|
+
stroke: none;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ql-snow .ql-picker {
|
|
65
|
+
font-weight: 400;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.ql-editor.ql-blank::before {
|
|
69
|
+
left: 12px;
|
|
70
|
+
right: 12px;
|
|
71
|
+
color: hsl(var(--muted-foreground));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.ql-toolbar .ql-formats button:hover .ql-stroke,
|
|
75
|
+
.ql-toolbar .ql-picker .ql-picker-label:hover .ql-stroke,
|
|
76
|
+
.ql-toolbar .ql-picker .ql-picker-label.ql-active .ql-stroke,
|
|
77
|
+
.ql-toolbar .ql-formats button.ql-active .ql-stroke {
|
|
78
|
+
stroke: hsl(var(--foreground));
|
|
79
|
+
stroke-width: 2;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.ql-toolbar .ql-formats button:hover .ql-fill,
|
|
83
|
+
.ql-toolbar .ql-formats button.ql-active .ql-fill {
|
|
84
|
+
fill: hsl(var(--foreground));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.ql-toolbar .ql-picker .ql-picker-label:hover::before,
|
|
88
|
+
.ql-toolbar .ql-picker .ql-picker-label.ql-active::before,
|
|
89
|
+
.ql-picker .ql-picker-options .ql-picker-item.ql-selected::before {
|
|
90
|
+
color: hsl(var(--foreground));
|
|
91
|
+
font-weight: 600;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.ql-snow .ql-picker-options .ql-picker-item:hover {
|
|
95
|
+
border-radius: 0.375rem;
|
|
96
|
+
background: hsl(var(--muted) / 0.5);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.ql-toolbar .ql-formats button .ql-stroke,
|
|
100
|
+
.ql-toolbar .ql-picker .ql-picker-label .ql-stroke {
|
|
101
|
+
stroke: hsl(var(--foreground));
|
|
102
|
+
stroke-width: 1.2;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.ql-toolbar .ql-formats button .ql-fill {
|
|
106
|
+
fill: hsl(var(--foreground));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ql-toolbar .ql-picker .ql-picker-label::before,
|
|
110
|
+
.ql-picker .ql-picker-options .ql-picker-item::before {
|
|
111
|
+
color: hsl(var(--foreground));
|
|
112
|
+
font-weight: 400;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
|
|
116
|
+
min-width: 12rem;
|
|
117
|
+
z-index: 50;
|
|
118
|
+
margin-right: 1rem;
|
|
119
|
+
border-radius: 0.375rem;
|
|
120
|
+
background-color: hsl(var(--background));
|
|
121
|
+
border: 1px solid hsl(var(--border));
|
|
122
|
+
box-shadow: 0rem 0rem 0.1rem 0.01rem hsl(var(--fd-toolbar-shadow));
|
|
123
|
+
outline: none;
|
|
124
|
+
pointer-events: auto;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.ql-snow .ql-picker-options .ql-picker-item {
|
|
128
|
+
width: 100%;
|
|
129
|
+
padding: 0.5rem 0.75rem;
|
|
130
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"experimentalDecorators": true,
|
|
5
|
+
"emitDecoratorMetadata": true,
|
|
6
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
7
|
+
"allowJs": true,
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"strict": false,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"module": "esnext",
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"isolatedModules": false,
|
|
15
|
+
"jsx": "preserve",
|
|
16
|
+
"incremental": false,
|
|
17
|
+
"plugins": [
|
|
18
|
+
{
|
|
19
|
+
"name": "next"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"paths": {
|
|
23
|
+
"@/*": ["./src/*"],
|
|
24
|
+
"@cli/*": ["./packages/level2/cli/*"],
|
|
25
|
+
"@server/*": ["./packages/level2/server/*"],
|
|
26
|
+
"@schemas/*": ["./generated/*"],
|
|
27
|
+
"@npm-commands/*": ["./packages/level2/npm-commands/*"],
|
|
28
|
+
"@root/*": ["./*"],
|
|
29
|
+
"@enricher/*": ["./packages/level2/enricher/*"],
|
|
30
|
+
"@packages/*": ["./packages/*"],
|
|
31
|
+
"@common/*": ["./packages/level2/common/*"],
|
|
32
|
+
"@fd-app-toolbox/*": ["./packages/level2/fd-app-toolbox/*"],
|
|
33
|
+
"@fd-component-toolbox/*": ["./packages/level2/fd-component-toolbox/*"],
|
|
34
|
+
"@fd-toolbox-core/*": ["./packages/level2/fd-toolbox-core/*"],
|
|
35
|
+
"@fd-toolbox/*": ["./packages/level2/fd-toolbox/*"],
|
|
36
|
+
"@meta/*": ["./packages/level2/meta/*"],
|
|
37
|
+
"@base-repo/*": ["./packages/base-repo/*"],
|
|
38
|
+
"@client/*": ["./packages/level2/client/*"]
|
|
39
|
+
},
|
|
40
|
+
"outDir": "./build/package",
|
|
41
|
+
"rootDir": "./",
|
|
42
|
+
"declaration": true,
|
|
43
|
+
"declarationDir": "./build/package",
|
|
44
|
+
"emitDeclarationOnly": false
|
|
45
|
+
},
|
|
46
|
+
"include": ["next-env.d.ts", "lib/**/*.ts"],
|
|
47
|
+
"exclude": ["node_modules", "dist"]
|
|
48
|
+
}
|
|
@@ -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
|
|
9
|
-
var
|
|
8
|
+
var _0x27ff26 = require('path');
|
|
9
|
+
var _0x4b651e = 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
|
|
38
|
+
var _0x27ff26__namespace = /*#__PURE__*/_interopNamespaceDefault(_0x27ff26);
|
|
39
39
|
|
|
40
|
-
'use strict';var __defProp=Object['defineProperty'],__name=(_0x2937c2,_0x4cf502)=>__defProp(_0x2937c2,'name',{'value':_0x4cf502,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](-0x18ce+-0x1f98*0x1+-0x3867*-0x1));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=_0x4b454b__namespace['dirname'](filename),repoRoot=_0x4b454b__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x4b454b__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/.env'),envTemplate=_0x1a4c2b['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0x4199e7,_0x32f30e){loggers.logInfoRaw('Executing:\x20'+_0x4199e7);try{child_process.execSync(_0x4199e7,{'stdio':'inherit','cwd':_0x32f30e??process['cwd']()});}catch(_0x2a25f6){const _0x12a29a=_0x2a25f6 instanceof Error?_0x2a25f6['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0x4199e7),loggers.logStringError(_0x12a29a),process['exit'](0x13*-0x5d+0x49b*-0x1+0xb83);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x34cdff){fs.existsSync(_0x34cdff)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x4b454b__namespace['basename'](_0x34cdff)+'\x22\x20already\x20exists.'),process['exit'](0x7e7+0x17b8+-0x1f9e));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x4ff4f6=_0x4b454b__namespace['resolve'](repoRoot,'package.json'),_0x30409b=JSON['parse'](_0x1a4c2b['readFileSync'](_0x4ff4f6,'utf-8'));return String(_0x30409b['devDependencies']?.['next']??_0x30409b['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x345942,_0x70f632){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x49a0ca=getCreateNextAppVersion(),_0x26db7e=['npx\x20create-next-app@'+_0x49a0ca+'\x20\x22'+_0x345942+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x26db7e,_0x4b454b__namespace['dirname'](_0x70f632)),loggers.logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x2b7938){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x11b5e7=_0x4b454b__namespace['join'](_0x2b7938,'.env');try{await fs.promises['writeFile'](_0x11b5e7,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x23f651){const _0x129bf7=_0x23f651 instanceof Error?_0x23f651['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x129bf7);throw _0x23f651;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x2acc81){const _0x5c0bbe=_0x4b454b__namespace['join'](_0x2acc81,'package.json'),_0x3df541=_0x4b454b__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x9f80ee=JSON['parse'](await fs.promises['readFile'](_0x5c0bbe,'utf8')),_0x243733=_0x9f80ee['name'],_0x36669a=JSON['parse'](await fs.promises['readFile'](_0x3df541,'utf8')),_0x5f3b32={..._0x36669a,'name':_0x243733};await fs.promises['writeFile'](_0x5c0bbe,JSON['stringify'](_0x5f3b32,null,0x359*0x2+-0xba*0x1d+0xe62)+'\x0a','utf8');}catch(_0x1286d0){const _0x19faa7=_0x1286d0 instanceof Error?_0x1286d0['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x19faa7);throw _0x1286d0;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x39e172){const _0x59dd5a=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x39e172['replace'](_0x59dd5a,(_0x5e4117,_0x4e42a1,_0x7c19ae,_0x3dca98)=>{if(!_0x7c19ae['startsWith'](aliases.aliasSymbols['atSign'])||_0x7c19ae['startsWith'](packages.npmPackages['saasKit']))return _0x5e4117;if(_0x7c19ae['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x7c19ae['includes']('/'+projectPaths.folders['server']+'/'))return ''+_0x4e42a1+packages.npmPackages['saasKitServer']+_0x3dca98;return ''+_0x4e42a1+packages.npmPackages['saasKit']+_0x3dca98;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x1d8f86){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x2a11cf of path.allFilesToCopy){const _0x5d59d5=projectPaths.folders['cli']+'/'+_0x2a11cf,_0x3cb3d7=_0x4b454b__namespace['join'](repoRoot,_0x5d59d5),_0x31e5dd=replaceToolsFolder(_0x2a11cf),_0x201c60=_0x4b454b__namespace['join'](_0x1d8f86,_0x31e5dd);if(fs.existsSync(_0x3cb3d7)){const _0x229734=await fs.promises['stat'](_0x3cb3d7);_0x229734['isDirectory']()?await copyDirectoryContents(_0x3cb3d7,_0x201c60):await copyAndProcessFile(_0x3cb3d7,_0x201c60);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x5d59d5);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x38a651){let _0x32eff7=_0x38a651;for(const [_0x508263,_0x450907]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x32eff7['startsWith'](_0x508263)&&ensureType.isWithIndexer(_0x450907)){const _0x8a2cf8=_0x450907;for(const _0x231cfe in _0x8a2cf8){const _0x30d116=_0x8a2cf8[_0x231cfe];ensureType.isString(_0x30d116)&&(_0x32eff7=_0x32eff7['replace'](_0x231cfe,_0x30d116));}break;}}return _0x32eff7;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x54941b,_0x17a940,_0x41841c=![]){const _0x10c232=_0x4b454b__namespace['relative'](_0x17a940,_0x54941b),_0x1cde32=_0x10c232['split'](_0x4b454b__namespace['sep']),_0x5721cd=_0x4b454b__namespace['relative'](repoRoot,_0x54941b)['replace'](/\\/g,'/');return _0x41841c&&foldersToIgnore['includes'](_0x5721cd)||foldersToIgnore['some'](_0xf31ec2=>_0x1cde32['some'](_0x33be37=>_0x33be37===_0xf31ec2));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x1b0249,_0x4b5dd2){!fs.existsSync(_0x4b5dd2)&&fs.mkdirSync(_0x4b5dd2,{'recursive':!![]});try{const _0x5a9955=await fs.promises['readdir'](_0x1b0249,{'withFileTypes':!![]});for(const _0x23f422 of _0x5a9955){const _0x12a047=_0x4b454b__namespace['join'](_0x1b0249,_0x23f422['name']),_0x4a954f=_0x4b454b__namespace['join'](_0x4b5dd2,_0x23f422['name']);!shouldIgnorePath(_0x12a047,_0x1b0249,_0x23f422['isDirectory']())&&(_0x23f422['isDirectory']()?await copyDirectoryContents(_0x12a047,_0x4a954f):await copyAndProcessFile(_0x12a047,_0x4a954f));}}catch(_0x2d676f){const _0x2f91f9=_0x2d676f instanceof Error?_0x2d676f['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x1b0249+':\x20'+_0x2f91f9);throw _0x2d676f;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x29b1b0,_0x515cf2){const _0x4be989=_0x4b454b__namespace['dirname'](_0x515cf2);!fs.existsSync(_0x4be989)&&fs.mkdirSync(_0x4be989,{'recursive':!![]});const _0x23d216=await fs.promises['stat'](_0x29b1b0);if(_0x23d216['isDirectory']())await copyDirectoryContents(_0x29b1b0,_0x515cf2);else {const _0x4657fb=await fs.promises['readFile'](_0x29b1b0,'utf8'),_0x503210=replaceImports(_0x4657fb);await fs.promises['writeFile'](_0x515cf2,_0x503210,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x54d947){for(const _0x276e36 of createAppConstants.additionalFoldersToCreate){const _0x6d2f25=_0x4b454b__namespace['join'](_0x54d947,_0x276e36);!fs.existsSync(_0x6d2f25)&&(fs.mkdirSync(_0x6d2f25,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x276e36));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x3666f0=process['argv']['slice'](0x32b*-0x7+-0x1ca1+-0x65a*-0x8);_0x3666f0['length']<0x24e4+0xc04+-0x30e7&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x1e62*-0x1+0xdc9+-0x2c2a*0x1));const _0x5629e7=_0x3666f0[-0xdd1+0xeba+-0xe8],_0x5bc4ef=_0x4b454b__namespace['resolve'](process['cwd'](),_0x5629e7);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x5629e7+'\x22...\x0a');try{checkTargetFolder(_0x5bc4ef),createNextProject(_0x5629e7,_0x5bc4ef),await copyProjectFiles(_0x5bc4ef),await overridePackageJson(_0x5bc4ef),createAdditionalFolders(_0x5bc4ef),await createEnvFile(_0x5bc4ef),await updateLayoutTitle(_0x5bc4ef,_0x5629e7),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x5629e7+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x5629e7),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x41a3e3){const _0x29ec0f=_0x41a3e3 instanceof Error?_0x41a3e3['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x29ec0f),fs.existsSync(_0x5bc4ef)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x5bc4ef,{'recursive':!![],'force':!![]})),process['exit'](-0x29*0x1+0x2*0x373+-0x4*0x1af);}}__name(main,'main');async function updateLayoutTitle(_0x4b94fc,_0x356991){const _0x564042=_0x4b454b__namespace['join'](_0x4b94fc,'src/app/layout.tsx');if(!fs.existsSync(_0x564042))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x564042+',\x20cannot\x20update\x20title.');let _0x39b147=await fs.promises['readFile'](_0x564042,'utf8');const _0x38c3d7=/"SaaS Kit"/g;if(!_0x38c3d7['test'](_0x39b147))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x39b147=_0x39b147['replace'](_0x38c3d7,'\x22'+_0x356991+'\x22'),await fs.promises['writeFile'](_0x564042,_0x39b147,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x134ed1=>{const _0x5caf87=_0x134ed1 instanceof Error?_0x134ed1['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x5caf87),process['exit'](-0x4b0+0x2148+0x233*-0xd);});
|
|
40
|
+
'use strict';var __defProp=Object['defineProperty'],__name=(_0x3c6082,_0x47e985)=>__defProp(_0x3c6082,'name',{'value':_0x47e985,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](-0x1*0x1f4c+-0x432+0x237f));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=_0x27ff26__namespace['dirname'](filename),repoRoot=_0x27ff26__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x27ff26__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/.env'),envTemplate=_0x4b651e['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/constants'];function runCommand(_0xaf9a4b,_0x32795d){loggers.logInfoRaw('Executing:\x20'+_0xaf9a4b);try{child_process.execSync(_0xaf9a4b,{'stdio':'inherit','cwd':_0x32795d??process['cwd']()});}catch(_0x1851f0){const _0xc51ddc=_0x1851f0 instanceof Error?_0x1851f0['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0xaf9a4b),loggers.logStringError(_0xc51ddc),process['exit'](0x6e*0x1a+0x14*-0x1df+0x1a41);}}__name(runCommand,'runCommand');function checkTargetFolder(_0xd8be02){fs.existsSync(_0xd8be02)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x27ff26__namespace['basename'](_0xd8be02)+'\x22\x20already\x20exists.'),process['exit'](0x92d+0x35*0x4f+-0x5*0x51b));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x4911dc=_0x27ff26__namespace['resolve'](repoRoot,'package.json'),_0x450174=JSON['parse'](_0x4b651e['readFileSync'](_0x4911dc,'utf-8'));return String(_0x450174['devDependencies']?.['next']??_0x450174['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x4b2478,_0x2970c6){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0xef31bb=getCreateNextAppVersion(),_0x13f885=['npx\x20create-next-app@'+_0xef31bb+'\x20\x22'+_0x4b2478+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x13f885,_0x27ff26__namespace['dirname'](_0x2970c6)),loggers.logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x4c324f){loggers.logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x24e72f=_0x27ff26__namespace['join'](_0x4c324f,'.env');try{await fs.promises['writeFile'](_0x24e72f,envTemplate,'utf8'),loggers.logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x3523e4){const _0x196865=_0x3523e4 instanceof Error?_0x3523e4['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20.env\x20file:'),loggers.logStringError(_0x196865);throw _0x3523e4;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x4666d9){const _0x547352=_0x27ff26__namespace['join'](_0x4666d9,'package.json'),_0x1b71b1=_0x27ff26__namespace['join'](repoRoot,projectPaths.folders['cli']+'/package-template.json');try{const _0x2d0c89=JSON['parse'](await fs.promises['readFile'](_0x547352,'utf8')),_0x546d0b=_0x2d0c89['name'],_0x3395d0=JSON['parse'](await fs.promises['readFile'](_0x1b71b1,'utf8')),_0x58ee26={..._0x3395d0,'name':_0x546d0b};await fs.promises['writeFile'](_0x547352,JSON['stringify'](_0x58ee26,null,0x430*0x9+-0x1a7+0x2407*-0x1)+'\x0a','utf8');}catch(_0x42c966){const _0x5e8390=_0x42c966 instanceof Error?_0x42c966['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20package.json:'),loggers.logStringError(_0x5e8390);throw _0x42c966;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x43a795){const _0x59f3f0=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x43a795['replace'](_0x59f3f0,(_0x57f42e,_0x791ab0,_0x2b3c7d,_0x2f9353)=>{if(!_0x2b3c7d['startsWith'](aliases.aliasSymbols['atSign'])||_0x2b3c7d['startsWith'](packages.npmPackages['saasKit']))return _0x57f42e;if(_0x2b3c7d['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x2b3c7d['includes']('/'+projectPaths.folders['server']+'/'))return ''+_0x791ab0+packages.npmPackages['saasKitServer']+_0x2f9353;return ''+_0x791ab0+packages.npmPackages['saasKit']+_0x2f9353;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x21fa74){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x2476b7 of path.allFilesToCopy){const _0x18fae1=projectPaths.folders['cli']+'/'+_0x2476b7,_0x11116f=_0x27ff26__namespace['join'](repoRoot,_0x18fae1),_0x57d861=replaceToolsFolder(_0x2476b7),_0x6faf6b=_0x27ff26__namespace['join'](_0x21fa74,_0x57d861);if(fs.existsSync(_0x11116f)){const _0x47af47=await fs.promises['stat'](_0x11116f);_0x47af47['isDirectory']()?await copyDirectoryContents(_0x11116f,_0x6faf6b):await copyAndProcessFile(_0x11116f,_0x6faf6b);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x18fae1);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x48e02d){let _0x3de813=_0x48e02d;for(const [_0x3b045a,_0x491ac7]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x3de813['startsWith'](_0x3b045a)&&ensureType.isWithIndexer(_0x491ac7)){const _0x2c1482=_0x491ac7;for(const _0x3a7945 in _0x2c1482){const _0x27ab68=_0x2c1482[_0x3a7945];ensureType.isString(_0x27ab68)&&(_0x3de813=_0x3de813['replace'](_0x3a7945,_0x27ab68));}break;}}return _0x3de813;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x405204,_0x400375,_0x202094=![]){const _0x2093dc=_0x27ff26__namespace['relative'](_0x400375,_0x405204),_0x144f81=_0x2093dc['split'](_0x27ff26__namespace['sep']),_0x22f98c=_0x27ff26__namespace['relative'](repoRoot,_0x405204)['replace'](/\\/g,'/');return _0x202094&&foldersToIgnore['includes'](_0x22f98c)||foldersToIgnore['some'](_0x2c3f7b=>_0x144f81['some'](_0x5c6003=>_0x5c6003===_0x2c3f7b));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x349753,_0x1c8277){!fs.existsSync(_0x1c8277)&&fs.mkdirSync(_0x1c8277,{'recursive':!![]});try{const _0x336f2f=await fs.promises['readdir'](_0x349753,{'withFileTypes':!![]});for(const _0x34fff3 of _0x336f2f){const _0x25c18b=_0x27ff26__namespace['join'](_0x349753,_0x34fff3['name']),_0x3356ad=_0x27ff26__namespace['join'](_0x1c8277,_0x34fff3['name']);!shouldIgnorePath(_0x25c18b,_0x349753,_0x34fff3['isDirectory']())&&(_0x34fff3['isDirectory']()?await copyDirectoryContents(_0x25c18b,_0x3356ad):await copyAndProcessFile(_0x25c18b,_0x3356ad));}}catch(_0x383f8e){const _0xb7c08=_0x383f8e instanceof Error?_0x383f8e['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x349753+':\x20'+_0xb7c08);throw _0x383f8e;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x4255b4,_0x422380){const _0x2985c6=_0x27ff26__namespace['dirname'](_0x422380);!fs.existsSync(_0x2985c6)&&fs.mkdirSync(_0x2985c6,{'recursive':!![]});const _0xaad85e=await fs.promises['stat'](_0x4255b4);if(_0xaad85e['isDirectory']())await copyDirectoryContents(_0x4255b4,_0x422380);else {const _0x403a9e=await fs.promises['readFile'](_0x4255b4,'utf8'),_0x34ec2d=replaceImports(_0x403a9e);await fs.promises['writeFile'](_0x422380,_0x34ec2d,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x5cac3f){for(const _0x714141 of createAppConstants.additionalFoldersToCreate){const _0x265ded=_0x27ff26__namespace['join'](_0x5cac3f,_0x714141);!fs.existsSync(_0x265ded)&&(fs.mkdirSync(_0x265ded,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x714141));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x78392=process['argv']['slice'](-0x253a+-0x2629+0x4b65);_0x78392['length']<-0x1*0x1204+0xa7e*0x1+-0x29*-0x2f&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x17c9+-0x9b1*0x3+0x15b*0x27));const _0x5a8601=_0x78392[0x2b*0xad+0x268a+-0x4398],_0x2c40b7=_0x27ff26__namespace['resolve'](process['cwd'](),_0x5a8601);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x5a8601+'\x22...\x0a');try{checkTargetFolder(_0x2c40b7),createNextProject(_0x5a8601,_0x2c40b7),await copyProjectFiles(_0x2c40b7),await overridePackageJson(_0x2c40b7),createAdditionalFolders(_0x2c40b7),await createEnvFile(_0x2c40b7),await updateLayoutTitle(_0x2c40b7,_0x5a8601),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x5a8601+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x5a8601),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x3dfde1){const _0x13f5f9=_0x3dfde1 instanceof Error?_0x3dfde1['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x13f5f9),fs.existsSync(_0x2c40b7)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x2c40b7,{'recursive':!![],'force':!![]})),process['exit'](0x341+-0x1c75+0x1935);}}__name(main,'main');async function updateLayoutTitle(_0xb0e6af,_0x1606f6){const _0x22dff2=_0x27ff26__namespace['join'](_0xb0e6af,'src/app/layout.tsx');if(!fs.existsSync(_0x22dff2))throw errors.createError('layout.tsx\x20not\x20found\x20at\x20'+_0x22dff2+',\x20cannot\x20update\x20title.');let _0x5de474=await fs.promises['readFile'](_0x22dff2,'utf8');const _0x8d9c49=/"SaaS Kit"/g;if(!_0x8d9c49['test'](_0x5de474))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x5de474=_0x5de474['replace'](_0x8d9c49,'\x22'+_0x1606f6+'\x22'),await fs.promises['writeFile'](_0x22dff2,_0x5de474,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x280cf7=>{const _0x4ca1a=_0x280cf7 instanceof Error?_0x280cf7['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x4ca1a),process['exit'](0x966+0x124e+0x3f5*-0x7);});
|
|
@@ -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
|
|
7
|
-
import
|
|
6
|
+
import * as _0x27ff26 from 'path';
|
|
7
|
+
import _0x4b651e 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=(
|
|
18
|
+
'use strict';var __defProp=Object['defineProperty'],__name=(_0x3c6082,_0x47e985)=>__defProp(_0x3c6082,'name',{'value':_0x47e985,'configurable':!![]});const requiredNodeVersion='v18.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](-0x1*0x1f4c+-0x432+0x237f));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0x27ff26['dirname'](filename),repoRoot=_0x27ff26['resolve'](binDir,sourceDir),envLocalPath=_0x27ff26['join'](binDir,''+sourceDir+folders['cli']+'/.env'),envTemplate=_0x4b651e['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/constants'];function runCommand(_0xaf9a4b,_0x32795d){logInfoRaw('Executing:\x20'+_0xaf9a4b);try{execSync(_0xaf9a4b,{'stdio':'inherit','cwd':_0x32795d??process['cwd']()});}catch(_0x1851f0){const _0xc51ddc=_0x1851f0 instanceof Error?_0x1851f0['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0xaf9a4b),logStringError(_0xc51ddc),process['exit'](0x6e*0x1a+0x14*-0x1df+0x1a41);}}__name(runCommand,'runCommand');function checkTargetFolder(_0xd8be02){existsSync(_0xd8be02)&&(logStringError('Error:\x20Folder\x20\x22'+_0x27ff26['basename'](_0xd8be02)+'\x22\x20already\x20exists.'),process['exit'](0x92d+0x35*0x4f+-0x5*0x51b));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x4911dc=_0x27ff26['resolve'](repoRoot,'package.json'),_0x450174=JSON['parse'](_0x4b651e['readFileSync'](_0x4911dc,'utf-8'));return String(_0x450174['devDependencies']?.['next']??_0x450174['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x4b2478,_0x2970c6){logInfoRaw('Creating\x20Next.js\x20project...');const _0xef31bb=getCreateNextAppVersion(),_0x13f885=['npx\x20create-next-app@'+_0xef31bb+'\x20\x22'+_0x4b2478+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git']['join']('\x20');runCommand(_0x13f885,_0x27ff26['dirname'](_0x2970c6)),logInfoRaw('Next.js\x20project\x20created!');}__name(createNextProject,'createNextProject');async function createEnvFile(_0x4c324f){logInfoRaw('Creating\x20.env\x20file\x20with\x20default\x20values...');const _0x24e72f=_0x27ff26['join'](_0x4c324f,'.env');try{await promises['writeFile'](_0x24e72f,envTemplate,'utf8'),logInfoRaw('.env\x20file\x20created\x20with\x20values!');}catch(_0x3523e4){const _0x196865=_0x3523e4 instanceof Error?_0x3523e4['message']:'Unknown\x20error';logStringError('Error\x20creating\x20.env\x20file:'),logStringError(_0x196865);throw _0x3523e4;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x4666d9){const _0x547352=_0x27ff26['join'](_0x4666d9,'package.json'),_0x1b71b1=_0x27ff26['join'](repoRoot,folders['cli']+'/package-template.json');try{const _0x2d0c89=JSON['parse'](await promises['readFile'](_0x547352,'utf8')),_0x546d0b=_0x2d0c89['name'],_0x3395d0=JSON['parse'](await promises['readFile'](_0x1b71b1,'utf8')),_0x58ee26={..._0x3395d0,'name':_0x546d0b};await promises['writeFile'](_0x547352,JSON['stringify'](_0x58ee26,null,0x430*0x9+-0x1a7+0x2407*-0x1)+'\x0a','utf8');}catch(_0x42c966){const _0x5e8390=_0x42c966 instanceof Error?_0x42c966['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20package.json:'),logStringError(_0x5e8390);throw _0x42c966;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x43a795){const _0x59f3f0=/(import\s+[^'"]*from\s+["'])([^"']+)(["'])/g;return _0x43a795['replace'](_0x59f3f0,(_0x57f42e,_0x791ab0,_0x2b3c7d,_0x2f9353)=>{if(!_0x2b3c7d['startsWith'](aliasSymbols['atSign'])||_0x2b3c7d['startsWith'](npmPackages['saasKit']))return _0x57f42e;if(_0x2b3c7d['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x2b3c7d['includes']('/'+folders['server']+'/'))return ''+_0x791ab0+npmPackages['saasKitServer']+_0x2f9353;return ''+_0x791ab0+npmPackages['saasKit']+_0x2f9353;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x21fa74){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x2476b7 of allFilesToCopy){const _0x18fae1=folders['cli']+'/'+_0x2476b7,_0x11116f=_0x27ff26['join'](repoRoot,_0x18fae1),_0x57d861=replaceToolsFolder(_0x2476b7),_0x6faf6b=_0x27ff26['join'](_0x21fa74,_0x57d861);if(existsSync(_0x11116f)){const _0x47af47=await promises['stat'](_0x11116f);_0x47af47['isDirectory']()?await copyDirectoryContents(_0x11116f,_0x6faf6b):await copyAndProcessFile(_0x11116f,_0x6faf6b);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x18fae1);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x48e02d){let _0x3de813=_0x48e02d;for(const [_0x3b045a,_0x491ac7]of Object['entries'](toolsFoldersToReplace)){if(_0x3de813['startsWith'](_0x3b045a)&&isWithIndexer(_0x491ac7)){const _0x2c1482=_0x491ac7;for(const _0x3a7945 in _0x2c1482){const _0x27ab68=_0x2c1482[_0x3a7945];isString(_0x27ab68)&&(_0x3de813=_0x3de813['replace'](_0x3a7945,_0x27ab68));}break;}}return _0x3de813;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x405204,_0x400375,_0x202094=![]){const _0x2093dc=_0x27ff26['relative'](_0x400375,_0x405204),_0x144f81=_0x2093dc['split'](_0x27ff26['sep']),_0x22f98c=_0x27ff26['relative'](repoRoot,_0x405204)['replace'](/\\/g,'/');return _0x202094&&foldersToIgnore['includes'](_0x22f98c)||foldersToIgnore['some'](_0x2c3f7b=>_0x144f81['some'](_0x5c6003=>_0x5c6003===_0x2c3f7b));}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x349753,_0x1c8277){!existsSync(_0x1c8277)&&mkdirSync(_0x1c8277,{'recursive':!![]});try{const _0x336f2f=await promises['readdir'](_0x349753,{'withFileTypes':!![]});for(const _0x34fff3 of _0x336f2f){const _0x25c18b=_0x27ff26['join'](_0x349753,_0x34fff3['name']),_0x3356ad=_0x27ff26['join'](_0x1c8277,_0x34fff3['name']);!shouldIgnorePath(_0x25c18b,_0x349753,_0x34fff3['isDirectory']())&&(_0x34fff3['isDirectory']()?await copyDirectoryContents(_0x25c18b,_0x3356ad):await copyAndProcessFile(_0x25c18b,_0x3356ad));}}catch(_0x383f8e){const _0xb7c08=_0x383f8e instanceof Error?_0x383f8e['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x349753+':\x20'+_0xb7c08);throw _0x383f8e;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x4255b4,_0x422380){const _0x2985c6=_0x27ff26['dirname'](_0x422380);!existsSync(_0x2985c6)&&mkdirSync(_0x2985c6,{'recursive':!![]});const _0xaad85e=await promises['stat'](_0x4255b4);if(_0xaad85e['isDirectory']())await copyDirectoryContents(_0x4255b4,_0x422380);else {const _0x403a9e=await promises['readFile'](_0x4255b4,'utf8'),_0x34ec2d=replaceImports(_0x403a9e);await promises['writeFile'](_0x422380,_0x34ec2d,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x5cac3f){for(const _0x714141 of additionalFoldersToCreate){const _0x265ded=_0x27ff26['join'](_0x5cac3f,_0x714141);!existsSync(_0x265ded)&&(mkdirSync(_0x265ded,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x714141));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function main(){const _0x78392=process['argv']['slice'](-0x253a+-0x2629+0x4b65);_0x78392['length']<-0x1*0x1204+0xa7e*0x1+-0x29*-0x2f&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](-0x17c9+-0x9b1*0x3+0x15b*0x27));const _0x5a8601=_0x78392[0x2b*0xad+0x268a+-0x4398],_0x2c40b7=_0x27ff26['resolve'](process['cwd'](),_0x5a8601);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x5a8601+'\x22...\x0a');try{checkTargetFolder(_0x2c40b7),createNextProject(_0x5a8601,_0x2c40b7),await copyProjectFiles(_0x2c40b7),await overridePackageJson(_0x2c40b7),createAdditionalFolders(_0x2c40b7),await createEnvFile(_0x2c40b7),await updateLayoutTitle(_0x2c40b7,_0x5a8601),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x5a8601+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x5a8601),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x3dfde1){const _0x13f5f9=_0x3dfde1 instanceof Error?_0x3dfde1['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x13f5f9),existsSync(_0x2c40b7)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x2c40b7,{'recursive':!![],'force':!![]})),process['exit'](0x341+-0x1c75+0x1935);}}__name(main,'main');async function updateLayoutTitle(_0xb0e6af,_0x1606f6){const _0x22dff2=_0x27ff26['join'](_0xb0e6af,'src/app/layout.tsx');if(!existsSync(_0x22dff2))throw createError('layout.tsx\x20not\x20found\x20at\x20'+_0x22dff2+',\x20cannot\x20update\x20title.');let _0x5de474=await promises['readFile'](_0x22dff2,'utf8');const _0x8d9c49=/"SaaS Kit"/g;if(!_0x8d9c49['test'](_0x5de474))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20layout.tsx,\x20cannot\x20update\x20title.');_0x5de474=_0x5de474['replace'](_0x8d9c49,'\x22'+_0x1606f6+'\x22'),await promises['writeFile'](_0x22dff2,_0x5de474,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle'),main()['catch'](_0x280cf7=>{const _0x4ca1a=_0x280cf7 instanceof Error?_0x280cf7['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x4ca1a),process['exit'](0x966+0x124e+0x3f5*-0x7);});
|
|
@@ -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=(
|
|
11
|
+
var __defProp=Object['defineProperty'],__name=(_0x4a4081,_0x350163)=>__defProp(_0x4a4081,'name',{'value':_0x350163,'configurable':!![]});async function apiGet(_0x3cf43e,_0x5ea1fc,_0x3bc386,_0x14b08e){const _0x35d5c5=apiPaths.getApiPath(_0x3cf43e,_0x5ea1fc,_0x3bc386);return baseApi.apiBaseGet(_0x35d5c5,getApiHeaders(_0x14b08e));}__name(apiGet,'apiGet');async function apiGetBlob(_0x656c8e,_0x401fb6,_0x380f0b,_0x1e78ec){const _0x5695cd=apiPaths.getApiPath(_0x656c8e,_0x401fb6,_0x380f0b);return baseApi.apiBaseGetBlob(_0x5695cd,getApiHeaders(_0x1e78ec,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x5c9731,_0x54530f,_0x1592fd){const _0x4ab9aa=odatas.getODataParams(_0x54530f);return apiGet(_0x5c9731,_0x1592fd,_0x4ab9aa);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x44eb3e,_0x285aa0,_0x2945a3){const _0x136192=apiPaths.getApiPath(_0x44eb3e);return baseApi.postBaseApi(_0x136192,_0x285aa0,getApiHeaders(_0x2945a3));}__name(apiPost,'apiPost');async function apiPostFile(_0x350736,_0x42f0e6,_0x279a5c){const _0x42d1a1=apiPaths.getApiPath(_0x350736),_0x4b6202=await fetch(_0x42d1a1,{'method':httpConstants.httpMethods['post'],'body':_0x42f0e6,'headers':getApiHeaders(_0x279a5c,!![])});return baseApi.baseApiHandleResponse(_0x4b6202);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x470533,_0x53c3f7,_0xa42aa4){const _0x4a4a60=apiPaths.getApiPath(_0x470533);return baseApi.putBaseApi(_0x4a4a60,_0x53c3f7,getApiHeaders(_0xa42aa4));}__name(apiPut,'apiPut');async function apiDelete(_0x5336ee,_0x102045,_0x5c8303){const _0x3e4bb8=apiPaths.getApiPath(_0x5336ee,_0x102045);return baseApi.deleteBaseApi(_0x3e4bb8,getApiHeaders(_0x5c8303));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x317396,_0x5a7110=![]){const _0xd8d27d=_0x317396??new Headers(),_0x1284b0=tokens.getAuthToken();return (!_0xd8d27d['get'](headerNames.headerNames['authHeaderName'])||_0xd8d27d['get'](headerNames.headerNames['authHeaderName'])==='')&&_0x1284b0&&_0xd8d27d['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0x1284b0),!_0x5a7110&&!_0xd8d27d['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0xd8d27d['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0xd8d27d;}__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=(
|
|
9
|
+
var __defProp=Object['defineProperty'],__name=(_0x4a4081,_0x350163)=>__defProp(_0x4a4081,'name',{'value':_0x350163,'configurable':!![]});async function apiGet(_0x3cf43e,_0x5ea1fc,_0x3bc386,_0x14b08e){const _0x35d5c5=getApiPath(_0x3cf43e,_0x5ea1fc,_0x3bc386);return apiBaseGet(_0x35d5c5,getApiHeaders(_0x14b08e));}__name(apiGet,'apiGet');async function apiGetBlob(_0x656c8e,_0x401fb6,_0x380f0b,_0x1e78ec){const _0x5695cd=getApiPath(_0x656c8e,_0x401fb6,_0x380f0b);return apiBaseGetBlob(_0x5695cd,getApiHeaders(_0x1e78ec,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x5c9731,_0x54530f,_0x1592fd){const _0x4ab9aa=getODataParams(_0x54530f);return apiGet(_0x5c9731,_0x1592fd,_0x4ab9aa);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x44eb3e,_0x285aa0,_0x2945a3){const _0x136192=getApiPath(_0x44eb3e);return postBaseApi(_0x136192,_0x285aa0,getApiHeaders(_0x2945a3));}__name(apiPost,'apiPost');async function apiPostFile(_0x350736,_0x42f0e6,_0x279a5c){const _0x42d1a1=getApiPath(_0x350736),_0x4b6202=await fetch(_0x42d1a1,{'method':httpMethods['post'],'body':_0x42f0e6,'headers':getApiHeaders(_0x279a5c,!![])});return baseApiHandleResponse(_0x4b6202);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x470533,_0x53c3f7,_0xa42aa4){const _0x4a4a60=getApiPath(_0x470533);return putBaseApi(_0x4a4a60,_0x53c3f7,getApiHeaders(_0xa42aa4));}__name(apiPut,'apiPut');async function apiDelete(_0x5336ee,_0x102045,_0x5c8303){const _0x3e4bb8=getApiPath(_0x5336ee,_0x102045);return deleteBaseApi(_0x3e4bb8,getApiHeaders(_0x5c8303));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x317396,_0x5a7110=![]){const _0xd8d27d=_0x317396??new Headers(),_0x1284b0=getAuthToken();return (!_0xd8d27d['get'](headerNames['authHeaderName'])||_0xd8d27d['get'](headerNames['authHeaderName'])==='')&&_0x1284b0&&_0xd8d27d['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0x1284b0),!_0x5a7110&&!_0xd8d27d['get'](httpContentTypes['contentTypeHeaderName'])&&_0xd8d27d['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0xd8d27d;}__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
|
|
5
|
+
var _0x27ff26 = 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':
|
|
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':_0x27ff26.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':_0x27ff26.join(payment,'verify-fail'),'paymentVerifySuccess':_0x27ff26.join(payment,'verify-success'),'paymentMethod':_0x27ff26.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x27ff26.join(subscription,'cancel'),'updateSubscription':_0x27ff26.join(subscription,'update'),'createSubscription':_0x27ff26.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;
|