web-ggf 1.0.6 → 1.0.7

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.
@@ -0,0 +1,55 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+
4
+ function findOrInitialsFile(pathWithNameExtension) {
5
+ if (isExist(pathWithNameExtension)) {
6
+ console.warn(`❎ ${pathWithNameExtension} is existing`);
7
+ return path.join(process.cwd(), pathWithNameExtension);
8
+ }
9
+ for (const pathName of pathWithNameExtension.split('/').reduce((acc, cur, idx) => {
10
+ if (idx === 0)
11
+ return [cur];
12
+ return [...acc, `${acc.slice(-1)[0]}/${cur}`];
13
+ }, [])) {
14
+ if (pathName.includes('.'))
15
+ continue;
16
+ if (!isExist(pathName)) {
17
+ console.warn(`${pathName} is not exist`);
18
+ mkdirSync(pathName);
19
+ }
20
+ else
21
+ console.warn(`${pathName} is exist`);
22
+ }
23
+ return path.join(process.cwd(), pathWithNameExtension);
24
+ }
25
+ function deleteFile(filePath) {
26
+ if (isExist(filePath)) {
27
+ fs.unlinkSync(getFilePath(filePath));
28
+ console.warn(`${filePath} is removed`);
29
+ }
30
+ }
31
+ function getFilePath(name) {
32
+ return path.join(process.cwd(), name);
33
+ }
34
+ function isExist(name) {
35
+ return fs.existsSync(getFilePath(name));
36
+ }
37
+ function mkdirSync(name) {
38
+ fs.mkdirSync(getFilePath(name), { recursive: true });
39
+ return console.warn(`🆗 ${name} directory created`);
40
+ }
41
+ function readUtf8File(filePath) {
42
+ return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
43
+ }
44
+ function writeFileSyncWithLog({ targetPath, content, fileName, option }) {
45
+ try {
46
+ fs.writeFileSync(targetPath, content, option);
47
+ console.warn(`🆗 -> ${fileName} successfully ${fs.existsSync(targetPath) ? 'updated' : 'created'}`);
48
+ }
49
+ catch (err) {
50
+ console.error('❌ Error creating file:', err);
51
+ }
52
+ }
53
+
54
+ export { deleteFile as d, findOrInitialsFile as f, getFilePath as g, readUtf8File as r, writeFileSyncWithLog as w };
55
+ //# sourceMappingURL=file-helper-D3QczOlm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-helper-D3QczOlm.mjs","sources":["../../src/bin/src/bin/nextjs15/helper/file-helper.ts"],"sourcesContent":["import type { WriteFileOptions } from 'fs';\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nexport function findOrInitialsFile(pathWithNameExtension: string): string {\n if (isExist(pathWithNameExtension)) {\n console.warn(`❎ ${pathWithNameExtension} is existing`);\n return path.join(process.cwd(), pathWithNameExtension);\n }\n for (const pathName of pathWithNameExtension.split('/').reduce((acc: string[], cur, idx) => {\n if (idx === 0) return [cur];\n return [...acc, `${acc.slice(-1)[0]}/${cur}`];\n }, [])) {\n if (pathName.includes('.')) continue;\n if (!isExist(pathName)) {\n console.warn(`${pathName} is not exist`);\n mkdirSync(pathName);\n } else console.warn(`${pathName} is exist`);\n }\n return path.join(process.cwd(), pathWithNameExtension);\n}\n\nexport function deleteFile(filePath: string): void {\n if (isExist(filePath)) {\n fs.unlinkSync(getFilePath(filePath));\n console.warn(`${filePath} is removed`);\n }\n}\n\nexport function getFilePath(name: string) {\n return path.join(process.cwd(), name);\n}\n\nexport function isExist(name: string) {\n return fs.existsSync(getFilePath(name));\n}\nexport function mkdirSync(name: string) {\n fs.mkdirSync(getFilePath(name), { recursive: true });\n return console.warn(`🆗 ${name} directory created`);\n}\n\nexport function readUtf8File(filePath: string): Record<\n string,\n any // eslint-disable-line @typescript-eslint/no-explicit-any\n> {\n return JSON.parse(fs.readFileSync(filePath, 'utf-8'));\n}\n\nexport function writeFileSyncWithLog({ targetPath, content, fileName, option }: WriteFileSyncWithLogProps) {\n try {\n fs.writeFileSync(targetPath, content, option);\n console.warn(`🆗 -> ${fileName} successfully ${fs.existsSync(targetPath) ? 'updated' : 'created'}`);\n } catch (err) {\n console.error('❌ Error creating file:', err);\n }\n}\n\nexport interface WriteFileSyncWithLogProps {\n targetPath: string;\n content: string;\n fileName: string;\n option?: WriteFileOptions;\n}\n"],"names":[],"mappings":";;;AAIM,SAAU,kBAAkB,CAAC,qBAA6B,EAAA;AAC9D,IAAA,IAAI,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAA,YAAA,CAAc,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC;IACxD;AACA,IAAA,KAAK,MAAM,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,GAAG,EAAE,GAAG,KAAI;QACzF,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC;AAC3B,QAAA,OAAO,CAAC,GAAG,GAAG,EAAE,CAAA,EAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA,CAAE,CAAC;AAC/C,IAAA,CAAC,EAAE,EAAE,CAAC,EAAE;AACN,QAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACtB,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA,aAAA,CAAe,CAAC;YACxC,SAAS,CAAC,QAAQ,CAAC;QACrB;;AAAO,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA,SAAA,CAAW,CAAC;IAC7C;IACA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC;AACxD;AAEM,SAAU,UAAU,CAAC,QAAgB,EAAA;AACzC,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QACrB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpC,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA,WAAA,CAAa,CAAC;IACxC;AACF;AAEM,SAAU,WAAW,CAAC,IAAY,EAAA;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;AACvC;AAEM,SAAU,OAAO,CAAC,IAAY,EAAA;IAClC,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACzC;AACM,SAAU,SAAS,CAAC,IAAY,EAAA;AACpC,IAAA,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAA,kBAAA,CAAoB,CAAC;AACrD;AAEM,SAAU,YAAY,CAAC,QAAgB,EAAA;AAI3C,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvD;AAEM,SAAU,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA6B,EAAA;AACvG,IAAA,IAAI;QACF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,cAAA,EAAiB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,SAAS,CAAA,CAAE,CAAC;IACrG;IAAE,OAAO,GAAG,EAAE;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC;IAC9C;AACF;;;;"}
@@ -0,0 +1,120 @@
1
+ import { f as findOrInitialsFile, w as writeFileSyncWithLog, d as deleteFile } from './file-helper-D3QczOlm.mjs';
2
+ import 'fs';
3
+ import 'path';
4
+
5
+ const fileName$5 = `page.tsx`;
6
+ const targetPath$5 = findOrInitialsFile(`src/app/[locale]/auth/${fileName$5}`);
7
+ const content$5 = `export default function AuthPage() {
8
+ return <div>AuthPage</div>;
9
+ }
10
+ `;
11
+ writeFileSyncWithLog({ targetPath: targetPath$5, content: content$5, fileName: fileName$5 });
12
+
13
+ const fileName$4 = `globals.css`;
14
+ const targetPath$4 = findOrInitialsFile(`src/app/[locale]/${fileName$4}`);
15
+ const content$4 = `@import "tailwindcss";
16
+ @import "../../configs/THEME_CONFIG/index.css";
17
+ `;
18
+ writeFileSyncWithLog({ targetPath: targetPath$4, content: content$4, fileName: fileName$4 });
19
+
20
+ const fileName$3 = `page.tsx`;
21
+ const targetPath$3 = findOrInitialsFile(`src/app/[locale]/${fileName$3}`);
22
+ const content$3 = `import { t } from '@lingui/core/macro';
23
+
24
+ import { initLingui, PageLangParam } from '@/locales/init-lingui';
25
+
26
+ export default async function Page({ params }: PageLangParam) {
27
+ const { locale } = await params;
28
+ initLingui(locale);
29
+
30
+ return (
31
+ <div>
32
+ <p>{t\`Hello world\`}</p>
33
+ </div>
34
+ );
35
+ }
36
+ `;
37
+ writeFileSyncWithLog({ targetPath: targetPath$3, content: content$3, fileName: fileName$3 });
38
+
39
+ const fileName$2 = `layout.tsx`;
40
+ const targetPath$2 = findOrInitialsFile(`src/app/[locale]/${fileName$2}`);
41
+ const content$2 = `import { ReactNode } from 'react';
42
+
43
+ import { i18n as Lingui18n } from '@lingui/core';
44
+ import type { Metadata } from 'next';
45
+
46
+ import './globals.css';
47
+
48
+ import { allMessages } from '@/locales/lingui-server-instance';
49
+ import { ApolloProvider } from '@/utils/apollo-provider';
50
+ import { LinguiClientProvider } from '@/utils/linqui-client-provider';
51
+
52
+ export default async function RootLayout({ children, params }: Readonly<{ children: ReactNode; params: Promise<{ locale: string }> }>) {
53
+ const { locale } = await params;
54
+ Lingui18n.loadAndActivate({ locale, messages: allMessages[locale] });
55
+
56
+ return (
57
+ <html lang={locale}>
58
+ <body>
59
+ <LinguiClientProvider initialLocale={locale} initialMessages={allMessages[locale]!}>
60
+ <ApolloProvider>
61
+ <>{children}</>
62
+ </ApolloProvider>
63
+ </LinguiClientProvider>
64
+ </body>
65
+ </html>
66
+ );
67
+ }
68
+
69
+ export const metadata: Metadata = {
70
+ title: 'Test title',
71
+ description: 'Test description',
72
+ };
73
+ `;
74
+ writeFileSyncWithLog({ targetPath: targetPath$2, content: content$2, fileName: fileName$2 });
75
+
76
+ const fileName$1 = `middleware.ts`;
77
+ const targetPath$1 = findOrInitialsFile(`src/${fileName$1}`);
78
+ const content$1 = `import { NextRequest } from 'next/server';
79
+
80
+ import { middlewareConfig } from '@/configs/MIDDLEWARE_CONFIG';
81
+
82
+ export async function middleware(request: NextRequest) {
83
+ return middlewareConfig.generateResponse(request as never);
84
+ }
85
+
86
+ export const config = {
87
+ matcher: '/((?!api|_next/data|_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)',
88
+ };
89
+ `;
90
+ writeFileSyncWithLog({ targetPath: targetPath$1, content: content$1, fileName: fileName$1 });
91
+
92
+ const fileName = `next.config.ts`;
93
+ const targetPath = findOrInitialsFile(fileName);
94
+ const content = `import type { NextConfig } from 'next';
95
+
96
+ const nextConfig: NextConfig = {
97
+ experimental: {
98
+ swcPlugins: [['@lingui/swc-plugin', {}]],
99
+ },
100
+ webpack: (config) => {
101
+ config.module.rules.push({
102
+ test: /\\.po$/,
103
+ use: {
104
+ loader: '@lingui/loader',
105
+ },
106
+ });
107
+
108
+ return config;
109
+ },
110
+ };
111
+
112
+ export default nextConfig;
113
+ `;
114
+ writeFileSyncWithLog({ targetPath, content, fileName });
115
+
116
+ deleteFile('src/app/page.tsx');
117
+ deleteFile('src/app/layout.tsx');
118
+ deleteFile('src/app/favicon.ico');
119
+ deleteFile('src/app/globals.css');
120
+ //# sourceMappingURL=index-BDhnAS_n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BDhnAS_n.mjs","sources":["../../src/bin/src/bin/nextjs15/adjust-files/auth-page.ts","../../src/bin/src/bin/nextjs15/adjust-files/globalcss.ts","../../src/bin/src/bin/nextjs15/adjust-files/home-page.ts","../../src/bin/src/bin/nextjs15/adjust-files/layout.ts","../../src/bin/src/bin/nextjs15/adjust-files/middleware.ts","../../src/bin/src/bin/nextjs15/adjust-files/next-config.ts","../../src/bin/src/bin/nextjs15/adjust-files/unwanted.ts"],"sourcesContent":["import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `page.tsx`;\nconst targetPath = findOrInitialsFile(`src/app/[locale]/auth/${fileName}`);\nconst content = `export default function AuthPage() {\n return <div>AuthPage</div>;\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `globals.css`;\nconst targetPath = findOrInitialsFile(`src/app/[locale]/${fileName}`);\nconst content = `@import \"tailwindcss\";\n@import \"../../configs/THEME_CONFIG/index.css\";\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `page.tsx`;\nconst targetPath = findOrInitialsFile(`src/app/[locale]/${fileName}`);\nconst content = `import { t } from '@lingui/core/macro';\n\nimport { initLingui, PageLangParam } from '@/locales/init-lingui';\n\nexport default async function Page({ params }: PageLangParam) {\n const { locale } = await params;\n initLingui(locale);\n\n return (\n <div>\n <p>{t\\`Hello world\\`}</p>\n </div>\n );\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `layout.tsx`;\nconst targetPath = findOrInitialsFile(`src/app/[locale]/${fileName}`);\nconst content = `import { ReactNode } from 'react';\n\nimport { i18n as Lingui18n } from '@lingui/core';\nimport type { Metadata } from 'next';\n\nimport './globals.css';\n\nimport { allMessages } from '@/locales/lingui-server-instance';\nimport { ApolloProvider } from '@/utils/apollo-provider';\nimport { LinguiClientProvider } from '@/utils/linqui-client-provider';\n\nexport default async function RootLayout({ children, params }: Readonly<{ children: ReactNode; params: Promise<{ locale: string }> }>) {\n const { locale } = await params;\n Lingui18n.loadAndActivate({ locale, messages: allMessages[locale] });\n\n return (\n <html lang={locale}>\n <body>\n <LinguiClientProvider initialLocale={locale} initialMessages={allMessages[locale]!}>\n <ApolloProvider>\n <>{children}</>\n </ApolloProvider>\n </LinguiClientProvider>\n </body>\n </html>\n );\n}\n\nexport const metadata: Metadata = {\n title: 'Test title',\n description: 'Test description',\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `middleware.ts`;\nconst targetPath = findOrInitialsFile(`src/${fileName}`);\nconst content = `import { NextRequest } from 'next/server';\n\nimport { middlewareConfig } from '@/configs/MIDDLEWARE_CONFIG';\n\nexport async function middleware(request: NextRequest) {\n return middlewareConfig.generateResponse(request as never);\n}\n\nexport const config = {\n matcher: '/((?!api|_next/data|_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)',\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `next.config.ts`;\nconst targetPath = findOrInitialsFile(fileName);\nconst content = `import type { NextConfig } from 'next';\n\nconst nextConfig: NextConfig = {\n experimental: {\n swcPlugins: [['@lingui/swc-plugin', {}]],\n },\n webpack: (config) => {\n config.module.rules.push({\n test: /\\\\.po$/,\n use: {\n loader: '@lingui/loader',\n },\n });\n\n return config;\n },\n};\n\nexport default nextConfig;\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { deleteFile } from '../helper/file-helper';\n\ndeleteFile('src/app/page.tsx');\ndeleteFile('src/app/layout.tsx');\ndeleteFile('src/app/favicon.ico');\ndeleteFile('src/app/globals.css');\n"],"names":["fileName","targetPath","content"],"mappings":";;;;AAEA,MAAMA,UAAQ,GAAG,CAAA,QAAA,CAAU;AAC3B,MAAMC,YAAU,GAAG,kBAAkB,CAAC,yBAAyBD,UAAQ,CAAA,CAAE,CAAC;AAC1E,MAAME,SAAO,GAAG,CAAA;;;CAGf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACPvD,MAAMA,UAAQ,GAAG,CAAA,WAAA,CAAa;AAC9B,MAAMC,YAAU,GAAG,kBAAkB,CAAC,oBAAoBD,UAAQ,CAAA,CAAE,CAAC;AACrE,MAAME,SAAO,GAAG,CAAA;;CAEf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACNvD,MAAMA,UAAQ,GAAG,CAAA,QAAA,CAAU;AAC3B,MAAMC,YAAU,GAAG,kBAAkB,CAAC,oBAAoBD,UAAQ,CAAA,CAAE,CAAC;AACrE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;CAcf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;AClBvD,MAAMA,UAAQ,GAAG,CAAA,UAAA,CAAY;AAC7B,MAAMC,YAAU,GAAG,kBAAkB,CAAC,oBAAoBD,UAAQ,CAAA,CAAE,CAAC;AACrE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACpCvD,MAAMA,UAAQ,GAAG,CAAA,aAAA,CAAe;AAChC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,OAAOD,UAAQ,CAAA,CAAE,CAAC;AACxD,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;CAWf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACfvD,MAAM,QAAQ,GAAG,CAAA,cAAA,CAAgB;AACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC;AAC/C,MAAM,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmBf;AAED,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;ACvBvD,UAAU,CAAC,kBAAkB,CAAC;AAC9B,UAAU,CAAC,oBAAoB,CAAC;AAChC,UAAU,CAAC,qBAAqB,CAAC;AACjC,UAAU,CAAC,qBAAqB,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { n as npmInstall } from './npm-install-7LYQx09p.mjs';
2
+ import { f as findOrInitialsFile, w as writeFileSyncWithLog, g as getFilePath, r as readUtf8File } from './file-helper-D3QczOlm.mjs';
3
+ import 'child_process';
4
+ import 'fs';
5
+ import 'path';
6
+
7
+ npmInstall([
8
+ { name: '@lingui/cli', version: 'latest', dev: true },
9
+ { name: '@lingui/swc-plugin', version: '5.7.0', dev: true },
10
+ { name: '@lingui/loader', version: 'latest', dev: true },
11
+ { name: '@lingui/react', version: 'latest' },
12
+ { name: '@lingui/core', version: 'latest' },
13
+ ]);
14
+
15
+ const fileName$4 = `init-lingui.ts`;
16
+ const targetPath$4 = findOrInitialsFile(`src/locales/${fileName$4}`);
17
+ const content$4 = `import { setI18n } from '@lingui/react/server';
18
+
19
+ import { getI18nInstance } from './lingui-server-instance';
20
+
21
+ export type PageLangParam = {
22
+ params: Promise<{ locale: string }>;
23
+ };
24
+
25
+ export function initLingui(lang: string) {
26
+ const i18n = getI18nInstance(lang);
27
+ setI18n(i18n);
28
+ return i18n;
29
+ }
30
+ `;
31
+ writeFileSyncWithLog({ targetPath: targetPath$4, content: content$4, fileName: fileName$4 });
32
+
33
+ const fileName$3 = `linqui-client-provider.tsx`;
34
+ const targetPath$3 = findOrInitialsFile(`src/utils/${fileName$3}`);
35
+ const content$3 = `'use client';
36
+
37
+ import { type ReactNode, useState } from 'react';
38
+
39
+ import { type Messages, setupI18n } from '@lingui/core';
40
+ import { I18nProvider } from '@lingui/react';
41
+
42
+ export function LinguiClientProvider({
43
+ children,
44
+ initialLocale,
45
+ initialMessages,
46
+ }: {
47
+ children: ReactNode;
48
+ initialLocale: string;
49
+ initialMessages: Messages;
50
+ }) {
51
+ const [i18n] = useState(() =>
52
+ setupI18n({
53
+ locale: initialLocale,
54
+ messages: { [initialLocale]: initialMessages },
55
+ }),
56
+ );
57
+
58
+ return <I18nProvider i18n={i18n}>{children}</I18nProvider>;
59
+ }
60
+ `;
61
+ writeFileSyncWithLog({ targetPath: targetPath$3, content: content$3, fileName: fileName$3 });
62
+
63
+ const fileName$2 = `lingui.config.js`;
64
+ const targetPath$2 = findOrInitialsFile(fileName$2);
65
+ const content$2 = `/** @type {import('@lingui/conf').LinguiConfig} */
66
+ module.exports = {
67
+ locales: ['en', 'mn'],
68
+ sourceLocale: 'en',
69
+ fallbackLocales: { default: 'en' },
70
+ catalogs: [
71
+ {
72
+ path: 'src/locales/{locale}',
73
+ include: ['src/'],
74
+ },
75
+ ],
76
+ format: 'po',
77
+ orderBy: 'message',
78
+ compileNamespace: 'ts',
79
+ };
80
+ `;
81
+ writeFileSyncWithLog({ targetPath: targetPath$2, content: content$2, fileName: fileName$2 });
82
+
83
+ const fileName$1 = `lingui-server-instance.ts`;
84
+ const targetPath$1 = findOrInitialsFile(`src/locales/${fileName$1}`);
85
+ const content$1 = `import 'server-only';
86
+
87
+ import { I18n, Messages, setupI18n } from '@lingui/core';
88
+
89
+ import linguiConfig from '../../lingui.config';
90
+
91
+ const { locales } = linguiConfig;
92
+ // optionally use a stricter union type
93
+ type SupportedLocales = string;
94
+
95
+ async function loadCatalog(locale: SupportedLocales): Promise<{
96
+ [k: string]: Messages;
97
+ }> {
98
+ const { messages } = await import(\`./\${locale}.po\`);
99
+ return {
100
+ [locale]: messages,
101
+ };
102
+ }
103
+ const catalogs = await Promise.all(locales.map(loadCatalog));
104
+
105
+ // transform array of catalogs into a single object
106
+ export const allMessages = catalogs.reduce((acc, oneCatalog) => ({ ...acc, ...oneCatalog }), {});
107
+
108
+ type AllI18nInstances = { [K in SupportedLocales]: I18n };
109
+
110
+ export const allI18nInstances: AllI18nInstances = locales.reduce((acc, locale) => {
111
+ const messages = allMessages[locale] ?? {};
112
+ const i18n = setupI18n({
113
+ locale,
114
+ messages: { [locale]: messages },
115
+ });
116
+ return { ...acc, [locale]: i18n };
117
+ }, {});
118
+
119
+ export const getI18nInstance = (locale: SupportedLocales): I18n => {
120
+ if (!allI18nInstances[locale]) {
121
+ console.warn(\`No i18n instance found for locale "\${locale}"\`);
122
+ }
123
+ return allI18nInstances[locale] || allI18nInstances['en']!;
124
+ };
125
+ `;
126
+ writeFileSyncWithLog({ targetPath: targetPath$1, content: content$1, fileName: fileName$1 });
127
+
128
+ const fileName = `package.json`;
129
+ const targetPath = getFilePath(fileName);
130
+ const content = readUtf8File(targetPath);
131
+ content.scripts['lingui:extract:clean'] = `lingui extract --clean`;
132
+ content.scripts['lingui:compile:typescript'] = `lingui compile --typescript`;
133
+ writeFileSyncWithLog({ targetPath, content: JSON.stringify(content, null, 2), fileName, option: 'utf-8' });
134
+ //# sourceMappingURL=index-BajZ1Zw6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BajZ1Zw6.mjs","sources":["../../src/bin/src/bin/nextjs15/lingui/dependencies.ts","../../src/bin/src/bin/nextjs15/lingui/init-lingui.ts","../../src/bin/src/bin/nextjs15/lingui/lingui-client-provider.ts","../../src/bin/src/bin/nextjs15/lingui/lingui-config-js.ts","../../src/bin/src/bin/nextjs15/lingui/lingui-server-instance.ts","../../src/bin/src/bin/nextjs15/lingui/packagejson.ts"],"sourcesContent":["import { npmInstall } from '../helper/npm-install';\n\nnpmInstall([\n { name: '@lingui/cli', version: 'latest', dev: true },\n { name: '@lingui/swc-plugin', version: '5.7.0', dev: true },\n { name: '@lingui/loader', version: 'latest', dev: true },\n { name: '@lingui/react', version: 'latest' },\n { name: '@lingui/core', version: 'latest' },\n]);\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `init-lingui.ts`;\nconst targetPath = findOrInitialsFile(`src/locales/${fileName}`);\nconst content = `import { setI18n } from '@lingui/react/server';\n\nimport { getI18nInstance } from './lingui-server-instance';\n\nexport type PageLangParam = {\n params: Promise<{ locale: string }>;\n};\n\nexport function initLingui(lang: string) {\n const i18n = getI18nInstance(lang);\n setI18n(i18n);\n return i18n;\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `linqui-client-provider.tsx`;\nconst targetPath = findOrInitialsFile(`src/utils/${fileName}`);\nconst content = `'use client';\n\nimport { type ReactNode, useState } from 'react';\n\nimport { type Messages, setupI18n } from '@lingui/core';\nimport { I18nProvider } from '@lingui/react';\n\nexport function LinguiClientProvider({\n children,\n initialLocale,\n initialMessages,\n}: {\n children: ReactNode;\n initialLocale: string;\n initialMessages: Messages;\n}) {\n const [i18n] = useState(() =>\n setupI18n({\n locale: initialLocale,\n messages: { [initialLocale]: initialMessages },\n }),\n );\n\n return <I18nProvider i18n={i18n}>{children}</I18nProvider>;\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `lingui.config.js`;\nconst targetPath = findOrInitialsFile(fileName);\nconst content = `/** @type {import('@lingui/conf').LinguiConfig} */\nmodule.exports = {\n locales: ['en', 'mn'],\n sourceLocale: 'en',\n fallbackLocales: { default: 'en' },\n catalogs: [\n {\n path: 'src/locales/{locale}',\n include: ['src/'],\n },\n ],\n format: 'po',\n orderBy: 'message',\n compileNamespace: 'ts',\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `lingui-server-instance.ts`;\nconst targetPath = findOrInitialsFile(`src/locales/${fileName}`);\nconst content = `import 'server-only';\n\nimport { I18n, Messages, setupI18n } from '@lingui/core';\n\nimport linguiConfig from '../../lingui.config';\n\nconst { locales } = linguiConfig;\n// optionally use a stricter union type\ntype SupportedLocales = string;\n\nasync function loadCatalog(locale: SupportedLocales): Promise<{\n [k: string]: Messages;\n}> {\n const { messages } = await import(\\`./\\${locale}.po\\`);\n return {\n [locale]: messages,\n };\n}\nconst catalogs = await Promise.all(locales.map(loadCatalog));\n\n// transform array of catalogs into a single object\nexport const allMessages = catalogs.reduce((acc, oneCatalog) => ({ ...acc, ...oneCatalog }), {});\n\ntype AllI18nInstances = { [K in SupportedLocales]: I18n };\n\nexport const allI18nInstances: AllI18nInstances = locales.reduce((acc, locale) => {\n const messages = allMessages[locale] ?? {};\n const i18n = setupI18n({\n locale,\n messages: { [locale]: messages },\n });\n return { ...acc, [locale]: i18n };\n}, {});\n\nexport const getI18nInstance = (locale: SupportedLocales): I18n => {\n if (!allI18nInstances[locale]) {\n console.warn(\\`No i18n instance found for locale \"\\${locale}\"\\`);\n }\n return allI18nInstances[locale] || allI18nInstances['en']!;\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { getFilePath, readUtf8File, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `package.json`;\nconst targetPath = getFilePath(fileName);\nconst content = readUtf8File(targetPath);\n\ncontent.scripts['lingui:extract:clean'] = `lingui extract --clean`;\ncontent.scripts['lingui:compile:typescript'] = `lingui compile --typescript`;\n\nwriteFileSyncWithLog({ targetPath, content: JSON.stringify(content, null, 2), fileName, option: 'utf-8' });\n"],"names":["fileName","targetPath","content"],"mappings":";;;;;;AAEA,UAAU,CAAC;IACT,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;IACrD,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;AACxD,IAAA,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,CAAA,CAAC;;ACNF,MAAMA,UAAQ,GAAG,CAAA,cAAA,CAAgB;AACjC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;CAaf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACjBvD,MAAMA,UAAQ,GAAG,CAAA,0BAAA,CAA4B;AAC7C,MAAMC,YAAU,GAAG,kBAAkB,CAAC,aAAaD,UAAQ,CAAA,CAAE,CAAC;AAC9D,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;AC7BvD,MAAMA,UAAQ,GAAG,CAAA,gBAAA,CAAkB;AACnC,MAAMC,YAAU,GAAG,kBAAkB,CAACD,UAAQ,CAAC;AAC/C,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;;CAef;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACnBvD,MAAMA,UAAQ,GAAG,CAAA,yBAAA,CAA2B;AAC5C,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;AC5CvD,MAAM,QAAQ,GAAG,CAAA,YAAA,CAAc;AAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC;AACxC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC;AAExC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,wBAAwB;AAClE,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,GAAG,6BAA6B;AAE5E,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { f as findOrInitialsFile, w as writeFileSyncWithLog } from './file-helper-D3QczOlm.mjs';
2
+ import { n as npmInstall } from './npm-install-7LYQx09p.mjs';
3
+ import 'fs';
4
+ import 'path';
5
+ import 'child_process';
6
+
7
+ const fileName = `apollo-provider.tsx`;
8
+ const targetPath = findOrInitialsFile(`src/utils/${fileName}`);
9
+ const content = `'use client';
10
+
11
+ import { ReactNode } from 'react';
12
+
13
+ import cookies from 'js-cookie';
14
+ import { ApolloWrapper, GenerateMakeClient } from 'web-ggf/apollo-nextjs-wrapper';
15
+
16
+ import { HOST_CONFIG } from '@/configs/HOST_CONFIG';
17
+ import { STORE_KEY_CONFIG } from '@/configs/STORE_KEY_CONFIG';
18
+
19
+ export function ApolloProvider({ children }: { children: ReactNode }) {
20
+ return (
21
+ <ApolloWrapper
22
+ makeClient={() =>
23
+ new GenerateMakeClient({
24
+ host: HOST_CONFIG.host,
25
+ getToken: () => {
26
+ const user = cookies.get(STORE_KEY_CONFIG.USER_TOKEN);
27
+ const client = cookies.get(STORE_KEY_CONFIG.CLIENT_TOKEN);
28
+ return user || client || '-';
29
+ },
30
+ })
31
+ }
32
+ >
33
+ <>{children}</>
34
+ </ApolloWrapper>
35
+ );
36
+ }
37
+ `;
38
+ writeFileSyncWithLog({ targetPath, content, fileName });
39
+
40
+ npmInstall([
41
+ { name: '@apollo/client', version: '^4.1.6' },
42
+ { name: '@apollo/client-integration-nextjs', version: '^0.14.4' },
43
+ { name: 'rxjs', version: '^7.8.2' },
44
+ { name: 'graphql', version: '^16.13.1' },
45
+ { name: 'apollo-upload-client', version: '^19.0.0' },
46
+ { name: '@types/apollo-upload-client', version: '^19.0.0', dev: true },
47
+ ]);
48
+ //# sourceMappingURL=index-CjXJh1ls.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CjXJh1ls.mjs","sources":["../../src/bin/src/bin/nextjs15/graphql/apollo-provider.ts","../../src/bin/src/bin/nextjs15/graphql/dependencies.ts"],"sourcesContent":["import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `apollo-provider.tsx`;\nconst targetPath = findOrInitialsFile(`src/utils/${fileName}`);\n\nconst content = `'use client';\n\nimport { ReactNode } from 'react';\n\nimport cookies from 'js-cookie';\nimport { ApolloWrapper, GenerateMakeClient } from 'web-ggf/apollo-nextjs-wrapper';\n\nimport { HOST_CONFIG } from '@/configs/HOST_CONFIG';\nimport { STORE_KEY_CONFIG } from '@/configs/STORE_KEY_CONFIG';\n\nexport function ApolloProvider({ children }: { children: ReactNode }) {\n return (\n <ApolloWrapper\n makeClient={() =>\n new GenerateMakeClient({\n host: HOST_CONFIG.host,\n getToken: () => {\n const user = cookies.get(STORE_KEY_CONFIG.USER_TOKEN);\n const client = cookies.get(STORE_KEY_CONFIG.CLIENT_TOKEN);\n return user || client || '-';\n },\n })\n }\n >\n <>{children}</>\n </ApolloWrapper>\n );\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { npmInstall } from '../helper/npm-install';\n\nnpmInstall([\n { name: '@apollo/client', version: '^4.1.6' },\n { name: '@apollo/client-integration-nextjs', version: '^0.14.4' },\n { name: 'rxjs', version: '^7.8.2' },\n { name: 'graphql', version: '^16.13.1' },\n { name: 'apollo-upload-client', version: '^19.0.0' },\n { name: '@types/apollo-upload-client', version: '^19.0.0', dev: true },\n]);\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,QAAQ,GAAG,CAAA,mBAAA,CAAqB;AACtC,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,QAAQ,CAAA,CAAE,CAAC;AAE9D,MAAM,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bf;AAED,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;ACjCvD,UAAU,CAAC;AACT,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,SAAS,EAAE;AACjE,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;AACxC,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAE;IACpD,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE;AACvE,CAAA,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { n as npmInstall } from './npm-install-7LYQx09p.mjs';
2
+ import 'child_process';
3
+
4
+ npmInstall([
5
+ { name: 'web-ggf', version: 'latest' },
6
+ { name: 'js-cookie', version: '^3.0.5' },
7
+ { name: 'daisyui', version: 'latest', dev: true },
8
+ { name: '@types/js-cookie', version: '^3.0.6', dev: true },
9
+ ]);
10
+ //# sourceMappingURL=index-DgSqZr5v.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DgSqZr5v.mjs","sources":["../../src/bin/src/bin/nextjs15/base-dependencies/index.ts"],"sourcesContent":["import { npmInstall } from '../helper/npm-install';\n\nnpmInstall([\n { name: 'web-ggf', version: 'latest' },\n { name: 'js-cookie', version: '^3.0.5' },\n { name: 'daisyui', version: 'latest', dev: true },\n { name: '@types/js-cookie', version: '^3.0.6', dev: true },\n]);\n"],"names":[],"mappings":";;;AAEA,UAAU,CAAC;AACT,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;AACtC,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;IACjD,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;AAC3D,CAAA,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { f as findOrInitialsFile, w as writeFileSyncWithLog } from './file-helper-D3QczOlm.mjs';
2
+ import 'fs';
3
+ import 'path';
4
+
5
+ const fileName$7 = `APP_CONFIG.d.ts`;
6
+ const targetPath$7 = findOrInitialsFile(`src/configs/${fileName$7}`);
7
+ const content$7 = `export interface AppConfigProps {
8
+ appIndex: string;
9
+ tokens: {
10
+ uid: string;
11
+ secret: string;
12
+ };
13
+ map: {
14
+ googleMapApiKey: string;
15
+ defaultCenter: { lat: number; lng: number };
16
+ defaultZoom: number;
17
+ };
18
+ }
19
+ `;
20
+ writeFileSyncWithLog({ targetPath: targetPath$7, content: content$7, fileName: fileName$7 });
21
+
22
+ const fileName$6 = `APP_CONFIG.ts`;
23
+ const targetPath$6 = findOrInitialsFile(`src/configs/${fileName$6}`);
24
+ const content$6 = `import type { AppConfigProps } from './APP_CONFIG.d';
25
+
26
+ export const APP_CONFIG: AppConfigProps = {
27
+ appIndex: '<app_index>',
28
+ tokens: { uid: '<uid>', secret: '<secret>' },
29
+ map: { googleMapApiKey: '', defaultCenter: { lat: 47.919045645074696, lng: 106.91752910614014 }, defaultZoom: 12 },
30
+ };
31
+ `;
32
+ writeFileSyncWithLog({ targetPath: targetPath$6, content: content$6, fileName: fileName$6 });
33
+
34
+ const fileName$5 = `HOST_CONFIG.d.ts`;
35
+ const targetPath$5 = findOrInitialsFile(`src/configs/${fileName$5}`);
36
+ const content$5 = `export interface HostConfigProps {
37
+ host: string;
38
+ elastic: {
39
+ host: string;
40
+ username: string;
41
+ password: string;
42
+ };
43
+ }
44
+ `;
45
+ writeFileSyncWithLog({ targetPath: targetPath$5, content: content$5, fileName: fileName$5 });
46
+
47
+ const fileName$4 = `HOST_CONFIG.ts`;
48
+ const targetPath$4 = findOrInitialsFile(`src/configs/${fileName$4}`);
49
+ const content$4 = `import type { HostConfigProps } from './HOST_CONFIG.d';
50
+
51
+ export const HOST_CONFIG: HostConfigProps = {
52
+ host: '<host_url>',
53
+ elastic: {
54
+ host: '<host_url>',
55
+ username: '<username>',
56
+ password: '<password>'
57
+ }
58
+ };
59
+ `;
60
+ writeFileSyncWithLog({ targetPath: targetPath$4, content: content$4, fileName: fileName$4 });
61
+
62
+ const fileName$3 = `MIDDLEWARE_CONFIG.ts`;
63
+ const targetPath$3 = findOrInitialsFile(`src/configs/${fileName$3}`);
64
+ const content$3 = `import { NextJSAuthMiddleware } from 'web-ggf/nextjs-middleware';
65
+
66
+ import { APP_CONFIG } from '@/configs/APP_CONFIG';
67
+ import { HOST_CONFIG } from '@/configs/HOST_CONFIG';
68
+ import { STORE_KEY_CONFIG } from '@/configs/STORE_KEY_CONFIG';
69
+
70
+ export const middlewareConfig = new NextJSAuthMiddleware({
71
+ userTokenKey: STORE_KEY_CONFIG.USER_TOKEN,
72
+ clientTokenKey: STORE_KEY_CONFIG.CLIENT_TOKEN,
73
+ refreshTokenKey: STORE_KEY_CONFIG.REFRESH_TOKEN,
74
+ appKey: APP_CONFIG.tokens.uid,
75
+ appSecret: APP_CONFIG.tokens.secret,
76
+ host: HOST_CONFIG.host,
77
+ protectedPaths: [/^(\\/\\w{2})?\\/account\\/?/, /^(\\/\\w{2})?\\/checkout\\/address\\/?/, /^(\\/\\w{2})?\\/checkout\\/confirm\\/?/],
78
+ secure: process.env.NODE_ENV === 'production',
79
+ locale: 'mn',
80
+ });
81
+ `;
82
+ writeFileSyncWithLog({ targetPath: targetPath$3, content: content$3, fileName: fileName$3 });
83
+
84
+ const fileName$2 = `STORE_KEY_CONFIG.d.ts`;
85
+ const targetPath$2 = findOrInitialsFile(`src/configs/${fileName$2}`);
86
+ const content$2 = `export interface StoreKeyConfigProps {
87
+ USER_TOKEN: string;
88
+ REFRESH_TOKEN: string;
89
+ CLIENT_TOKEN: string;
90
+ EXPIRES_IN: string;
91
+ }
92
+ `;
93
+ writeFileSyncWithLog({ targetPath: targetPath$2, content: content$2, fileName: fileName$2 });
94
+
95
+ const fileName$1 = `STORE_KEY_CONFIG.ts`;
96
+ const targetPath$1 = findOrInitialsFile(`src/configs/${fileName$1}`);
97
+ const content$1 = `import type { StoreKeyConfigProps } from './STORE_KEY_CONFIG.d';
98
+
99
+ import { APP_CONFIG } from '@/configs/APP_CONFIG';
100
+
101
+ export const STORE_KEY_CONFIG: StoreKeyConfigProps = {
102
+ USER_TOKEN: \`\${APP_CONFIG.appIndex}_USER_TOKEN\`,
103
+ CLIENT_TOKEN: \`\${APP_CONFIG.appIndex}CLIENT_TOKEN\`,
104
+ REFRESH_TOKEN: \`\${APP_CONFIG.appIndex}REFRESH_TOKEN\`,
105
+ EXPIRES_IN: \`\${APP_CONFIG.appIndex}EXPIRES_IN\`,
106
+ };
107
+ `;
108
+ writeFileSyncWithLog({ targetPath: targetPath$1, content: content$1, fileName: fileName$1 });
109
+
110
+ const fileName = `index.css`;
111
+ const targetPath = findOrInitialsFile(`src/configs/THEME_CONFIG/${fileName}`);
112
+ const content = `@plugin "daisyui" {
113
+ /*noinspection CssUnknownProperty*/
114
+ themes: light --default, dark --prefersdark;
115
+ }
116
+ @plugin "daisyui/theme" {
117
+ /*noinspection CssUnknownProperty*/
118
+ default: true;
119
+ name: light;
120
+ --color-primary: #EE3562;
121
+ --color-secondary: teal;
122
+ }
123
+ @plugin "daisyui/theme" {
124
+ /*noinspection CssUnknownProperty*/
125
+ prefersdark: true;
126
+ name: dark;
127
+ --color-primary: #EE3562;
128
+ --color-secondary: teal;
129
+ }
130
+ `;
131
+ writeFileSyncWithLog({ targetPath, content, fileName });
132
+ //# sourceMappingURL=index-DuSBC4jV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DuSBC4jV.mjs","sources":["../../src/bin/src/bin/nextjs15/configs/APP_CONFIG_D.ts","../../src/bin/src/bin/nextjs15/configs/APP_CONFIG.ts","../../src/bin/src/bin/nextjs15/configs/HOST_CONFIG_D.ts","../../src/bin/src/bin/nextjs15/configs/HOST_CONFIG.ts","../../src/bin/src/bin/nextjs15/configs/MIDDLEWARE_CONFIG.ts","../../src/bin/src/bin/nextjs15/configs/STORE_KEY_CONFIG_D.ts","../../src/bin/src/bin/nextjs15/configs/STORE_KEY_CONFIG.ts","../../src/bin/src/bin/nextjs15/configs/THEME_CONFIG.ts"],"sourcesContent":["import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `APP_CONFIG.d.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `export interface AppConfigProps {\n appIndex: string;\n tokens: {\n uid: string;\n secret: string;\n };\n map: {\n googleMapApiKey: string;\n defaultCenter: { lat: number; lng: number };\n defaultZoom: number;\n };\n}\n`;\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `APP_CONFIG.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `import type { AppConfigProps } from './APP_CONFIG.d';\n\nexport const APP_CONFIG: AppConfigProps = {\n appIndex: '<app_index>',\n tokens: { uid: '<uid>', secret: '<secret>' },\n map: { googleMapApiKey: '', defaultCenter: { lat: 47.919045645074696, lng: 106.91752910614014 }, defaultZoom: 12 },\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `HOST_CONFIG.d.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `export interface HostConfigProps {\n host: string;\n elastic: {\n host: string;\n username: string;\n password: string;\n };\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `HOST_CONFIG.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `import type { HostConfigProps } from './HOST_CONFIG.d';\n\nexport const HOST_CONFIG: HostConfigProps = {\n host: '<host_url>',\n elastic: {\n host: '<host_url>',\n username: '<username>',\n password: '<password>'\n }\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `MIDDLEWARE_CONFIG.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `import { NextJSAuthMiddleware } from 'web-ggf/nextjs-middleware';\n\nimport { APP_CONFIG } from '@/configs/APP_CONFIG';\nimport { HOST_CONFIG } from '@/configs/HOST_CONFIG';\nimport { STORE_KEY_CONFIG } from '@/configs/STORE_KEY_CONFIG';\n\nexport const middlewareConfig = new NextJSAuthMiddleware({\n userTokenKey: STORE_KEY_CONFIG.USER_TOKEN,\n clientTokenKey: STORE_KEY_CONFIG.CLIENT_TOKEN,\n refreshTokenKey: STORE_KEY_CONFIG.REFRESH_TOKEN,\n appKey: APP_CONFIG.tokens.uid,\n appSecret: APP_CONFIG.tokens.secret,\n host: HOST_CONFIG.host,\n protectedPaths: [/^(\\\\/\\\\w{2})?\\\\/account\\\\/?/, /^(\\\\/\\\\w{2})?\\\\/checkout\\\\/address\\\\/?/, /^(\\\\/\\\\w{2})?\\\\/checkout\\\\/confirm\\\\/?/],\n secure: process.env.NODE_ENV === 'production',\n locale: 'mn',\n});\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `STORE_KEY_CONFIG.d.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `export interface StoreKeyConfigProps {\n USER_TOKEN: string;\n REFRESH_TOKEN: string;\n CLIENT_TOKEN: string;\n EXPIRES_IN: string;\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `STORE_KEY_CONFIG.ts`;\nconst targetPath = findOrInitialsFile(`src/configs/${fileName}`);\nconst content = `import type { StoreKeyConfigProps } from './STORE_KEY_CONFIG.d';\n\nimport { APP_CONFIG } from '@/configs/APP_CONFIG';\n\nexport const STORE_KEY_CONFIG: StoreKeyConfigProps = {\n USER_TOKEN: \\`\\${APP_CONFIG.appIndex}_USER_TOKEN\\`,\n CLIENT_TOKEN: \\`\\${APP_CONFIG.appIndex}CLIENT_TOKEN\\`,\n REFRESH_TOKEN: \\`\\${APP_CONFIG.appIndex}REFRESH_TOKEN\\`,\n EXPIRES_IN: \\`\\${APP_CONFIG.appIndex}EXPIRES_IN\\`,\n};\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n","import { findOrInitialsFile, writeFileSyncWithLog } from '../helper/file-helper';\n\nconst fileName = `index.css`;\nconst targetPath = findOrInitialsFile(`src/configs/THEME_CONFIG/${fileName}`);\nconst content = `@plugin \"daisyui\" {\n /*noinspection CssUnknownProperty*/\n themes: light --default, dark --prefersdark;\n}\n@plugin \"daisyui/theme\" {\n /*noinspection CssUnknownProperty*/\n default: true;\n name: light;\n --color-primary: #EE3562;\n --color-secondary: teal;\n}\n@plugin \"daisyui/theme\" {\n /*noinspection CssUnknownProperty*/\n prefersdark: true;\n name: dark;\n --color-primary: #EE3562;\n --color-secondary: teal;\n}\n`;\n\nwriteFileSyncWithLog({ targetPath, content, fileName });\n"],"names":["fileName","targetPath","content"],"mappings":";;;;AAEA,MAAMA,UAAQ,GAAG,CAAA,eAAA,CAAiB;AAClC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;CAYf;AACD,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACfvD,MAAMA,UAAQ,GAAG,CAAA,aAAA,CAAe;AAChC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;CAOf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACXvD,MAAMA,UAAQ,GAAG,CAAA,gBAAA,CAAkB;AACnC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;CAQf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACZvD,MAAMA,UAAQ,GAAG,CAAA,cAAA,CAAgB;AACjC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;CAUf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACdvD,MAAMA,UAAQ,GAAG,CAAA,oBAAA,CAAsB;AACvC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;CAiBf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACrBvD,MAAMA,UAAQ,GAAG,CAAA,qBAAA,CAAuB;AACxC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;CAMf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACVvD,MAAMA,UAAQ,GAAG,CAAA,mBAAA,CAAqB;AACtC,MAAMC,YAAU,GAAG,kBAAkB,CAAC,eAAeD,UAAQ,CAAA,CAAE,CAAC;AAChE,MAAME,SAAO,GAAG,CAAA;;;;;;;;;;CAUf;AAED,oBAAoB,CAAC,cAAED,YAAU,WAAEC,SAAO,YAAEF,UAAQ,EAAE,CAAC;;ACdvD,MAAM,QAAQ,GAAG,CAAA,SAAA,CAAW;AAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,4BAA4B,QAAQ,CAAA,CAAE,CAAC;AAC7E,MAAM,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;CAkBf;AAED,oBAAoB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { execSync } from 'child_process';
2
+
3
+ //
4
+ function npmInstall(dependencies) {
5
+ try {
6
+ for (const dep of dependencies) {
7
+ process.stdout.write(`⌛ Installing "${dep.name}"...`);
8
+ execSync(`npm i${dep.dev ? ' -D' : ''} ${dep.name}@${dep.version} --silent`, { stdio: 'ignore', cwd: process.cwd() });
9
+ process.stdout.write(`\r✅ Installed "${dep.name}@${dep.version}"\n`);
10
+ }
11
+ }
12
+ catch (error) {
13
+ console.error('❌ Failed to install dependencies:', error?.message);
14
+ process.exit(1);
15
+ }
16
+ }
17
+
18
+ export { npmInstall as n };
19
+ //# sourceMappingURL=npm-install-7LYQx09p.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-install-7LYQx09p.mjs","sources":["../../src/bin/src/bin/nextjs15/helper/npm-install.ts"],"sourcesContent":["import { execSync } from 'child_process';\n//\n\nexport function npmInstall(dependencies: { name: string; version: string; dev?: boolean }[]) {\n try {\n for (const dep of dependencies) {\n process.stdout.write(`⌛ Installing \"${dep.name}\"...`);\n\n execSync(`npm i${dep.dev ? ' -D' : ''} ${dep.name}@${dep.version} --silent`, { stdio: 'ignore', cwd: process.cwd() });\n process.stdout.write(`\\r✅ Installed \"${dep.name}@${dep.version}\"\\n`);\n }\n } catch (error) {\n console.error('❌ Failed to install dependencies:', (error as Error)?.message);\n process.exit(1);\n }\n}\n"],"names":[],"mappings":";;AACA;AAEM,SAAU,UAAU,CAAC,YAAgE,EAAA;AACzF,IAAA,IAAI;AACF,QAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,cAAA,EAAiB,GAAG,CAAC,IAAI,CAAA,IAAA,CAAM,CAAC;AAErD,YAAA,QAAQ,CAAC,CAAA,KAAA,EAAQ,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,EAAE,CAAA,CAAA,EAAI,GAAG,CAAC,IAAI,CAAA,CAAA,EAAI,GAAG,CAAC,OAAO,CAAA,SAAA,CAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACrH,YAAA,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAA,GAAA,CAAK,CAAC;QACtE;IACF;IAAE,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAG,KAAe,EAAE,OAAO,CAAC;AAC7E,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF;;;;"}
@@ -0,0 +1,14 @@
1
+ const init = process.argv[2];
2
+ if (init !== 'nextjs' || !init) {
3
+ console.error('Invalid init. Usage: npx web-ggf nextjs');
4
+ process.exit(1);
5
+ }
6
+ function main() {
7
+ import('../_chunks/index-DgSqZr5v.mjs');
8
+ import('../_chunks/index-DuSBC4jV.mjs');
9
+ import('../_chunks/index-BDhnAS_n.mjs');
10
+ import('../_chunks/index-CjXJh1ls.mjs');
11
+ import('../_chunks/index-BajZ1Zw6.mjs');
12
+ }
13
+ main();
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/bin/src/bin/nextjs15/index.ts"],"sourcesContent":["const init = process.argv[2];\n\nif (init !== 'nextjs' || !init) {\n console.error('Invalid init. Usage: npx web-ggf nextjs');\n process.exit(1);\n}\n\nfunction main() {\n import('./base-dependencies');\n import('./configs');\n import('./adjust-files');\n import('./graphql');\n import('./lingui');\n}\n\nmain();\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5B,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE;AAC9B,IAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC;AACxD,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB;AAEA,SAAS,IAAI,GAAA;IACX,OAAO,+BAAqB,CAAC;IAC7B,OAAO,+BAAW,CAAC;IACnB,OAAO,+BAAgB,CAAC;IACxB,OAAO,+BAAW,CAAC;IACnB,OAAO,+BAAU,CAAC;AACpB;AAEA,IAAI,EAAE"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "web-ggf",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
7
7
  "types": "dist/types/index.d.ts",
8
8
  "type": "module",
9
9
  "bin": {
10
- "nextjs15": "./bin/nextjs15/index.cjs"
10
+ "nextjs15": "./bin/nextjs15/index.mjs"
11
11
  },
12
12
  "exports": {
13
13
  "./apollo-nextjs-client": {
@@ -32,7 +32,9 @@
32
32
  }
33
33
  },
34
34
  "files": [
35
- "dist"
35
+ "dist/",
36
+ "bin/",
37
+ "README.md"
36
38
  ],
37
39
  "sideEffects": false,
38
40
  "scripts": {
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- function main() {
4
- Promise.resolve().then(function () { return require('../_chunks/index-YUr8zBwz.cjs'); });
5
- Promise.resolve().then(function () { return require('../_chunks/index-CLUMH2P-.cjs'); });
6
- Promise.resolve().then(function () { return require('../_chunks/index-QBVsw3Et.cjs'); });
7
- Promise.resolve().then(function () { return require('../_chunks/index-DdjTuv1_.cjs'); });
8
- Promise.resolve().then(function () { return require('../_chunks/index-BT6h0oBH.cjs'); });
9
- }
10
- main();
11
- //# sourceMappingURL=index.cjs.map