@constructive-io/graphql-codegen 4.47.1 → 4.47.2
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/core/generate.d.ts +6 -2
- package/core/generate.js +26 -8
- package/esm/core/generate.d.ts +6 -2
- package/esm/core/generate.js +25 -8
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/index.d.ts +1 -1
- package/index.js +2 -1
- package/package.json +2 -2
package/core/generate.d.ts
CHANGED
|
@@ -56,9 +56,13 @@ export interface GenerateMultiResult {
|
|
|
56
56
|
}>;
|
|
57
57
|
hasError: boolean;
|
|
58
58
|
}
|
|
59
|
+
/** Manifest file listing generated target names, written to the output root. */
|
|
60
|
+
export declare const TARGETS_MANIFEST = ".targets";
|
|
59
61
|
/**
|
|
60
|
-
* Remove
|
|
61
|
-
*
|
|
62
|
+
* Remove stale generated target directories from `outputRoot`.
|
|
63
|
+
* Reads the `.targets` manifest (written by `generateMulti`) to know which
|
|
64
|
+
* directories were previously generated. Only those are eligible for removal;
|
|
65
|
+
* hand-written directories (e.g. `config/`, `utils/`) are never touched.
|
|
62
66
|
* Returns the list of directory names that were removed.
|
|
63
67
|
*/
|
|
64
68
|
export declare function removeStaleTargetDirs(outputRoot: string, currentTargetNames: string[], verbose?: boolean): string[];
|
package/core/generate.js
CHANGED
|
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.TARGETS_MANIFEST = void 0;
|
|
39
40
|
exports.generate = generate;
|
|
40
41
|
exports.expandApiNamesToMultiTarget = expandApiNamesToMultiTarget;
|
|
41
42
|
exports.expandSchemaDirToMultiTarget = expandSchemaDirToMultiTarget;
|
|
@@ -510,23 +511,38 @@ function applySharedPgpmDb(config, sharedSources) {
|
|
|
510
511
|
db: sharedDbConfig,
|
|
511
512
|
};
|
|
512
513
|
}
|
|
514
|
+
/** Manifest file listing generated target names, written to the output root. */
|
|
515
|
+
exports.TARGETS_MANIFEST = '.targets';
|
|
513
516
|
/**
|
|
514
|
-
* Remove
|
|
515
|
-
*
|
|
517
|
+
* Remove stale generated target directories from `outputRoot`.
|
|
518
|
+
* Reads the `.targets` manifest (written by `generateMulti`) to know which
|
|
519
|
+
* directories were previously generated. Only those are eligible for removal;
|
|
520
|
+
* hand-written directories (e.g. `config/`, `utils/`) are never touched.
|
|
516
521
|
* Returns the list of directory names that were removed.
|
|
517
522
|
*/
|
|
518
523
|
function removeStaleTargetDirs(outputRoot, currentTargetNames, verbose) {
|
|
519
524
|
const removed = [];
|
|
520
525
|
if (!fs.existsSync(outputRoot))
|
|
521
526
|
return removed;
|
|
527
|
+
const manifestPath = node_path_1.default.join(outputRoot, exports.TARGETS_MANIFEST);
|
|
528
|
+
if (!fs.existsSync(manifestPath))
|
|
529
|
+
return removed;
|
|
530
|
+
let previousTargets;
|
|
531
|
+
try {
|
|
532
|
+
previousTargets = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
533
|
+
}
|
|
534
|
+
catch {
|
|
535
|
+
return removed;
|
|
536
|
+
}
|
|
522
537
|
const currentTargets = new Set(currentTargetNames);
|
|
523
|
-
const
|
|
524
|
-
for (const
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
538
|
+
const staleTargets = previousTargets.filter((t) => !currentTargets.has(t));
|
|
539
|
+
for (const target of staleTargets) {
|
|
540
|
+
const dirPath = node_path_1.default.join(outputRoot, target);
|
|
541
|
+
if (fs.existsSync(dirPath)) {
|
|
542
|
+
fs.rmSync(dirPath, { recursive: true, force: true });
|
|
543
|
+
removed.push(target);
|
|
528
544
|
if (verbose) {
|
|
529
|
-
console.log(`Removed stale target directory: ${
|
|
545
|
+
console.log(`Removed stale target directory: ${target}`);
|
|
530
546
|
}
|
|
531
547
|
}
|
|
532
548
|
}
|
|
@@ -677,6 +693,8 @@ async function generateMulti(options) {
|
|
|
677
693
|
const outputRoot = node_path_1.default.dirname(firstOutput);
|
|
678
694
|
const barrelContent = (0, barrel_1.generateMultiTargetBarrel)(successfulNames);
|
|
679
695
|
await writeFiles([{ path: 'index.ts', content: barrelContent }], outputRoot, [], { pruneStaleFiles: false });
|
|
696
|
+
// Write manifest so removeStaleTargetDirs knows which dirs are generated
|
|
697
|
+
fs.writeFileSync(node_path_1.default.join(outputRoot, exports.TARGETS_MANIFEST), JSON.stringify(successfulNames.sort()) + '\n');
|
|
680
698
|
}
|
|
681
699
|
}
|
|
682
700
|
}
|
package/esm/core/generate.d.ts
CHANGED
|
@@ -56,9 +56,13 @@ export interface GenerateMultiResult {
|
|
|
56
56
|
}>;
|
|
57
57
|
hasError: boolean;
|
|
58
58
|
}
|
|
59
|
+
/** Manifest file listing generated target names, written to the output root. */
|
|
60
|
+
export declare const TARGETS_MANIFEST = ".targets";
|
|
59
61
|
/**
|
|
60
|
-
* Remove
|
|
61
|
-
*
|
|
62
|
+
* Remove stale generated target directories from `outputRoot`.
|
|
63
|
+
* Reads the `.targets` manifest (written by `generateMulti`) to know which
|
|
64
|
+
* directories were previously generated. Only those are eligible for removal;
|
|
65
|
+
* hand-written directories (e.g. `config/`, `utils/`) are never touched.
|
|
62
66
|
* Returns the list of directory names that were removed.
|
|
63
67
|
*/
|
|
64
68
|
export declare function removeStaleTargetDirs(outputRoot: string, currentTargetNames: string[], verbose?: boolean): string[];
|
package/esm/core/generate.js
CHANGED
|
@@ -467,23 +467,38 @@ function applySharedPgpmDb(config, sharedSources) {
|
|
|
467
467
|
db: sharedDbConfig,
|
|
468
468
|
};
|
|
469
469
|
}
|
|
470
|
+
/** Manifest file listing generated target names, written to the output root. */
|
|
471
|
+
export const TARGETS_MANIFEST = '.targets';
|
|
470
472
|
/**
|
|
471
|
-
* Remove
|
|
472
|
-
*
|
|
473
|
+
* Remove stale generated target directories from `outputRoot`.
|
|
474
|
+
* Reads the `.targets` manifest (written by `generateMulti`) to know which
|
|
475
|
+
* directories were previously generated. Only those are eligible for removal;
|
|
476
|
+
* hand-written directories (e.g. `config/`, `utils/`) are never touched.
|
|
473
477
|
* Returns the list of directory names that were removed.
|
|
474
478
|
*/
|
|
475
479
|
export function removeStaleTargetDirs(outputRoot, currentTargetNames, verbose) {
|
|
476
480
|
const removed = [];
|
|
477
481
|
if (!fs.existsSync(outputRoot))
|
|
478
482
|
return removed;
|
|
483
|
+
const manifestPath = path.join(outputRoot, TARGETS_MANIFEST);
|
|
484
|
+
if (!fs.existsSync(manifestPath))
|
|
485
|
+
return removed;
|
|
486
|
+
let previousTargets;
|
|
487
|
+
try {
|
|
488
|
+
previousTargets = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
489
|
+
}
|
|
490
|
+
catch {
|
|
491
|
+
return removed;
|
|
492
|
+
}
|
|
479
493
|
const currentTargets = new Set(currentTargetNames);
|
|
480
|
-
const
|
|
481
|
-
for (const
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
494
|
+
const staleTargets = previousTargets.filter((t) => !currentTargets.has(t));
|
|
495
|
+
for (const target of staleTargets) {
|
|
496
|
+
const dirPath = path.join(outputRoot, target);
|
|
497
|
+
if (fs.existsSync(dirPath)) {
|
|
498
|
+
fs.rmSync(dirPath, { recursive: true, force: true });
|
|
499
|
+
removed.push(target);
|
|
485
500
|
if (verbose) {
|
|
486
|
-
console.log(`Removed stale target directory: ${
|
|
501
|
+
console.log(`Removed stale target directory: ${target}`);
|
|
487
502
|
}
|
|
488
503
|
}
|
|
489
504
|
}
|
|
@@ -634,6 +649,8 @@ export async function generateMulti(options) {
|
|
|
634
649
|
const outputRoot = path.dirname(firstOutput);
|
|
635
650
|
const barrelContent = generateMultiTargetBarrel(successfulNames);
|
|
636
651
|
await writeFiles([{ path: 'index.ts', content: barrelContent }], outputRoot, [], { pruneStaleFiles: false });
|
|
652
|
+
// Write manifest so removeStaleTargetDirs knows which dirs are generated
|
|
653
|
+
fs.writeFileSync(path.join(outputRoot, TARGETS_MANIFEST), JSON.stringify(successfulNames.sort()) + '\n');
|
|
637
654
|
}
|
|
638
655
|
}
|
|
639
656
|
}
|
package/esm/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export * from './generators';
|
|
|
11
11
|
export * from './client';
|
|
12
12
|
export { defineConfig } from './types/config';
|
|
13
13
|
export type { GenerateOptions, GenerateResult, GenerateMultiOptions, GenerateMultiResult } from './core/generate';
|
|
14
|
-
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs } from './core/generate';
|
|
14
|
+
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs, TARGETS_MANIFEST } from './core/generate';
|
|
15
15
|
export { findConfigFile, loadConfigFile } from './core/config';
|
|
16
16
|
export { runCodegenHandler } from './cli/handler';
|
|
17
17
|
export type { CodegenAnswers } from './cli/shared';
|
package/esm/index.js
CHANGED
|
@@ -15,7 +15,7 @@ export * from './generators';
|
|
|
15
15
|
export * from './client';
|
|
16
16
|
// Config definition helper
|
|
17
17
|
export { defineConfig } from './types/config';
|
|
18
|
-
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs } from './core/generate';
|
|
18
|
+
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs, TARGETS_MANIFEST } from './core/generate';
|
|
19
19
|
// Config utilities
|
|
20
20
|
export { findConfigFile, loadConfigFile } from './core/config';
|
|
21
21
|
// CLI shared utilities (for packages/cli to import)
|
package/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export * from './generators';
|
|
|
11
11
|
export * from './client';
|
|
12
12
|
export { defineConfig } from './types/config';
|
|
13
13
|
export type { GenerateOptions, GenerateResult, GenerateMultiOptions, GenerateMultiResult } from './core/generate';
|
|
14
|
-
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs } from './core/generate';
|
|
14
|
+
export { generate, generateMulti, expandApiNamesToMultiTarget, expandSchemaDirToMultiTarget, removeStaleTargetDirs, TARGETS_MANIFEST } from './core/generate';
|
|
15
15
|
export { findConfigFile, loadConfigFile } from './core/config';
|
|
16
16
|
export { runCodegenHandler } from './cli/handler';
|
|
17
17
|
export type { CodegenAnswers } from './cli/shared';
|
package/index.js
CHANGED
|
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.buildSchemaFromDatabase = exports.splitCommas = exports.seedArgvFromConfig = exports.printResult = exports.normalizeCodegenListOptions = exports.hyphenateKeys = exports.hasResolvedCodegenSource = exports.flattenDbFields = exports.filterDefined = exports.codegenQuestions = exports.camelizeArgv = exports.buildGenerateOptions = exports.buildDbConfig = exports.runCodegenHandler = exports.loadConfigFile = exports.findConfigFile = exports.removeStaleTargetDirs = exports.expandSchemaDirToMultiTarget = exports.expandApiNamesToMultiTarget = exports.generateMulti = exports.generate = exports.defineConfig = void 0;
|
|
24
|
+
exports.buildSchemaFromDatabase = exports.splitCommas = exports.seedArgvFromConfig = exports.printResult = exports.normalizeCodegenListOptions = exports.hyphenateKeys = exports.hasResolvedCodegenSource = exports.flattenDbFields = exports.filterDefined = exports.codegenQuestions = exports.camelizeArgv = exports.buildGenerateOptions = exports.buildDbConfig = exports.runCodegenHandler = exports.loadConfigFile = exports.findConfigFile = exports.TARGETS_MANIFEST = exports.removeStaleTargetDirs = exports.expandSchemaDirToMultiTarget = exports.expandApiNamesToMultiTarget = exports.generateMulti = exports.generate = exports.defineConfig = void 0;
|
|
25
25
|
// Core types
|
|
26
26
|
__exportStar(require("./types"), exports);
|
|
27
27
|
// Core query building
|
|
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "generateMulti", { enumerable: true, get: functio
|
|
|
39
39
|
Object.defineProperty(exports, "expandApiNamesToMultiTarget", { enumerable: true, get: function () { return generate_1.expandApiNamesToMultiTarget; } });
|
|
40
40
|
Object.defineProperty(exports, "expandSchemaDirToMultiTarget", { enumerable: true, get: function () { return generate_1.expandSchemaDirToMultiTarget; } });
|
|
41
41
|
Object.defineProperty(exports, "removeStaleTargetDirs", { enumerable: true, get: function () { return generate_1.removeStaleTargetDirs; } });
|
|
42
|
+
Object.defineProperty(exports, "TARGETS_MANIFEST", { enumerable: true, get: function () { return generate_1.TARGETS_MANIFEST; } });
|
|
42
43
|
// Config utilities
|
|
43
44
|
var config_2 = require("./core/config");
|
|
44
45
|
Object.defineProperty(exports, "findConfigFile", { enumerable: true, get: function () { return config_2.findConfigFile; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructive-io/graphql-codegen",
|
|
3
|
-
"version": "4.47.
|
|
3
|
+
"version": "4.47.2",
|
|
4
4
|
"description": "GraphQL SDK generator for Constructive databases with React Query hooks",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"tsx": "^4.21.0",
|
|
101
101
|
"typescript": "^5.9.3"
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "23efb04ef3ce05a828960d448f96c1a456485fa4"
|
|
104
104
|
}
|