@stepzen/transpiler 0.0.38 → 0.0.39
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/lib/actions/merge.js +2 -3
- package/lib/actions/merge.js.map +1 -1
- package/lib/utils/copy-workspace-content.d.ts +13 -0
- package/lib/utils/copy-workspace-content.js +38 -0
- package/lib/utils/copy-workspace-content.js.map +1 -0
- package/package.json +4 -4
- package/src/actions/merge.ts +2 -3
- package/src/utils/copy-workspace-content.ts +41 -0
package/lib/actions/merge.js
CHANGED
|
@@ -10,6 +10,7 @@ const merge_helpers_1 = require("../utils/merge-helpers");
|
|
|
10
10
|
const print_1 = require("./print");
|
|
11
11
|
const set_files_in_sdl_1 = require("../utils/set-files-in-sdl");
|
|
12
12
|
const strip_empty_queries_and_mutations_1 = require("../utils/strip-empty-queries-and-mutations");
|
|
13
|
+
const copy_workspace_content_1 = require("../utils/copy-workspace-content");
|
|
13
14
|
const BLANK_INDEX_TEMPLATE = `
|
|
14
15
|
schema @sdl(files: []) {
|
|
15
16
|
query: Query
|
|
@@ -45,7 +46,7 @@ exports.default = async (original, imported, options = {
|
|
|
45
46
|
throw new Error(`Cannot find imported source directory ${imported.source}`);
|
|
46
47
|
fs.ensureDirSync(options.output);
|
|
47
48
|
// Copy the original into the output.
|
|
48
|
-
|
|
49
|
+
copy_workspace_content_1.default(original, options.output);
|
|
49
50
|
// Ensure an index.graphql exists
|
|
50
51
|
const outputIndex = path.join(options.output, 'index.graphql');
|
|
51
52
|
if (!fs.existsSync(outputIndex)) {
|
|
@@ -132,8 +133,6 @@ exports.default = async (original, imported, options = {
|
|
|
132
133
|
});
|
|
133
134
|
}
|
|
134
135
|
else {
|
|
135
|
-
// Write the files to the output directory
|
|
136
|
-
fs.copySync(original, options.output);
|
|
137
136
|
glob.sync('**/*.graphql', { cwd: imported.source }).forEach(relativePath => {
|
|
138
137
|
const importedFullPath = path.join(imported.source, relativePath);
|
|
139
138
|
const targetFullPath = path.join(options.output, targetSubfolder, relativePath);
|
package/lib/actions/merge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/actions/merge.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,6BAA4B;AAC5B,gDAAkD;AAClD,qCAAoC;AACpC,yBAAwB;AACxB,6BAA4B;AAE5B,0DAW+B;AAC/B,mCAA2B;AAC3B,gEAAqD;AACrD,kGAAsF;
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/actions/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const _default: (srcPath: string, dstPath: string) => void;
|
|
2
|
+
/**
|
|
3
|
+
* Copy StepZen workspace content from one directory to another.
|
|
4
|
+
*
|
|
5
|
+
* Include only the files relevant to StepZen:
|
|
6
|
+
* - **/*.graphql
|
|
7
|
+
* - config.yaml
|
|
8
|
+
* - stepzen.config.json
|
|
9
|
+
*
|
|
10
|
+
* Exclude all other files.
|
|
11
|
+
* Exclude special folders, e.g. node_modules
|
|
12
|
+
*/
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs-extra");
|
|
4
|
+
const glob = require("glob");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
7
|
+
const WORKSPACE_FILE_PATTERNS = [
|
|
8
|
+
'**/*.graphql',
|
|
9
|
+
'stepzen.config.json',
|
|
10
|
+
'config.yaml',
|
|
11
|
+
];
|
|
12
|
+
const IGNORED_PATTERNS = ['node_modules/**'];
|
|
13
|
+
/**
|
|
14
|
+
* Copy StepZen workspace content from one directory to another.
|
|
15
|
+
*
|
|
16
|
+
* Include only the files relevant to StepZen:
|
|
17
|
+
* - **/*.graphql
|
|
18
|
+
* - config.yaml
|
|
19
|
+
* - stepzen.config.json
|
|
20
|
+
*
|
|
21
|
+
* Exclude all other files.
|
|
22
|
+
* Exclude special folders, e.g. node_modules
|
|
23
|
+
*/
|
|
24
|
+
exports.default = (srcPath, dstPath) => {
|
|
25
|
+
if (!fs.existsSync(srcPath)) {
|
|
26
|
+
throw new Error(`Cannot find source directory ${srcPath}`);
|
|
27
|
+
}
|
|
28
|
+
lodash_1.flatMap(WORKSPACE_FILE_PATTERNS, pattern => glob.sync(pattern, {
|
|
29
|
+
cwd: srcPath,
|
|
30
|
+
ignore: IGNORED_PATTERNS,
|
|
31
|
+
})).forEach(relativePath => {
|
|
32
|
+
const srcFileFullPath = path.join(srcPath, relativePath);
|
|
33
|
+
const dstFileFullPath = path.join(dstPath, relativePath);
|
|
34
|
+
fs.ensureDirSync(path.dirname(dstFileFullPath));
|
|
35
|
+
fs.copyFileSync(srcFileFullPath, dstFileFullPath);
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=copy-workspace-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-workspace-content.js","sourceRoot":"","sources":["../../src/utils/copy-workspace-content.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,6BAA4B;AAC5B,6BAA4B;AAC5B,mCAA8B;AAE9B,MAAM,uBAAuB,GAAG;IAC9B,cAAc;IACd,qBAAqB;IACrB,aAAa;CACd,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAE5C;;;;;;;;;;GAUG;AACH,kBAAe,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;KAC3D;IAED,gBAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,EAAE,CACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACjB,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,gBAAgB;KACzB,CAAC,CACH,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;QAC/C,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stepzen/transpiler",
|
|
3
3
|
"description": "The StepZen transpiler",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.39",
|
|
5
5
|
"author": "Darren Waddell <darren@stepzen.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"files": [
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@graphql-tools/merge": "^6.2.17",
|
|
24
|
-
"debug": "^4.3.
|
|
24
|
+
"debug": "^4.3.4",
|
|
25
25
|
"dotenv": "^10.0.0",
|
|
26
26
|
"fs-extra": "^9.1.0",
|
|
27
27
|
"glob": "^7.2.0",
|
|
28
28
|
"graphql": "^15.8.0",
|
|
29
|
-
"inquirer": "^8.2.
|
|
29
|
+
"inquirer": "^8.2.2",
|
|
30
30
|
"lodash": "^4.17.21",
|
|
31
31
|
"node-fetch": "^2.6.7",
|
|
32
|
-
"prettier": "^2.
|
|
32
|
+
"prettier": "^2.6.2",
|
|
33
33
|
"shelljs": "^0.8.5",
|
|
34
34
|
"yaml": "^1.10.2"
|
|
35
35
|
},
|
package/src/actions/merge.ts
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
import print from './print'
|
|
21
21
|
import setFilesInSDL from '../utils/set-files-in-sdl'
|
|
22
22
|
import stripEmptyQueriesAndMutations from '../utils/strip-empty-queries-and-mutations'
|
|
23
|
+
import copyWorkspaceContent from '../utils/copy-workspace-content'
|
|
23
24
|
|
|
24
25
|
const BLANK_INDEX_TEMPLATE = `
|
|
25
26
|
schema @sdl(files: []) {
|
|
@@ -71,7 +72,7 @@ export default async (
|
|
|
71
72
|
fs.ensureDirSync(options.output)
|
|
72
73
|
|
|
73
74
|
// Copy the original into the output.
|
|
74
|
-
|
|
75
|
+
copyWorkspaceContent(original, options.output)
|
|
75
76
|
|
|
76
77
|
// Ensure an index.graphql exists
|
|
77
78
|
const outputIndex = path.join(options.output, 'index.graphql')
|
|
@@ -191,8 +192,6 @@ export default async (
|
|
|
191
192
|
fs.writeFileSync(deduped, print(a.ast))
|
|
192
193
|
})
|
|
193
194
|
} else {
|
|
194
|
-
// Write the files to the output directory
|
|
195
|
-
fs.copySync(original, options.output)
|
|
196
195
|
glob.sync('**/*.graphql', {cwd: imported.source}).forEach(relativePath => {
|
|
197
196
|
const importedFullPath = path.join(imported.source, relativePath)
|
|
198
197
|
const targetFullPath = path.join(
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as fs from 'fs-extra'
|
|
2
|
+
import * as glob from 'glob'
|
|
3
|
+
import * as path from 'path'
|
|
4
|
+
import {flatMap} from 'lodash'
|
|
5
|
+
|
|
6
|
+
const WORKSPACE_FILE_PATTERNS = [
|
|
7
|
+
'**/*.graphql',
|
|
8
|
+
'stepzen.config.json',
|
|
9
|
+
'config.yaml',
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
const IGNORED_PATTERNS = ['node_modules/**']
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Copy StepZen workspace content from one directory to another.
|
|
16
|
+
*
|
|
17
|
+
* Include only the files relevant to StepZen:
|
|
18
|
+
* - **/*.graphql
|
|
19
|
+
* - config.yaml
|
|
20
|
+
* - stepzen.config.json
|
|
21
|
+
*
|
|
22
|
+
* Exclude all other files.
|
|
23
|
+
* Exclude special folders, e.g. node_modules
|
|
24
|
+
*/
|
|
25
|
+
export default (srcPath: string, dstPath: string) => {
|
|
26
|
+
if (!fs.existsSync(srcPath)) {
|
|
27
|
+
throw new Error(`Cannot find source directory ${srcPath}`)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
flatMap(WORKSPACE_FILE_PATTERNS, pattern =>
|
|
31
|
+
glob.sync(pattern, {
|
|
32
|
+
cwd: srcPath,
|
|
33
|
+
ignore: IGNORED_PATTERNS,
|
|
34
|
+
}),
|
|
35
|
+
).forEach(relativePath => {
|
|
36
|
+
const srcFileFullPath = path.join(srcPath, relativePath)
|
|
37
|
+
const dstFileFullPath = path.join(dstPath, relativePath)
|
|
38
|
+
fs.ensureDirSync(path.dirname(dstFileFullPath))
|
|
39
|
+
fs.copyFileSync(srcFileFullPath, dstFileFullPath)
|
|
40
|
+
})
|
|
41
|
+
}
|