adminforth 2.25.0-test.9 → 2.26.0-next.1
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/commands/bundle.js +2 -1
- package/commands/createApp/templates/Dockerfile.hbs +12 -0
- package/commands/createApp/templates/custom/package.json.hbs +12 -0
- package/commands/createApp/templates/package.json.hbs +12 -0
- package/commands/createApp/templates/pnpm_templates/pnpm-lock.yaml.hbs +8 -0
- package/commands/createApp/templates/readme.md.hbs +19 -0
- package/commands/createApp/utils.js +105 -24
- package/commands/createPlugin/utils.js +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/dataConnectors/baseConnector.d.ts +2 -2
- package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
- package/dist/dataConnectors/baseConnector.js +1 -1
- package/dist/dataConnectors/baseConnector.js.map +1 -1
- package/dist/dataConnectors/mysql.d.ts +3 -2
- package/dist/dataConnectors/mysql.d.ts.map +1 -1
- package/dist/dataConnectors/mysql.js +26 -1
- package/dist/dataConnectors/mysql.js.map +1 -1
- package/dist/dataConnectors/postgres.d.ts +3 -2
- package/dist/dataConnectors/postgres.d.ts.map +1 -1
- package/dist/dataConnectors/postgres.js +25 -1
- package/dist/dataConnectors/postgres.js.map +1 -1
- package/dist/dataConnectors/sqlite.d.ts +3 -2
- package/dist/dataConnectors/sqlite.d.ts.map +1 -1
- package/dist/dataConnectors/sqlite.js +21 -1
- package/dist/dataConnectors/sqlite.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/codeInjector.d.ts +10 -1
- package/dist/modules/codeInjector.d.ts.map +1 -1
- package/dist/modules/codeInjector.js +144 -24
- package/dist/modules/codeInjector.js.map +1 -1
- package/dist/modules/configValidator.d.ts.map +1 -1
- package/dist/modules/configValidator.js +8 -1
- package/dist/modules/configValidator.js.map +1 -1
- package/dist/modules/restApi.d.ts.map +1 -1
- package/dist/modules/restApi.js +5 -0
- package/dist/modules/restApi.js.map +1 -1
- package/dist/modules/utils.d.ts +7 -0
- package/dist/modules/utils.d.ts.map +1 -1
- package/dist/modules/utils.js +34 -0
- package/dist/modules/utils.js.map +1 -1
- package/dist/spa/src/afcl/Select.vue +5 -1
- package/dist/spa/src/types/Back.ts +2 -1
- package/dist/spa/vite.config.ts +14 -12
- package/dist/types/Back.d.ts +2 -1
- package/dist/types/Back.d.ts.map +1 -1
- package/package.json +3 -2
- package/scripts/postinstall.js +25 -0
- /package/commands/createApp/templates/{pnpm-workspace.yaml.hbs → pnpm_templates/pnpm-workspace.yaml.hbs} +0 -0
|
@@ -9,6 +9,7 @@ import yaml from 'yaml';
|
|
|
9
9
|
import { ADMIN_FORTH_ABSOLUTE_PATH, getComponentNameFromPath, md5hash } from './utils.js';
|
|
10
10
|
import { StylesGenerator } from './styleGenerator.js';
|
|
11
11
|
import { afLogger } from '../modules/logger.js';
|
|
12
|
+
import { pathToFileURL } from 'url';
|
|
12
13
|
let TMP_DIR;
|
|
13
14
|
try {
|
|
14
15
|
TMP_DIR = os.tmpdir();
|
|
@@ -77,7 +78,7 @@ class CodeInjector {
|
|
|
77
78
|
const uniqueIcons = Array.from(new Set(icons));
|
|
78
79
|
const collections = new Set(icons.map((icon) => icon.split(':')[0]));
|
|
79
80
|
const iconPackageNames = Array.from(collections).map((collection) => `@iconify-prerendered/vue-${collection}`);
|
|
80
|
-
const iconPackages = (await Promise.allSettled(iconPackageNames.map(async (pkg) => ({ pkg: await import(this.spaTmpPath()
|
|
81
|
+
const iconPackages = (await Promise.allSettled(iconPackageNames.map(async (pkg) => ({ pkg: await import(pathToFileURL(path.join(this.spaTmpPath(), 'node_modules', pkg)).href), name: pkg }))));
|
|
81
82
|
const loadedIconPackages = iconPackages.filter(isFulfilled).map((res) => res.value).reduce((acc, { pkg, name }) => {
|
|
82
83
|
acc[name.slice(`@iconify-prerendered/vue-`.length)] = pkg;
|
|
83
84
|
return acc;
|
|
@@ -117,25 +118,56 @@ class CodeInjector {
|
|
|
117
118
|
process.exit();
|
|
118
119
|
}));
|
|
119
120
|
}
|
|
120
|
-
async
|
|
121
|
+
async doesUserHasPnpmLockFile(dir) {
|
|
122
|
+
const usersPackagePath = path.join(dir, 'package.json');
|
|
123
|
+
let packageContent = null;
|
|
124
|
+
try {
|
|
125
|
+
packageContent = JSON.parse(await fs.promises.readFile(usersPackagePath, 'utf-8'));
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
// user package.json does not exist, user does not have custom components
|
|
129
|
+
}
|
|
130
|
+
if (packageContent) {
|
|
131
|
+
const lockPath = path.join(dir, 'pnpm-lock.yaml');
|
|
132
|
+
let lock = null;
|
|
133
|
+
try {
|
|
134
|
+
lock = yaml.parse(await fs.promises.readFile(lockPath, 'utf-8'));
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
async runPackageManagerShell({ command, cwd, envOverrides = {} }) {
|
|
121
144
|
const nodeBinary = process.execPath; // Path to the Node.js binary running this script
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
145
|
+
const doesUserHavePnpmLock = await this.doesUserHasPnpmLockFile(this.adminforth.config.customization.customComponentsDir);
|
|
146
|
+
// On Windows, npm/pnpm is npm/pnpm.cmd, on Unix systems it's npm/pnpm
|
|
147
|
+
let packageExecutable;
|
|
148
|
+
if (doesUserHavePnpmLock) {
|
|
149
|
+
afLogger.trace(`User has pnpm-lock.yaml, using pnpm for installing custom components`);
|
|
150
|
+
packageExecutable = process.platform === 'win32' ? 'pnpm.cmd' : 'pnpm';
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
afLogger.trace(`User does not have pnpm-lock.yaml, falling back to npm for installing custom components`);
|
|
154
|
+
packageExecutable = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
155
|
+
}
|
|
156
|
+
const packagePath = path.join(path.dirname(nodeBinary), packageExecutable); // Path to the package executable
|
|
125
157
|
const env = Object.assign(Object.assign({ VITE_ADMINFORTH_PUBLIC_PATH: this.adminforth.config.baseUrl, FORCE_COLOR: '1' }, process.env), envOverrides);
|
|
126
|
-
afLogger.trace(`⚙️ exec:
|
|
127
|
-
afLogger.trace(`🪲
|
|
158
|
+
afLogger.trace(`⚙️ exec: ${packageExecutable} ${command}`);
|
|
159
|
+
afLogger.trace(`🪲 ${packageExecutable} ${command} cwd: ${cwd}`);
|
|
128
160
|
let execCommand;
|
|
129
161
|
if (process.platform === 'win32') {
|
|
130
162
|
// Quote path if it contains spaces
|
|
131
|
-
const
|
|
132
|
-
execCommand = `${
|
|
163
|
+
const quotedPackagePath = packagePath.includes(' ') ? `"${packagePath}"` : packagePath;
|
|
164
|
+
execCommand = `${quotedPackagePath} ${command}`;
|
|
133
165
|
}
|
|
134
166
|
else {
|
|
135
167
|
// Quote paths that contain spaces (for Unix systems)
|
|
136
168
|
const quotedNodeBinary = nodeBinary.includes(' ') ? `"${nodeBinary}"` : nodeBinary;
|
|
137
|
-
const
|
|
138
|
-
execCommand = `${quotedNodeBinary} ${
|
|
169
|
+
const quotedPackagePath = packagePath.includes(' ') ? `"${packagePath}"` : packagePath;
|
|
170
|
+
execCommand = `${quotedNodeBinary} ${quotedPackagePath} ${command}`;
|
|
139
171
|
}
|
|
140
172
|
const execOptions = {
|
|
141
173
|
cwd,
|
|
@@ -145,9 +177,9 @@ class CodeInjector {
|
|
|
145
177
|
execOptions.shell = true;
|
|
146
178
|
}
|
|
147
179
|
const { stderr: err } = await execAsync(execCommand, execOptions);
|
|
148
|
-
afLogger.trace(
|
|
180
|
+
afLogger.trace(`${packageExecutable} ${command} done in`);
|
|
149
181
|
if (err) {
|
|
150
|
-
afLogger.trace(
|
|
182
|
+
afLogger.trace(`🪲${packageExecutable} ${command} errors/warnings: ${err}`);
|
|
151
183
|
}
|
|
152
184
|
}
|
|
153
185
|
async rmTmpDir() {
|
|
@@ -187,7 +219,7 @@ class CodeInjector {
|
|
|
187
219
|
npmLock = JSON.parse(await fs.promises.readFile(npmLockPath, 'utf-8'));
|
|
188
220
|
}
|
|
189
221
|
catch (npmLockError) {
|
|
190
|
-
throw new Error(`Custom pnpm-lock.yaml does not exist in ${dir}, but package.json does.
|
|
222
|
+
throw new Error(`Custom pnpm-lock.yaml or package-lock.json does not exist in ${dir}, but package.json does.
|
|
191
223
|
We can't determine version of packages without pnpm-lock.yaml or package-lock.json. Please run pnpm install or npm install in ${dir}`);
|
|
192
224
|
}
|
|
193
225
|
lockHash = hashify(npmLock);
|
|
@@ -583,6 +615,7 @@ class CodeInjector {
|
|
|
583
615
|
routerVueContent = routerVueContent.replace('/* IMPORTANT:ADMINFORTH ROUTES */', routes);
|
|
584
616
|
await fs.promises.writeFile(routerVuePath, routerVueContent);
|
|
585
617
|
/* hash checking */
|
|
618
|
+
// Here we use pnpm-lock.yaml, because this file will be anywat, even if user doesn't use it
|
|
586
619
|
const spaPnpmLockPath = path.join(this.spaTmpPath(), 'pnpm-lock.yaml');
|
|
587
620
|
const spaPnpmLock = yaml.parse(await fs.promises.readFile(spaPnpmLockPath, 'utf-8'));
|
|
588
621
|
const spaLockHash = hashify(spaPnpmLock);
|
|
@@ -625,7 +658,8 @@ class CodeInjector {
|
|
|
625
658
|
// ignore
|
|
626
659
|
afLogger.trace(`🪲Hash file does not exist, proceeding with pnpm install, ${e}`);
|
|
627
660
|
}
|
|
628
|
-
|
|
661
|
+
// install --frozen-lockfile works for npm and pnpm
|
|
662
|
+
await this.runPackageManagerShell({ command: 'install --frozen-lockfile', cwd: this.spaTmpPath(), envOverrides: {
|
|
629
663
|
NODE_ENV: 'development' // otherwise it will not install devDependencies which we still need, e.g for extract
|
|
630
664
|
} });
|
|
631
665
|
const allPacks = [
|
|
@@ -642,9 +676,9 @@ class CodeInjector {
|
|
|
642
676
|
});
|
|
643
677
|
const allPacksUnique = Array.from(new Set(allPacksFiltered));
|
|
644
678
|
if (allPacks.length) {
|
|
645
|
-
const
|
|
646
|
-
await this.
|
|
647
|
-
command:
|
|
679
|
+
const packageManagerInstallCommand = `install ${allPacksUnique.join(' ')}`;
|
|
680
|
+
await this.runPackageManagerShell({
|
|
681
|
+
command: packageManagerInstallCommand, cwd: this.spaTmpPath(),
|
|
648
682
|
envOverrides: {
|
|
649
683
|
NODE_ENV: 'development' // otherwise it will not install devDependencies which we still need, e.g for extract
|
|
650
684
|
}
|
|
@@ -780,6 +814,45 @@ class CodeInjector {
|
|
|
780
814
|
}));
|
|
781
815
|
return md5hash(hashes.join(''));
|
|
782
816
|
}
|
|
817
|
+
// Compute a map of file relative paths -> md5 hash of file contents and return it.
|
|
818
|
+
// Skips directories/files that are ignored by computeSourcesHash (node_modules, dist, i18n files).
|
|
819
|
+
async computeSourcesHashMap(folderPath = this.spaTmpPath(), rootFolder = this.spaTmpPath(), map = {}) {
|
|
820
|
+
const files = await fs.promises.readdir(folderPath, { withFileTypes: true });
|
|
821
|
+
await Promise.all(files.map(async (file) => {
|
|
822
|
+
const filePath = path.join(folderPath, file.name);
|
|
823
|
+
// 🚫 Skip big/dynamic folders or files
|
|
824
|
+
if (file.name === 'node_modules' || file.name === 'dist' ||
|
|
825
|
+
file.name === 'i18n-messages.json' || file.name === 'i18n-empty.json' || file.name === 'hashes.json') {
|
|
826
|
+
return;
|
|
827
|
+
}
|
|
828
|
+
if (file.isDirectory()) {
|
|
829
|
+
return await this.computeSourcesHashMap(filePath, rootFolder, map);
|
|
830
|
+
}
|
|
831
|
+
else {
|
|
832
|
+
try {
|
|
833
|
+
const content = await fs.promises.readFile(filePath, 'utf-8');
|
|
834
|
+
const hash = md5hash(content);
|
|
835
|
+
// store relative path using forward slashes for portability
|
|
836
|
+
const rel = path.relative(rootFolder, filePath).split(path.sep).join('/');
|
|
837
|
+
map[rel] = hash;
|
|
838
|
+
}
|
|
839
|
+
catch (e) {
|
|
840
|
+
// If a file can't be read (binary or permission), log and continue
|
|
841
|
+
afLogger.trace(`🪲File ${filePath} read error: ${e}`);
|
|
842
|
+
return;
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}));
|
|
846
|
+
return map;
|
|
847
|
+
}
|
|
848
|
+
// Convenience helper: compute per-file hashes and save them into hashes.json in the spa tmp dir
|
|
849
|
+
async saveSourcesHashesToFile(outputFileName = 'hashes.json', hashMap = {}) {
|
|
850
|
+
const root = this.spaTmpPath();
|
|
851
|
+
const outPath = path.join(root, outputFileName);
|
|
852
|
+
await fs.promises.writeFile(outPath, JSON.stringify(hashMap, null, 2), 'utf-8');
|
|
853
|
+
afLogger.trace(`🪲 Saved sources hashes to ${outPath}`);
|
|
854
|
+
return outPath;
|
|
855
|
+
}
|
|
783
856
|
async bundleNow({ hotReload = false }) {
|
|
784
857
|
afLogger.info(`${this.adminforth.formatAdminForth()} Bundling ${hotReload ? 'and listening for changes (🔥 Hotreload)' : ' (no hot reload)'}`);
|
|
785
858
|
this.adminforth.runningHotReload = hotReload;
|
|
@@ -818,7 +891,7 @@ class CodeInjector {
|
|
|
818
891
|
await fs.promises.mkdir(serveDir, { recursive: true });
|
|
819
892
|
}
|
|
820
893
|
if (!skipExtract) {
|
|
821
|
-
await this.
|
|
894
|
+
await this.runPackageManagerShell({ command: 'run i18n:extract', cwd });
|
|
822
895
|
// create serveDir if not exists
|
|
823
896
|
await fs.promises.mkdir(serveDir, { recursive: true });
|
|
824
897
|
// copy i18n messages to serve dir
|
|
@@ -831,12 +904,58 @@ class CodeInjector {
|
|
|
831
904
|
}
|
|
832
905
|
if (!hotReload) {
|
|
833
906
|
if (!skipBuild) {
|
|
907
|
+
console.log(`🪲 Build cache miss, building SPA...`);
|
|
908
|
+
let oldHashForFiles = null;
|
|
909
|
+
try {
|
|
910
|
+
oldHashForFiles = await fs.promises.readFile(path.join(this.spaTmpPath(), 'hashes.json'), 'utf-8');
|
|
911
|
+
}
|
|
912
|
+
catch (e) {
|
|
913
|
+
// ignore if file doesn't exist, it is only for debugging
|
|
914
|
+
console.log(`Build cache not found, building now (downtime) please consider running npx adminforth bundle at build time to avoid downtimes at runtime`);
|
|
915
|
+
}
|
|
916
|
+
const root = this.spaTmpPath();
|
|
917
|
+
const hashMap = await this.computeSourcesHashMap(root, root, {});
|
|
918
|
+
if (oldHashForFiles) {
|
|
919
|
+
const parsedOldHashForFiles = JSON.parse(oldHashForFiles);
|
|
920
|
+
const logsToDisplay = [];
|
|
921
|
+
logsToDisplay.push(`Build cache exists but is outdated:`);
|
|
922
|
+
for (const [file, hash] of Object.entries(hashMap)) {
|
|
923
|
+
if (!parsedOldHashForFiles[file]) {
|
|
924
|
+
logsToDisplay.push(` - file ${file} - does not exist in cache but exists in runtime`);
|
|
925
|
+
}
|
|
926
|
+
else if (parsedOldHashForFiles[file] !== hash) {
|
|
927
|
+
logsToDisplay.push(` - file ${file} - content in cache is different then in runtime`);
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* Currently we can't detect, if file was removed,
|
|
932
|
+
* because we can only add files to the tpm folder but not remove them,
|
|
933
|
+
* so if file existed before and now doesn't exist, we will not detect it
|
|
934
|
+
*/
|
|
935
|
+
// for(const [file, hash] of Object.entries(parsedOldHashForFiles)) {
|
|
936
|
+
// console.log(`checking file ${file} in old hash: ${hash}`);
|
|
937
|
+
// console.log(`checking file ${file} in new hash: ${hashMap[file]}`);
|
|
938
|
+
// if (!hashMap[file]) {
|
|
939
|
+
// logsToDisplay.push(` - file ${file} - exists in cache but does not exist in runtime`);
|
|
940
|
+
// }
|
|
941
|
+
// }
|
|
942
|
+
logsToDisplay.push(`If you are running in production now, then the cache loss is a downtime issue.`);
|
|
943
|
+
logsToDisplay.push(`If you have npx adminforth bundle in build time, then this issue might be caused by conditional instantiation of plugins:`);
|
|
944
|
+
logsToDisplay.push(`Please avoid constructions like (process.env.SOME_KEY ? new Plugin(...) ) because if you will miss SOME_KEY in build time build cache and functionality fails.`);
|
|
945
|
+
if (logsToDisplay.length > 4) {
|
|
946
|
+
for (const log of logsToDisplay) {
|
|
947
|
+
console.log(log);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
}
|
|
834
951
|
// TODO probably add option to build with tsh check (plain 'build')
|
|
835
|
-
await this.
|
|
952
|
+
await this.runPackageManagerShell({ command: 'run build-only', cwd });
|
|
836
953
|
// coy dist to serveDir
|
|
837
954
|
await fsExtra.copy(path.join(cwd, 'dist'), serveDir, { recursive: true });
|
|
838
955
|
// save hash
|
|
839
956
|
await fs.promises.writeFile(path.join(serveDir, '.adminforth_build_hash'), sourcesHash);
|
|
957
|
+
// save sources hashes to file for later debugging if needed
|
|
958
|
+
await this.saveSourcesHashesToFile('hashes.json', hashMap);
|
|
840
959
|
}
|
|
841
960
|
else {
|
|
842
961
|
afLogger.info(`Skipping AdminForth SPA bundling - already completed for the current sources.`);
|
|
@@ -844,19 +963,20 @@ class CodeInjector {
|
|
|
844
963
|
}
|
|
845
964
|
else {
|
|
846
965
|
const command = 'run dev';
|
|
847
|
-
|
|
966
|
+
const usersPackageManager = await this.doesUserHasPnpmLockFile(this.adminforth.config.customization.customComponentsDir) ? 'pnpm' : 'npm';
|
|
967
|
+
afLogger.info(`⚙️ spawn: ${usersPackageManager} ${command}...`);
|
|
848
968
|
if (process.env.VITE_ADMINFORTH_PUBLIC_PATH) {
|
|
849
969
|
afLogger.info(`⚠️ Your VITE_ADMINFORTH_PUBLIC_PATH: ${process.env.VITE_ADMINFORTH_PUBLIC_PATH} has no effect`);
|
|
850
970
|
}
|
|
851
971
|
const env = Object.assign({ VITE_ADMINFORTH_PUBLIC_PATH: this.adminforth.config.baseUrl, FORCE_COLOR: '1' }, process.env);
|
|
852
972
|
const nodeBinary = process.execPath;
|
|
853
|
-
const
|
|
973
|
+
const packageManagerPath = path.join(path.dirname(nodeBinary), usersPackageManager);
|
|
854
974
|
let devServer;
|
|
855
975
|
if (process.platform === 'win32') {
|
|
856
|
-
devServer = spawn(
|
|
976
|
+
devServer = spawn(usersPackageManager, command.split(' '), { cwd, env, shell: true });
|
|
857
977
|
}
|
|
858
978
|
else {
|
|
859
|
-
devServer = spawn(`${nodeBinary}`, [`${
|
|
979
|
+
devServer = spawn(`${nodeBinary}`, [`${packageManagerPath}`, ...command.split(' ')], { cwd, env });
|
|
860
980
|
}
|
|
861
981
|
devServer.stdout.on('data', (data) => {
|
|
862
982
|
if (data.includes('➜')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeInjector.js","sourceRoot":"","sources":["../../modules/codeInjector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeInjector.js","sourceRoot":"","sources":["../../modules/codeInjector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAE7B,cAAc,EACd,MAAM,EAIP,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,KAAK,kCAAkC,EAEvC,8BAA8B,EAI/B,MAAM,oBAAoB,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,gBAAgB;IAQlD,OAAO,CAAC,UAAU;IAAe,OAAO,CAAC,WAAW;IANhE,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAClG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAsE;IACnH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAoK;gBAE3L,UAAU,EAAE,WAAW,EAAU,WAAW,EAAE,qBAAqB;IAKvF,2BAA2B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA;IAe5C,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,kCAAkC,CAAC;IAYvI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAUtD,iBAAiB,CAAC,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,kCAAkC;IA6BvH,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,6BAA6B;IAqGlF,kCAAkC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc;IAwBvG,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"configValidator.d.ts","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAE7B,cAAc,EACd,MAAM,EAIP,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,KAAK,kCAAkC,EAEvC,8BAA8B,EAI/B,MAAM,oBAAoB,CAAC;AAM5B,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,gBAAgB;IAQlD,OAAO,CAAC,UAAU;IAAe,OAAO,CAAC,WAAW;IANhE,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAClG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAsE;IACnH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAoK;gBAE3L,UAAU,EAAE,WAAW,EAAU,WAAW,EAAE,qBAAqB;IAKvF,2BAA2B,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA;IAe5C,8BAA8B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,kCAAkC,CAAC;IAYvI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAUtD,iBAAiB,CAAC,SAAS,EAAE,8BAA8B,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,kCAAkC;IA6BvH,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,6BAA6B;IAqGlF,kCAAkC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc;IAwBvG,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE;IAkF9I,0BAA0B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IAmClJ,mBAAmB,CAAC,WAAW,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAkChH,iCAAiC,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;IA8C/H,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE;IAuiBzF,8BAA8B;IAK9B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,kBAAkB;IAQ1B,cAAc;IA6Ld,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB;CAuBtD"}
|
|
@@ -3,6 +3,7 @@ import path from 'path';
|
|
|
3
3
|
import { guessLabelFromName, md5hash, suggestIfTypo, slugifyString } from './utils.js';
|
|
4
4
|
import { AdminForthSortDirections, AllowedActionsEnum, AdminForthResourcePages, AdminForthDataTypes, } from "../types/Common.js";
|
|
5
5
|
import { afLogger } from "./logger.js";
|
|
6
|
+
import { cascadeChildrenDelete } from './utils.js';
|
|
6
7
|
class ConfigValidator {
|
|
7
8
|
constructor(adminforth, inputConfig) {
|
|
8
9
|
this.adminforth = adminforth;
|
|
@@ -214,8 +215,8 @@ class ConfigValidator {
|
|
|
214
215
|
if (error) {
|
|
215
216
|
return;
|
|
216
217
|
}
|
|
218
|
+
await cascadeChildrenDelete(res, recordId, { adminUser, response }, this.adminforth);
|
|
217
219
|
await connector.deleteRecord({ resource: res, recordId });
|
|
218
|
-
// call afterDelete hook
|
|
219
220
|
await Promise.all((res.hooks.delete.afterSave).map(async (hook) => {
|
|
220
221
|
await hook({
|
|
221
222
|
resource: res,
|
|
@@ -499,6 +500,12 @@ class ConfigValidator {
|
|
|
499
500
|
}
|
|
500
501
|
}
|
|
501
502
|
if (col.foreignResource) {
|
|
503
|
+
if (col.foreignResource.onDelete && (col.foreignResource.onDelete !== 'cascade' && col.foreignResource.onDelete !== 'setNull')) {
|
|
504
|
+
errors.push(`Resource "${res.resourceId}" column "${col.name}" has wrong delete strategy, you can use 'setNull' or 'cascade'`);
|
|
505
|
+
}
|
|
506
|
+
if (col.foreignResource.onDelete === 'setNull' && col.required) {
|
|
507
|
+
errors.push(`Resource "${res.resourceId}" column "${col.name}" cannot use onDelete 'setNull' because column is required (non-nullable).`);
|
|
508
|
+
}
|
|
502
509
|
if (!col.foreignResource.resourceId) {
|
|
503
510
|
// resourceId is absent or empty
|
|
504
511
|
if (!col.foreignResource.polymorphicResources && !col.foreignResource.polymorphicOn) {
|