nextjs-cms-kit 0.5.66 → 0.5.68
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/dist/commands/db-config.d.ts.map +1 -1
- package/dist/commands/db-config.js +8 -4
- package/dist/commands/fix-master-admin.d.ts.map +1 -1
- package/dist/commands/fix-master-admin.js +8 -4
- package/dist/commands/set-master-admin.d.ts +1 -1
- package/dist/commands/set-master-admin.d.ts.map +1 -1
- package/dist/commands/set-master-admin.js +12 -14
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +12 -16
- package/dist/commands/update-sections.d.ts.map +1 -1
- package/dist/commands/update-sections.js +11 -16
- package/dist/index.js +1 -1
- package/dist/lib/{db-config-setup.d.ts → db-config.d.ts} +1 -1
- package/dist/lib/db-config.d.ts.map +1 -0
- package/dist/lib/{db-config-setup.js → db-config.js} +53 -62
- package/dist/lib/db-migrate.d.ts +1 -1
- package/dist/lib/db-migrate.js +14 -14
- package/dist/lib/fix-master-admin.d.ts +1 -1
- package/dist/lib/fix-master-admin.d.ts.map +1 -1
- package/dist/lib/fix-master-admin.js +33 -6
- package/dist/lib/set-master-admin.d.ts.map +1 -1
- package/dist/lib/set-master-admin.js +52 -19
- package/dist/lib/update-sections.js +3 -3
- package/dist/program/program.d.ts.map +1 -0
- package/dist/program/program.js +95 -0
- package/dist/utils/add-table-keys.d.ts.map +1 -0
- package/dist/utils/check-version.d.ts +3 -0
- package/dist/utils/check-version.d.ts.map +1 -0
- package/dist/{lib/program.js → utils/check-version.js} +56 -83
- package/dist/utils/display-intro.d.ts +6 -0
- package/dist/utils/display-intro.d.ts.map +1 -0
- package/dist/utils/display-intro.js +9 -0
- package/dist/utils/exec-utils.d.ts.map +1 -0
- package/dist/utils/get-package-manager.d.ts +4 -0
- package/dist/utils/get-package-manager.d.ts.map +1 -0
- package/dist/utils/get-package-manager.js +22 -0
- package/dist/utils/reload-env.d.ts.map +1 -0
- package/dist/utils/render-title.d.ts.map +1 -0
- package/dist/utils/schema-generator.d.ts.map +1 -0
- package/package.json +4 -4
- package/dist/lib/actions.d.ts +0 -7
- package/dist/lib/actions.d.ts.map +0 -1
- package/dist/lib/actions.js +0 -68
- package/dist/lib/add-table-keys.d.ts.map +0 -1
- package/dist/lib/db-config-setup.d.ts.map +0 -1
- package/dist/lib/exec-utils.d.ts.map +0 -1
- package/dist/lib/program.d.ts.map +0 -1
- package/dist/lib/reload-env.d.ts.map +0 -1
- package/dist/lib/render-title.d.ts.map +0 -1
- package/dist/lib/schema-generator.d.ts.map +0 -1
- /package/dist/{lib → program}/program.d.ts +0 -0
- /package/dist/{lib → utils}/add-table-keys.d.ts +0 -0
- /package/dist/{lib → utils}/add-table-keys.js +0 -0
- /package/dist/{lib → utils}/exec-utils.d.ts +0 -0
- /package/dist/{lib → utils}/exec-utils.js +0 -0
- /package/dist/{lib → utils}/reload-env.d.ts +0 -0
- /package/dist/{lib → utils}/reload-env.js +0 -0
- /package/dist/{lib → utils}/render-title.d.ts +0 -0
- /package/dist/{lib → utils}/render-title.js +0 -0
- /package/dist/{lib → utils}/schema-generator.d.ts +0 -0
- /package/dist/{lib → utils}/schema-generator.js +0 -0
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
export async function setMasterAdmin() {
|
|
4
|
+
// Lazy import heavy dependencies to avoid eager database connection initialization
|
|
5
|
+
const { db } = await import('nextjs-cms/db/client');
|
|
6
|
+
const { AdminsTable } = await import('nextjs-cms/db/schema');
|
|
7
|
+
const { eq, and } = await import('drizzle-orm');
|
|
4
8
|
/**
|
|
5
9
|
* Check if the master admin is already set
|
|
6
10
|
*/
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (
|
|
17
|
-
p.
|
|
18
|
-
|
|
11
|
+
const _res = await db
|
|
12
|
+
.select({
|
|
13
|
+
id: AdminsTable.id,
|
|
14
|
+
user: AdminsTable.user,
|
|
15
|
+
})
|
|
16
|
+
.from(AdminsTable)
|
|
17
|
+
.where(and(eq(AdminsTable.id, '1'), eq(AdminsTable.user, 'Master')));
|
|
18
|
+
if (_res.length > 0) {
|
|
19
|
+
const masterAdmin = _res[0];
|
|
20
|
+
if (masterAdmin) {
|
|
21
|
+
p.log.info(`Master admin is already set`);
|
|
22
|
+
const confirm = await p.confirm({
|
|
23
|
+
message: 'Are you sure you want to reset the master admin password?',
|
|
24
|
+
active: 'Yes',
|
|
25
|
+
inactive: 'No',
|
|
26
|
+
});
|
|
27
|
+
if (p.isCancel(confirm) || !confirm) {
|
|
28
|
+
p.cancel('Aborted\n');
|
|
29
|
+
process.exit(0);
|
|
30
|
+
}
|
|
19
31
|
}
|
|
20
32
|
}
|
|
21
33
|
let passwordMatch = false;
|
|
@@ -29,27 +41,48 @@ export async function setMasterAdmin() {
|
|
|
29
41
|
},
|
|
30
42
|
});
|
|
31
43
|
if (p.isCancel(password)) {
|
|
32
|
-
p.cancel('
|
|
44
|
+
p.cancel('Aborted\n');
|
|
33
45
|
process.exit(0);
|
|
34
46
|
}
|
|
35
47
|
const confirmPassword = await p.password({
|
|
36
48
|
message: 'Please write the password again to confirm',
|
|
37
49
|
});
|
|
38
50
|
if (p.isCancel(confirmPassword)) {
|
|
39
|
-
p.cancel('
|
|
51
|
+
p.cancel('Aborted\n');
|
|
40
52
|
process.exit(0);
|
|
41
53
|
}
|
|
42
54
|
if (password === confirmPassword) {
|
|
43
55
|
passwordMatch = true;
|
|
44
56
|
}
|
|
45
57
|
else {
|
|
46
|
-
p.log.error('Passwords do not match. Please try again
|
|
58
|
+
p.log.error('Passwords do not match. Please try again\n');
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
61
|
+
// Lazy import heavy dependencies to avoid eager database connection initialization
|
|
62
|
+
const bcrypt = await import('bcrypt');
|
|
63
|
+
try {
|
|
64
|
+
const hashedPassword = await bcrypt.hash(password, 10);
|
|
65
|
+
await db
|
|
66
|
+
.insert(AdminsTable)
|
|
67
|
+
.values({
|
|
68
|
+
id: '1', // Master admin id is always 1
|
|
69
|
+
pass: hashedPassword,
|
|
70
|
+
user: 'Master',
|
|
71
|
+
})
|
|
72
|
+
.onDuplicateKeyUpdate({
|
|
73
|
+
set: {
|
|
74
|
+
pass: hashedPassword,
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
p.log.error(`✗ Error creating master admin:`);
|
|
80
|
+
console.log('');
|
|
81
|
+
console.error(error);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const { fixMasterAdminPrivileges } = await import('./fix-master-admin.js');
|
|
52
85
|
await fixMasterAdminPrivileges();
|
|
53
|
-
p.log.
|
|
86
|
+
p.log.message(chalk.green(' ✓ Master admin and admin privileges are set'));
|
|
54
87
|
p.log.message(chalk.cyan(' - Master admin username: Master'));
|
|
55
88
|
}
|
|
@@ -11,8 +11,8 @@ import { FileField } from 'nextjs-cms/core/fields';
|
|
|
11
11
|
import chalk from 'chalk';
|
|
12
12
|
import { intro, select, spinner, log } from '@clack/prompts';
|
|
13
13
|
import { MysqlTableChecker } from 'nextjs-cms/core/db';
|
|
14
|
-
import { generateDrizzleSchema } from '
|
|
15
|
-
import { addTableKeys } from '
|
|
14
|
+
import { generateDrizzleSchema } from '../utils/schema-generator.js';
|
|
15
|
+
import { addTableKeys } from '../utils/add-table-keys.js';
|
|
16
16
|
function generateFieldSQL(input) {
|
|
17
17
|
let fieldSQL = `\`${input.name}\` `;
|
|
18
18
|
/**
|
|
@@ -530,7 +530,7 @@ const main = async (s) => {
|
|
|
530
530
|
let sections = [];
|
|
531
531
|
const desiredTables = [];
|
|
532
532
|
let existingTables = [];
|
|
533
|
-
sections = await SectionFactory.
|
|
533
|
+
sections = await SectionFactory.getSectionsSilently();
|
|
534
534
|
console.log(`Found ${sections.length} section(s) to insert: `);
|
|
535
535
|
console.log(chalk.gray(sections.map((s) => s.name).join(', ')));
|
|
536
536
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAmB3C,QAAA,MAAM,OAAO,SAAgB,CAAA;AA4F7B,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import * as p from '@clack/prompts';
|
|
5
|
+
import { displayIntro } from '../utils/display-intro.js';
|
|
6
|
+
import { packageVersion, validateNextjsCmsApp } from '../utils/check-version.js';
|
|
7
|
+
const handleSigTerm = () => {
|
|
8
|
+
p.log.message('\n');
|
|
9
|
+
p.cancel(`Aborted\n`);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
};
|
|
12
|
+
process.on('SIGINT', handleSigTerm);
|
|
13
|
+
process.on('SIGTERM', handleSigTerm);
|
|
14
|
+
// Validate nextjs-cms app and dependencies before proceeding
|
|
15
|
+
validateNextjsCmsApp();
|
|
16
|
+
const program = new Command();
|
|
17
|
+
program
|
|
18
|
+
.name('nextjs-cms-kit')
|
|
19
|
+
.option('-d, --dev', 'use development environment file, use -d/--dev before any command to use the development environment file (e.g. nextjs-cms-kit -d setup)', false)
|
|
20
|
+
.addOption(new Option('-f, --force', 'force the command to run even when version mismatch is detected').hideHelp())
|
|
21
|
+
.description(chalk.green('nextjs-cms CLI toolkit for managing your nextjs-cms application'))
|
|
22
|
+
.version(packageVersion)
|
|
23
|
+
// Include -v option to show the version number
|
|
24
|
+
.addOption(new Option('-v').hideHelp())
|
|
25
|
+
.enablePositionalOptions();
|
|
26
|
+
program
|
|
27
|
+
.command('setup')
|
|
28
|
+
.description('Complete nextjs-cms setup')
|
|
29
|
+
.option('--continue', 'continue the setup if you have already setup the database', false)
|
|
30
|
+
.passThroughOptions()
|
|
31
|
+
.action(async function () {
|
|
32
|
+
const c = Boolean(this.opts().continue);
|
|
33
|
+
const { runSetup } = await import('../commands/setup.js');
|
|
34
|
+
displayIntro({ command: 'setup', dev: Boolean(program.opts().dev), title: 'Setting up nextjs-cms 🚀' });
|
|
35
|
+
await runSetup(Boolean(program.opts().dev), c);
|
|
36
|
+
});
|
|
37
|
+
program
|
|
38
|
+
.command('db-config')
|
|
39
|
+
.description('Initialize nextjs-cms database configuration')
|
|
40
|
+
.passThroughOptions()
|
|
41
|
+
.action(async () => {
|
|
42
|
+
const { runDbConfig } = await import('../commands/db-config.js');
|
|
43
|
+
displayIntro({
|
|
44
|
+
command: 'db-config',
|
|
45
|
+
dev: Boolean(program.opts().dev),
|
|
46
|
+
title: 'Configuring database',
|
|
47
|
+
});
|
|
48
|
+
await runDbConfig(Boolean(program.opts().dev));
|
|
49
|
+
});
|
|
50
|
+
program
|
|
51
|
+
.command('set-master-admin')
|
|
52
|
+
.description('Set or update master admin password')
|
|
53
|
+
.passThroughOptions()
|
|
54
|
+
.action(async () => {
|
|
55
|
+
const { runSetMasterAdmin } = await import('../commands/set-master-admin.js');
|
|
56
|
+
displayIntro({
|
|
57
|
+
command: 'set-master-admin',
|
|
58
|
+
dev: Boolean(program.opts().dev),
|
|
59
|
+
title: 'Setting master admin',
|
|
60
|
+
});
|
|
61
|
+
await runSetMasterAdmin();
|
|
62
|
+
});
|
|
63
|
+
program
|
|
64
|
+
.command('fix-master-admin')
|
|
65
|
+
.description('Fix master admin privileges for all sections')
|
|
66
|
+
.passThroughOptions()
|
|
67
|
+
.action(async () => {
|
|
68
|
+
const { runFixMasterAdmin } = await import('../commands/fix-master-admin.js');
|
|
69
|
+
displayIntro({
|
|
70
|
+
command: 'fix-master-admin',
|
|
71
|
+
dev: Boolean(program.opts().dev),
|
|
72
|
+
title: 'Fixing master admin privileges',
|
|
73
|
+
});
|
|
74
|
+
await runFixMasterAdmin();
|
|
75
|
+
});
|
|
76
|
+
program
|
|
77
|
+
.command('update-sections')
|
|
78
|
+
.description('Update database tables based on current sections and update master admin privileges')
|
|
79
|
+
.passThroughOptions()
|
|
80
|
+
.action(async () => {
|
|
81
|
+
const { runUpdateSections } = await import('../commands/update-sections.js');
|
|
82
|
+
displayIntro({
|
|
83
|
+
command: 'update-sections',
|
|
84
|
+
dev: Boolean(program.opts().dev),
|
|
85
|
+
title: 'Updating sections',
|
|
86
|
+
});
|
|
87
|
+
await runUpdateSections(Boolean(program.opts().dev));
|
|
88
|
+
});
|
|
89
|
+
program.showHelpAfterError('(add --help for additional information)');
|
|
90
|
+
// Show the version number when the -v option is used
|
|
91
|
+
program.on('option:v', () => {
|
|
92
|
+
console.log(program.version());
|
|
93
|
+
process.exit();
|
|
94
|
+
});
|
|
95
|
+
export default program;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-table-keys.d.ts","sourceRoot":"","sources":["../../src/utils/add-table-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,wBAAsB,YAAY,CAC9B,KAAK,EAAE;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;IACnD,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;IACpD,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;CACzD,EACD,YAAY,CAAC,EAAE;IACX,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IACjD,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IAChD,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;CACtD,mBAgPJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-version.d.ts","sourceRoot":"","sources":["../../src/utils/check-version.ts"],"names":[],"mappings":"AA2MA,wBAAgB,oBAAoB,IAAI,IAAI,CAkE3C;AAED,eAAO,MAAM,cAAc,QAAsB,CAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Command, Option } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
1
|
import { readFileSync, existsSync, realpathSync } from 'node:fs';
|
|
4
2
|
import { join, dirname } from 'path';
|
|
5
3
|
import { fileURLToPath } from 'url';
|
|
6
4
|
import { createRequire } from 'module';
|
|
7
|
-
import
|
|
5
|
+
import { detectPackageManager } from './get-package-manager.js';
|
|
6
|
+
import chalk from 'chalk';
|
|
8
7
|
function findPackageJson(startDir) {
|
|
9
8
|
let dir = startDir ?? process.cwd();
|
|
10
9
|
while (true) {
|
|
@@ -36,8 +35,7 @@ const currentFilePath = fileURLToPath(import.meta.url);
|
|
|
36
35
|
const currentDir = dirname(currentFilePath);
|
|
37
36
|
const packageJsonPath = join(currentDir, '../../package.json');
|
|
38
37
|
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
39
|
-
const
|
|
40
|
-
const dependencies = packageJson.dependencies;
|
|
38
|
+
const preferredPM = detectPackageManager();
|
|
41
39
|
function checkNextjsCmsInstallation() {
|
|
42
40
|
const requireFromCwd = createRequire(join(process.cwd(), 'index.js'));
|
|
43
41
|
// Check for cms.config.ts file
|
|
@@ -53,8 +51,9 @@ function checkNextjsCmsInstallation() {
|
|
|
53
51
|
const packageJson = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
54
52
|
const deps = {
|
|
55
53
|
...(packageJson.dependencies ?? {}),
|
|
54
|
+
...(packageJson.devDependencies ?? {}),
|
|
56
55
|
};
|
|
57
|
-
const existsInProjectPackageJson = 'nextjs-cms' in
|
|
56
|
+
const existsInProjectPackageJson = 'nextjs-cms' in (packageJson.dependencies ?? {});
|
|
58
57
|
if (!existsInProjectPackageJson) {
|
|
59
58
|
return { error: 'local-not-found' };
|
|
60
59
|
}
|
|
@@ -84,15 +83,43 @@ function checkNextjsCmsInstallation() {
|
|
|
84
83
|
packageVersion: versionInProjectPackageJson,
|
|
85
84
|
};
|
|
86
85
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
// Check for nextjs-cms-kit dependency in package.json
|
|
87
|
+
const kitExistsInProjectPackageJson = 'nextjs-cms-kit' in deps;
|
|
88
|
+
if (!kitExistsInProjectPackageJson) {
|
|
89
|
+
return { error: 'kit-not-found' };
|
|
90
|
+
}
|
|
91
|
+
const kitVersionInProjectPackageJson = deps['nextjs-cms-kit'];
|
|
92
|
+
if (kitVersionInProjectPackageJson === undefined) {
|
|
93
|
+
return { error: 'kit-not-found' };
|
|
94
|
+
}
|
|
95
|
+
// Hard check for installed nextjs-cms-kit version
|
|
96
|
+
// Resolve whatever the package exports at "." (this IS allowed)
|
|
97
|
+
const kitEntryPath = requireFromCwd.resolve('nextjs-cms-kit');
|
|
98
|
+
// Follow symlinks (helps with pnpm layouts)
|
|
99
|
+
const kitStartPath = realpathSync(kitEntryPath);
|
|
100
|
+
const kitInstalledPackageJson = findPackageJson(kitStartPath);
|
|
101
|
+
if (kitInstalledPackageJson === undefined) {
|
|
102
|
+
return {
|
|
103
|
+
error: 'kit-needs-update',
|
|
104
|
+
installedVersion: 'undefined',
|
|
105
|
+
packageVersion: kitVersionInProjectPackageJson,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const kitInstalledPackageJsonParsed = JSON.parse(readFileSync(kitInstalledPackageJson, 'utf8'));
|
|
109
|
+
const kitLocalInstalledVersion = kitInstalledPackageJsonParsed?.version ?? undefined;
|
|
110
|
+
if (kitLocalInstalledVersion !== kitVersionInProjectPackageJson) {
|
|
111
|
+
return {
|
|
112
|
+
error: 'kit-needs-update',
|
|
113
|
+
installedVersion: kitLocalInstalledVersion ?? 'undefined',
|
|
114
|
+
packageVersion: kitVersionInProjectPackageJson,
|
|
115
|
+
};
|
|
90
116
|
}
|
|
91
|
-
|
|
117
|
+
// Check that nextjs-cms and nextjs-cms-kit versions match
|
|
118
|
+
if (versionInProjectPackageJson !== kitVersionInProjectPackageJson) {
|
|
92
119
|
return {
|
|
93
120
|
error: 'version-mismatch',
|
|
94
|
-
|
|
95
|
-
|
|
121
|
+
cmsVersion: versionInProjectPackageJson,
|
|
122
|
+
kitVersion: kitVersionInProjectPackageJson,
|
|
96
123
|
};
|
|
97
124
|
}
|
|
98
125
|
return true;
|
|
@@ -106,7 +133,7 @@ function shouldSkipValidation() {
|
|
|
106
133
|
args.includes('-v') ||
|
|
107
134
|
args.includes('--force'));
|
|
108
135
|
}
|
|
109
|
-
function validateNextjsCmsApp() {
|
|
136
|
+
export function validateNextjsCmsApp() {
|
|
110
137
|
// Skip validation for help and version commands
|
|
111
138
|
if (shouldSkipValidation()) {
|
|
112
139
|
return;
|
|
@@ -130,17 +157,17 @@ function validateNextjsCmsApp() {
|
|
|
130
157
|
console.error(chalk.gray(' - nextjs-cms as a dependency in package.json'));
|
|
131
158
|
console.error(chalk.gray(' - Did you forget to run `pnpm install`?'));
|
|
132
159
|
break;
|
|
133
|
-
case '
|
|
134
|
-
console.error(chalk.red('❌ Error: nextjs-cms is not installed
|
|
135
|
-
console.error(chalk.gray('
|
|
160
|
+
case 'kit-not-found':
|
|
161
|
+
console.error(chalk.red('❌ Error: nextjs-cms-kit is not installed as a dependency'));
|
|
162
|
+
console.error(chalk.gray('Make sure you have:'));
|
|
163
|
+
console.error(chalk.gray(' - nextjs-cms-kit as a dependency (or devDependency) in package.json'));
|
|
164
|
+
console.error(chalk.gray(' - Did you forget to run `pnpm install`?'));
|
|
136
165
|
break;
|
|
137
166
|
case 'version-mismatch':
|
|
138
|
-
console.error(chalk.red('❌ Error: the version of nextjs-cms
|
|
139
|
-
console.error(chalk.gray(' -
|
|
140
|
-
console.error(chalk.gray(' -
|
|
141
|
-
console.error(chalk.gray(' - Please
|
|
142
|
-
result.installedVersion +
|
|
143
|
-
'`'));
|
|
167
|
+
console.error(chalk.red('❌ Error: the version of nextjs-cms does not match the version of nextjs-cms-kit in your project'));
|
|
168
|
+
console.error(chalk.gray(' - nextjs-cms version: ' + result.cmsVersion));
|
|
169
|
+
console.error(chalk.gray(' - nextjs-cms-kit version: ' + result.kitVersion));
|
|
170
|
+
console.error(chalk.gray(' - Please update your package.json to use matching versions of both packages'));
|
|
144
171
|
break;
|
|
145
172
|
case 'local-needs-update':
|
|
146
173
|
console.error(chalk.red('❌ Error: the version of installed nextjs-cms in your cms is different from the version in package.json'));
|
|
@@ -148,68 +175,14 @@ function validateNextjsCmsApp() {
|
|
|
148
175
|
console.error(chalk.gray(' - Package version: ' + result.packageVersion));
|
|
149
176
|
console.error(chalk.green(' - Please run `pnpm install and try again'));
|
|
150
177
|
break;
|
|
178
|
+
case 'kit-needs-update':
|
|
179
|
+
console.error(chalk.red('❌ Error: the version of installed nextjs-cms-kit in your cms is different from the version in package.json'));
|
|
180
|
+
console.error(chalk.gray(' - Installed version: ' + result.installedVersion));
|
|
181
|
+
console.error(chalk.gray(' - Package version: ' + result.packageVersion));
|
|
182
|
+
console.error(chalk.green(` - Please run ${preferredPM} install and try again`));
|
|
183
|
+
break;
|
|
151
184
|
}
|
|
152
185
|
process.exit(1);
|
|
153
186
|
}
|
|
154
187
|
}
|
|
155
|
-
|
|
156
|
-
validateNextjsCmsApp();
|
|
157
|
-
const program = new Command();
|
|
158
|
-
program
|
|
159
|
-
.name('nextjs-cms-kit')
|
|
160
|
-
.option('-d, --dev', 'use development environment file, use -d/--dev before any command to use the development environment file (e.g. nextjs-cms-kit -d setup)', false)
|
|
161
|
-
.option('-f, --force', 'force the command to run even when version mismatch is detected', false)
|
|
162
|
-
.description(chalk.green('nextjs-cms CLI toolkit for managing your nextjs-cms application'))
|
|
163
|
-
.version(version)
|
|
164
|
-
// Include -v option to show the version number
|
|
165
|
-
.addOption(new Option('-v').hideHelp())
|
|
166
|
-
.enablePositionalOptions();
|
|
167
|
-
program
|
|
168
|
-
.command('setup')
|
|
169
|
-
.description('Complete nextjs-cms setup')
|
|
170
|
-
.option('--continue', 'continue the setup if you have already setup the database', false)
|
|
171
|
-
.passThroughOptions()
|
|
172
|
-
.action(async function () {
|
|
173
|
-
const c = Boolean(this.opts().continue);
|
|
174
|
-
const { runSetup } = await import('../commands/setup.js');
|
|
175
|
-
await runSetup(Boolean(program.opts().dev), c);
|
|
176
|
-
});
|
|
177
|
-
program
|
|
178
|
-
.command('db-config')
|
|
179
|
-
.description('Initialize nextjs-cms database configuration')
|
|
180
|
-
.passThroughOptions()
|
|
181
|
-
.action(async () => {
|
|
182
|
-
const { runDbConfig } = await import('../commands/db-config.js');
|
|
183
|
-
await runDbConfig(Boolean(program.opts().dev));
|
|
184
|
-
});
|
|
185
|
-
program
|
|
186
|
-
.command('set-master-admin')
|
|
187
|
-
.description('Set or update master admin password')
|
|
188
|
-
.passThroughOptions()
|
|
189
|
-
.action(async () => {
|
|
190
|
-
const { runSetMasterAdmin } = await import('../commands/set-master-admin.js');
|
|
191
|
-
await runSetMasterAdmin(Boolean(program.opts().dev));
|
|
192
|
-
});
|
|
193
|
-
program
|
|
194
|
-
.command('fix-master-admin')
|
|
195
|
-
.description('Fix master admin privileges for all sections')
|
|
196
|
-
.passThroughOptions()
|
|
197
|
-
.action(async () => {
|
|
198
|
-
const { runFixMasterAdmin } = await import('../commands/fix-master-admin.js');
|
|
199
|
-
await runFixMasterAdmin();
|
|
200
|
-
});
|
|
201
|
-
program
|
|
202
|
-
.command('update-sections')
|
|
203
|
-
.description('Update database tables based on current sections and update master admin privileges')
|
|
204
|
-
.passThroughOptions()
|
|
205
|
-
.action(async () => {
|
|
206
|
-
const { runUpdateSections } = await import('../commands/update-sections.js');
|
|
207
|
-
await runUpdateSections(Boolean(program.opts().dev));
|
|
208
|
-
});
|
|
209
|
-
program.showHelpAfterError('(add --help for additional information)');
|
|
210
|
-
// Show the version number when the -v option is used
|
|
211
|
-
program.on('option:v', () => {
|
|
212
|
-
console.log(program.version());
|
|
213
|
-
process.exit();
|
|
214
|
-
});
|
|
215
|
-
export default program;
|
|
188
|
+
export const packageVersion = packageJson.version;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-intro.d.ts","sourceRoot":"","sources":["../../src/utils/display-intro.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,GAAI,yBAAyB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,SASrG,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getTitle } from './render-title.js';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import * as p from '@clack/prompts';
|
|
4
|
+
export const displayIntro = ({ command, dev, title }) => {
|
|
5
|
+
console.log();
|
|
6
|
+
console.log(chalk.white.bold(`${getTitle()} > ${chalk.cyan.italic(command)} ${dev ? chalk.gray('(development)') : chalk.gray('(production)')}`));
|
|
7
|
+
console.log();
|
|
8
|
+
p.intro(chalk.inverse(` ${title} `));
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec-utils.d.ts","sourceRoot":"","sources":["../../src/utils/exec-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,sBAAsB,KAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAuGzF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-package-manager.d.ts","sourceRoot":"","sources":["../../src/utils/get-package-manager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAC5D,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAkBtE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function detectPackageManager() {
|
|
2
|
+
// This environment variable is set by npm and yarn but pnpm seems less consistent
|
|
3
|
+
const userAgent = process.env.npm_config_user_agent;
|
|
4
|
+
if (userAgent) {
|
|
5
|
+
if (userAgent.startsWith('yarn')) {
|
|
6
|
+
return 'yarn';
|
|
7
|
+
}
|
|
8
|
+
else if (userAgent.startsWith('pnpm')) {
|
|
9
|
+
return 'pnpm';
|
|
10
|
+
}
|
|
11
|
+
else if (userAgent.startsWith('bun')) {
|
|
12
|
+
return 'bun';
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return 'npm';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// If no user agent is set, assume npm
|
|
20
|
+
return 'npm';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reload-env.d.ts","sourceRoot":"","sources":["../../src/utils/reload-env.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAepE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAIlF;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAQjH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-title.d.ts","sourceRoot":"","sources":["../../src/utils/render-title.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,cAGpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../src/utils/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAoBzD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,WAAW,CAAA;CAC1B,GAAG,OAAO,CAAC;IACR,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CAkKD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nextjs-cms-kit",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.68",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"nextjs-cms-kit": "./dist/index.js"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"gradient-string": "^3.0.0",
|
|
34
34
|
"mysql2": "^3.12.0",
|
|
35
35
|
"ora": "9.0.0",
|
|
36
|
-
"nextjs-cms": "0.5.
|
|
36
|
+
"nextjs-cms": "0.5.68"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/bcrypt": "^6.0.0",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"prettier": "^3.3.3",
|
|
43
43
|
"tsx": "^4.20.6",
|
|
44
44
|
"typescript": "^5.9.2",
|
|
45
|
-
"@lzcms/prettier-config": "0.1.0",
|
|
46
45
|
"@lzcms/eslint-config": "0.3.0",
|
|
47
|
-
"@lzcms/tsconfig": "0.1.0"
|
|
46
|
+
"@lzcms/tsconfig": "0.1.0",
|
|
47
|
+
"@lzcms/prettier-config": "0.1.0"
|
|
48
48
|
},
|
|
49
49
|
"prettier": "@lzcms/prettier-config",
|
|
50
50
|
"scripts": {
|
package/dist/lib/actions.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function fixMasterAdminPrivileges(): Promise<void>;
|
|
2
|
-
export declare function getMasterAdmin(): Promise<{
|
|
3
|
-
id: string;
|
|
4
|
-
user: string;
|
|
5
|
-
} | null | undefined>;
|
|
6
|
-
export declare function setMaterAdmin(password: string): Promise<void>;
|
|
7
|
-
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/lib/actions.ts"],"names":[],"mappings":"AAAA,wBAAsB,wBAAwB,kBA6B7C;AAED,wBAAsB,cAAc;;;sBAgBnC;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,iBAyBnD"}
|
package/dist/lib/actions.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
export async function fixMasterAdminPrivileges() {
|
|
2
|
-
// Lazy import heavy dependencies to avoid eager database connection initialization
|
|
3
|
-
const { SectionFactory } = await import('nextjs-cms/core/factories');
|
|
4
|
-
const { db } = await import('nextjs-cms/db/client');
|
|
5
|
-
const { AdminPrivilegesTable } = await import('nextjs-cms/db/schema');
|
|
6
|
-
// Let's also add privileges for all the sections to the master admin
|
|
7
|
-
// Loop through the sections to get the section ids for the insertion into the admin_privileges table
|
|
8
|
-
const sections = await SectionFactory.getSectionsSilently();
|
|
9
|
-
const rows = sections.map((section) => ({
|
|
10
|
-
adminId: '1',
|
|
11
|
-
sectionName: section.name,
|
|
12
|
-
operations: 'CUD',
|
|
13
|
-
publisher: '1',
|
|
14
|
-
}));
|
|
15
|
-
if (rows.length === 0)
|
|
16
|
-
return;
|
|
17
|
-
await db
|
|
18
|
-
.insert(AdminPrivilegesTable)
|
|
19
|
-
.values(rows)
|
|
20
|
-
.onDuplicateKeyUpdate({
|
|
21
|
-
set: {
|
|
22
|
-
operations: 'CUD',
|
|
23
|
-
publisher: true,
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
export async function getMasterAdmin() {
|
|
29
|
-
// Lazy import heavy dependencies to avoid eager database connection initialization
|
|
30
|
-
const { db } = await import('nextjs-cms/db/client');
|
|
31
|
-
const { AdminsTable } = await import('nextjs-cms/db/schema');
|
|
32
|
-
const { eq, and } = await import('drizzle-orm');
|
|
33
|
-
const masterAdmin = await db
|
|
34
|
-
.select({
|
|
35
|
-
id: AdminsTable.id,
|
|
36
|
-
user: AdminsTable.user,
|
|
37
|
-
})
|
|
38
|
-
.from(AdminsTable)
|
|
39
|
-
.where(and(eq(AdminsTable.id, '1'), eq(AdminsTable.user, 'Master')));
|
|
40
|
-
if (masterAdmin.length === 0)
|
|
41
|
-
return null;
|
|
42
|
-
return masterAdmin[0];
|
|
43
|
-
}
|
|
44
|
-
export async function setMaterAdmin(password) {
|
|
45
|
-
// Lazy import heavy dependencies to avoid eager database connection initialization
|
|
46
|
-
const bcrypt = await import('bcrypt');
|
|
47
|
-
const { db } = await import('nextjs-cms/db/client');
|
|
48
|
-
const { AdminsTable } = await import('nextjs-cms/db/schema');
|
|
49
|
-
try {
|
|
50
|
-
const hashedPassword = await bcrypt.hash(password, 10);
|
|
51
|
-
await db
|
|
52
|
-
.insert(AdminsTable)
|
|
53
|
-
.values({
|
|
54
|
-
id: '1', // Master admin id is always 1
|
|
55
|
-
pass: hashedPassword,
|
|
56
|
-
user: 'Master',
|
|
57
|
-
})
|
|
58
|
-
.onDuplicateKeyUpdate({
|
|
59
|
-
set: {
|
|
60
|
-
pass: hashedPassword,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
console.log('Error creating master admin', err);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-table-keys.d.ts","sourceRoot":"","sources":["../../src/lib/add-table-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,wBAAsB,YAAY,CAC9B,KAAK,EAAE;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;IACnD,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;IACpD,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAA;CACzD,EACD,YAAY,CAAC,EAAE;IACX,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IACjD,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IAChD,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;CACtD,mBAgPJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db-config-setup.d.ts","sourceRoot":"","sources":["../../src/lib/db-config-setup.ts"],"names":[],"mappings":"AAmCA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,iBAkP5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec-utils.d.ts","sourceRoot":"","sources":["../../src/lib/exec-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,sBAAsB,KAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAuGzF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/lib/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAgO3C,QAAA,MAAM,OAAO,SAAgB,CAAA;AAuE7B,eAAe,OAAO,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reload-env.d.ts","sourceRoot":"","sources":["../../src/lib/reload-env.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAepE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAIlF;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAQjH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-title.d.ts","sourceRoot":"","sources":["../../src/lib/render-title.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,cAGpB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-generator.d.ts","sourceRoot":"","sources":["../../src/lib/schema-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAoBzD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,WAAW,CAAA;CAC1B,GAAG,OAAO,CAAC;IACR,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CAkKD"}
|
|
File without changes
|
|
File without changes
|