@stackbit/sdk 0.3.1 → 0.3.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/dist/config/config-loader-esbuild.d.ts.map +1 -1
- package/dist/config/config-loader-esbuild.js +20 -6
- package/dist/config/config-loader-esbuild.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/config/config-loader-esbuild.ts +23 -6
- package/src/utils/index.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader-esbuild.d.ts","sourceRoot":"","sources":["../../src/config/config-loader-esbuild.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzF,wBAAsB,wBAAwB,CAAC,EAC3C,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACT,EAAE;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"config-loader-esbuild.d.ts","sourceRoot":"","sources":["../../src/config/config-loader-esbuild.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEzF,wBAAsB,wBAAwB,CAAC,EAC3C,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACT,EAAE;IACC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAmEvC"}
|
|
@@ -33,9 +33,14 @@ async function loadStackbitConfigFromJs({ configPath, watch, callback, logger, o
|
|
|
33
33
|
try {
|
|
34
34
|
// resolve config relative to cwd if it is not absolute
|
|
35
35
|
configPath = path.resolve(configPath);
|
|
36
|
-
logger === null || logger === void 0 ? void 0 : logger.
|
|
36
|
+
logger = logger === null || logger === void 0 ? void 0 : logger.createLogger({ label: 'config-loader-esbuilt' });
|
|
37
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`building stackbit config from ${configPath}`);
|
|
37
38
|
const projectDir = path.dirname(configPath);
|
|
38
39
|
const fileName = path.basename(configPath);
|
|
40
|
+
// clean previously cached files
|
|
41
|
+
if (outDir) {
|
|
42
|
+
await fs.emptyDir(outDir);
|
|
43
|
+
}
|
|
39
44
|
const tempDir = outDir ? path.resolve(projectDir, outDir) : await fs.mkdtemp(path.join(os.tmpdir(), 'stackbit-config-'));
|
|
40
45
|
const outfilePath = path.join(tempDir, 'stackbit.config.cjs');
|
|
41
46
|
let stopped = false;
|
|
@@ -45,7 +50,7 @@ async function loadStackbitConfigFromJs({ configPath, watch, callback, logger, o
|
|
|
45
50
|
outfile: outfilePath,
|
|
46
51
|
sourcemap: true,
|
|
47
52
|
platform: 'node',
|
|
48
|
-
target: '
|
|
53
|
+
target: 'es2019',
|
|
49
54
|
format: 'cjs',
|
|
50
55
|
jsx: 'transform',
|
|
51
56
|
bundle: true,
|
|
@@ -53,9 +58,17 @@ async function loadStackbitConfigFromJs({ configPath, watch, callback, logger, o
|
|
|
53
58
|
metafile: true,
|
|
54
59
|
absWorkingDir: projectDir,
|
|
55
60
|
external: ['./node_modules/*'],
|
|
61
|
+
banner: {
|
|
62
|
+
js: `function stackbit_process_cwd_shim() { return "${projectDir}" }`
|
|
63
|
+
},
|
|
64
|
+
define: {
|
|
65
|
+
__dirname: `"${projectDir}"`,
|
|
66
|
+
__filename: `"${configPath}"`,
|
|
67
|
+
'process.cwd': 'stackbit_process_cwd_shim'
|
|
68
|
+
},
|
|
56
69
|
watch: watch ? { onRebuild: onRebuildHandler(fileName, projectDir, callback, logger) } : false
|
|
57
70
|
});
|
|
58
|
-
const configResult = await getConfigFromResult(result, fileName, projectDir);
|
|
71
|
+
const configResult = await getConfigFromResult(result, fileName, projectDir, logger);
|
|
59
72
|
return {
|
|
60
73
|
...configResult,
|
|
61
74
|
stop: () => {
|
|
@@ -87,7 +100,7 @@ async function loadStackbitConfigFromJs({ configPath, watch, callback, logger, o
|
|
|
87
100
|
exports.loadStackbitConfigFromJs = loadStackbitConfigFromJs;
|
|
88
101
|
function onRebuildHandler(fileName, projectDir, callback, logger) {
|
|
89
102
|
return async (error, result) => {
|
|
90
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(
|
|
103
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`${fileName} was changed and rebuilt`);
|
|
91
104
|
if (error) {
|
|
92
105
|
callback === null || callback === void 0 ? void 0 : callback({
|
|
93
106
|
config: null,
|
|
@@ -97,7 +110,7 @@ function onRebuildHandler(fileName, projectDir, callback, logger) {
|
|
|
97
110
|
});
|
|
98
111
|
}
|
|
99
112
|
else if (result) {
|
|
100
|
-
const configResult = await getConfigFromResult(result, fileName, projectDir);
|
|
113
|
+
const configResult = await getConfigFromResult(result, fileName, projectDir, logger);
|
|
101
114
|
try {
|
|
102
115
|
callback === null || callback === void 0 ? void 0 : callback(configResult);
|
|
103
116
|
}
|
|
@@ -107,7 +120,7 @@ function onRebuildHandler(fileName, projectDir, callback, logger) {
|
|
|
107
120
|
}
|
|
108
121
|
};
|
|
109
122
|
}
|
|
110
|
-
async function getConfigFromResult(result, fileName, projectDir) {
|
|
123
|
+
async function getConfigFromResult(result, fileName, projectDir, logger) {
|
|
111
124
|
try {
|
|
112
125
|
// TODO: if the loaded code has error it will provide sourcemaps;
|
|
113
126
|
// (await import('source-map-support')).install()
|
|
@@ -124,6 +137,7 @@ async function getConfigFromResult(result, fileName, projectDir) {
|
|
|
124
137
|
const inputFile = Object.keys(result.metafile.inputs).find((inputFilePath) => inputFilePath.match(/stackbit\.config\.[^.]+$/) !== null);
|
|
125
138
|
const outfilePath = Object.keys(result.metafile.outputs).find((outputFilePath) => outputFilePath.match(/stackbit\.config\.[^.]+\.cjs$/) !== null);
|
|
126
139
|
const absOutputFilePath = path.join(projectDir, outfilePath);
|
|
140
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`loading compiled ${fileName} from ${outfilePath}`);
|
|
127
141
|
const exports = importFresh(absOutputFilePath);
|
|
128
142
|
if ('__esModule' in exports && exports.__esModule) {
|
|
129
143
|
if (!('default' in exports)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader-esbuild.js","sourceRoot":"","sources":["../../src/config/config-loader-esbuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,2CAA6B;AAC7B,6CAA+B;AAC/B,uCAAyB;AACzB,oDAAuB;AAEvB,mDAAkD;AAG3C,KAAK,UAAU,wBAAwB,CAAC,EAC3C,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EAOT;IACG,IAAI;QACA,uDAAuD;QACvD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"config-loader-esbuild.js","sourceRoot":"","sources":["../../src/config/config-loader-esbuild.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ declare type ForbiddenPropertiesOfUnionMember<T, Union, Keys extends string = Un
|
|
|
5
5
|
};
|
|
6
6
|
declare type StricterUnionMember<T, Union, Keys extends string = UnionKeys<Union> extends string ? UnionKeys<Union> : never> = T & ForbiddenPropertiesOfUnionMember<T, Union, Keys>;
|
|
7
7
|
export declare type StricterUnion<Union, Union2 = Union> = Union2 extends any ? StricterUnionMember<Union2, Union> : never;
|
|
8
|
-
export declare type Logger = Pick<Console, '
|
|
8
|
+
export declare type Logger = Pick<Console, 'debug' | 'info' | 'warn' | 'error'>;
|
|
9
9
|
export * from './model-utils';
|
|
10
10
|
export * from './model-matcher';
|
|
11
11
|
export * from './model-extender';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,aAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAEpD,aAAK,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI;KAC/H,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS;CAC5C,CAAC;AAEF,aAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GACpH,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAErD,oBAAY,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAEnH,oBAAY,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA,aAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAEpD,aAAK,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI;KAC/H,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS;CAC5C,CAAC;AAEF,aAAK,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GACpH,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAErD,oBAAY,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAEnH,oBAAY,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAExE,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbit/sdk",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Stackbit SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"homepage": "https://github.com/stackbit/stackbit-sdk#readme",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@octokit/rest": "^18.3.5",
|
|
40
|
-
"@stackbit/utils": "^0.2.
|
|
40
|
+
"@stackbit/utils": "^0.2.9",
|
|
41
41
|
"acorn": "^8.2.4",
|
|
42
42
|
"chokidar": "^3.5.3",
|
|
43
43
|
"esbuild": "^0.14.42",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"ts-jest": "^26.5.1",
|
|
67
67
|
"typescript": "^4.2.2"
|
|
68
68
|
},
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "d94b36afc0e7e1cf83539029aba8aa965933dae5"
|
|
70
70
|
}
|
|
@@ -23,9 +23,16 @@ export async function loadStackbitConfigFromJs({
|
|
|
23
23
|
try {
|
|
24
24
|
// resolve config relative to cwd if it is not absolute
|
|
25
25
|
configPath = path.resolve(configPath);
|
|
26
|
-
logger?.
|
|
26
|
+
logger = logger?.createLogger({ label: 'config-loader-esbuilt' });
|
|
27
|
+
logger?.debug(`building stackbit config from ${configPath}`);
|
|
27
28
|
const projectDir = path.dirname(configPath);
|
|
28
29
|
const fileName = path.basename(configPath);
|
|
30
|
+
|
|
31
|
+
// clean previously cached files
|
|
32
|
+
if (outDir) {
|
|
33
|
+
await fs.emptyDir(outDir);
|
|
34
|
+
}
|
|
35
|
+
|
|
29
36
|
const tempDir = outDir ? path.resolve(projectDir, outDir) : await fs.mkdtemp(path.join(os.tmpdir(), 'stackbit-config-'));
|
|
30
37
|
const outfilePath = path.join(tempDir, 'stackbit.config.cjs');
|
|
31
38
|
let stopped = false;
|
|
@@ -35,7 +42,7 @@ export async function loadStackbitConfigFromJs({
|
|
|
35
42
|
outfile: outfilePath,
|
|
36
43
|
sourcemap: true,
|
|
37
44
|
platform: 'node',
|
|
38
|
-
target: '
|
|
45
|
+
target: 'es2019', // TODO: update container to node 16 and set this to es2020
|
|
39
46
|
format: 'cjs',
|
|
40
47
|
jsx: 'transform', // needed in case models are co-located with React components
|
|
41
48
|
bundle: true,
|
|
@@ -43,9 +50,17 @@ export async function loadStackbitConfigFromJs({
|
|
|
43
50
|
metafile: true,
|
|
44
51
|
absWorkingDir: projectDir,
|
|
45
52
|
external: ['./node_modules/*'],
|
|
53
|
+
banner: {
|
|
54
|
+
js: `function stackbit_process_cwd_shim() { return "${projectDir}" }`
|
|
55
|
+
},
|
|
56
|
+
define: {
|
|
57
|
+
__dirname: `"${projectDir}"`,
|
|
58
|
+
__filename: `"${configPath}"`,
|
|
59
|
+
'process.cwd': 'stackbit_process_cwd_shim'
|
|
60
|
+
},
|
|
46
61
|
watch: watch ? { onRebuild: onRebuildHandler(fileName, projectDir, callback, logger) } : false
|
|
47
62
|
});
|
|
48
|
-
const configResult = await getConfigFromResult(result, fileName, projectDir);
|
|
63
|
+
const configResult = await getConfigFromResult(result, fileName, projectDir, logger);
|
|
49
64
|
return {
|
|
50
65
|
...configResult,
|
|
51
66
|
stop: () => {
|
|
@@ -75,7 +90,7 @@ export async function loadStackbitConfigFromJs({
|
|
|
75
90
|
|
|
76
91
|
function onRebuildHandler(fileName: string, projectDir: string, callback?: (result: LoadRawConfigResult) => void, logger?: any) {
|
|
77
92
|
return async (error: esbuild.BuildFailure | null, result: esbuild.BuildResult | null) => {
|
|
78
|
-
logger?.debug(
|
|
93
|
+
logger?.debug(`${fileName} was changed and rebuilt`);
|
|
79
94
|
if (error) {
|
|
80
95
|
callback?.({
|
|
81
96
|
config: null,
|
|
@@ -84,7 +99,7 @@ function onRebuildHandler(fileName: string, projectDir: string, callback?: (resu
|
|
|
84
99
|
})
|
|
85
100
|
});
|
|
86
101
|
} else if (result) {
|
|
87
|
-
const configResult = await getConfigFromResult(result, fileName, projectDir);
|
|
102
|
+
const configResult = await getConfigFromResult(result, fileName, projectDir, logger);
|
|
88
103
|
try {
|
|
89
104
|
callback?.(configResult);
|
|
90
105
|
} catch (error: any) {
|
|
@@ -94,7 +109,7 @@ function onRebuildHandler(fileName: string, projectDir: string, callback?: (resu
|
|
|
94
109
|
};
|
|
95
110
|
}
|
|
96
111
|
|
|
97
|
-
async function getConfigFromResult(result: esbuild.BuildResult, fileName: string, projectDir: string): Promise<LoadRawConfigResult> {
|
|
112
|
+
async function getConfigFromResult(result: esbuild.BuildResult, fileName: string, projectDir: string, logger?: any): Promise<LoadRawConfigResult> {
|
|
98
113
|
try {
|
|
99
114
|
// TODO: if the loaded code has error it will provide sourcemaps;
|
|
100
115
|
// (await import('source-map-support')).install()
|
|
@@ -115,6 +130,8 @@ async function getConfigFromResult(result: esbuild.BuildResult, fileName: string
|
|
|
115
130
|
const outfilePath = Object.keys(result.metafile!.outputs).find((outputFilePath) => outputFilePath.match(/stackbit\.config\.[^.]+\.cjs$/) !== null);
|
|
116
131
|
const absOutputFilePath = path.join(projectDir, outfilePath!);
|
|
117
132
|
|
|
133
|
+
logger?.debug(`loading compiled ${fileName} from ${outfilePath}`);
|
|
134
|
+
|
|
118
135
|
const exports = importFresh(absOutputFilePath);
|
|
119
136
|
|
|
120
137
|
if ('__esModule' in exports && exports.__esModule) {
|
package/src/utils/index.ts
CHANGED
|
@@ -9,7 +9,7 @@ type StricterUnionMember<T, Union, Keys extends string = UnionKeys<Union> extend
|
|
|
9
9
|
|
|
10
10
|
export type StricterUnion<Union, Union2 = Union> = Union2 extends any ? StricterUnionMember<Union2, Union> : never;
|
|
11
11
|
|
|
12
|
-
export type Logger = Pick<Console, '
|
|
12
|
+
export type Logger = Pick<Console, 'debug' | 'info' | 'warn' | 'error'>;
|
|
13
13
|
|
|
14
14
|
export * from './model-utils';
|
|
15
15
|
export * from './model-matcher';
|