rimecms 0.28.2 → 0.28.4
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.
|
@@ -19,7 +19,7 @@ const write = (schema) => {
|
|
|
19
19
|
fs.writeFileSync(outputFile, schema);
|
|
20
20
|
}
|
|
21
21
|
catch (err) {
|
|
22
|
-
|
|
22
|
+
throw new Error(`Error writing schema: ${err.message}`);
|
|
23
23
|
}
|
|
24
24
|
const pm = getPackageManager();
|
|
25
25
|
const commandMap = {
|
|
@@ -33,11 +33,20 @@ const write = (schema) => {
|
|
|
33
33
|
logger.info('[✓] Schema: generated at src/lib/server/schema.ts');
|
|
34
34
|
console.log('============================================================');
|
|
35
35
|
console.log(`\n ⚡︎ ${command} drizzle-kit generate \n`);
|
|
36
|
-
spawnSync(command, ['drizzle-kit', 'generate'], { stdio: 'inherit' });
|
|
36
|
+
const generateResult = spawnSync(command, ['drizzle-kit', 'generate'], { stdio: 'inherit' });
|
|
37
|
+
if (generateResult.error || generateResult.status !== 0) {
|
|
38
|
+
throw new Error('drizzle-kit generate failed');
|
|
39
|
+
}
|
|
37
40
|
console.log('\n============================================================');
|
|
38
41
|
console.log(`\n ⚡︎ ${command} drizzle-kit migrate \n`);
|
|
39
|
-
spawnSync(command, ['drizzle-kit', 'migrate'], { stdio: 'inherit' });
|
|
42
|
+
const migrateResult = spawnSync(command, ['drizzle-kit', 'migrate'], { stdio: 'inherit' });
|
|
43
|
+
if (migrateResult.error || migrateResult.status !== 0) {
|
|
44
|
+
throw new Error('drizzle-kit migrate failed');
|
|
45
|
+
}
|
|
40
46
|
console.log('\n============================================================');
|
|
47
|
+
// Only mark the schema as in sync once generate + migrate both actually
|
|
48
|
+
// succeeded — otherwise a future run with an unchanged schema string would
|
|
49
|
+
// skip re-running drizzle-kit and the DB would stay silently out of sync.
|
|
41
50
|
cache.set('schema', schema);
|
|
42
51
|
};
|
|
43
52
|
export default write;
|
package/dist/core/rime.server.js
CHANGED
|
@@ -29,27 +29,27 @@ export async function createRime(config) {
|
|
|
29
29
|
// Generate schema, types, routes
|
|
30
30
|
if (dev) {
|
|
31
31
|
// A `rime generate` CLI run may be regenerating the same .rime cache
|
|
32
|
-
// concurrently (e.g. a running dev server
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
waited += 200;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const changed = writeMemo(config);
|
|
42
|
-
const valid = validate(config);
|
|
43
|
-
if (!valid) {
|
|
44
|
-
throw new RimeError('Config not valid');
|
|
45
|
-
}
|
|
46
|
-
if (changed) {
|
|
47
|
-
generateRoutes(config);
|
|
48
|
-
await generateSchema(config);
|
|
49
|
-
await generateTypes(config);
|
|
32
|
+
// concurrently (e.g. a running dev server reloading off the CLI's file
|
|
33
|
+
// writes). Skip our own generation this cycle instead of racing it or
|
|
34
|
+
// blocking this request on it — the next natural reload will pick up
|
|
35
|
+
// what the CLI produced.
|
|
36
|
+
if (process.env.RIME_CLI !== 'true' && devCache.get('.cli')) {
|
|
37
|
+
logger.debug('Skipping generation, `rime generate` is already running');
|
|
50
38
|
}
|
|
51
39
|
else {
|
|
52
|
-
|
|
40
|
+
const changed = writeMemo(config);
|
|
41
|
+
const valid = validate(config);
|
|
42
|
+
if (!valid) {
|
|
43
|
+
throw new RimeError('Config not valid');
|
|
44
|
+
}
|
|
45
|
+
if (changed) {
|
|
46
|
+
generateRoutes(config);
|
|
47
|
+
await generateSchema(config);
|
|
48
|
+
await generateTypes(config);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
logger.debug('Nothing to generate');
|
|
52
|
+
}
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
// Create adapter, consume the generated schema
|