spiceflow 0.0.4 → 0.0.6
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/babelTransformRpc.d.ts.map +1 -1
- package/dist/babelTransformRpc.js +7 -16
- package/dist/babelTransformRpc.js.map +1 -1
- package/dist/build.d.ts +3 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +38 -78
- package/dist/build.js.map +1 -1
- package/dist/cli.js +8 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/babelTransformRpc.ts +25 -35
- package/src/build.ts +46 -100
- package/src/cli.ts +11 -6
- package/src/index.ts +1 -1
- package/src/utils.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babelTransformRpc.d.ts","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAGrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"babelTransformRpc.d.ts","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAGrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAAE,CAAC;AA+CrC,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;;cAe3E;AAmDD,wBAAgB,cAAc,CAC5B,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAC1D,OAAO,CAoBT;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,WACZ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EACnB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,GAC1D,KAAK,CAAC,SAAS,CA6OjB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { parseExpression } from '@babel/parser';
|
|
1
|
+
import { parse, parseExpression } from '@babel/parser';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import {
|
|
4
|
-
const IMPORT_PATH_BROWSER = `spiceflow/dist/browser.js`;
|
|
3
|
+
import { directive, logger, removeExtension } from './utils.js';
|
|
5
4
|
function isAllowedTsExportDeclaration(declaration) {
|
|
6
5
|
return (declaration.isTSTypeAliasDeclaration() ||
|
|
7
6
|
declaration.isTSInterfaceDeclaration());
|
|
@@ -251,7 +250,6 @@ export default function ({ types: t }, { rootDir, onMethod, isServer, url: rpcUr
|
|
|
251
250
|
}
|
|
252
251
|
}
|
|
253
252
|
if (!isServer) {
|
|
254
|
-
const createRpcFetcherIdentifier = program.scope.generateUidIdentifier('createRpcFetcher');
|
|
255
253
|
// Clear the whole body
|
|
256
254
|
out: for (const statement of program.get('body')) {
|
|
257
255
|
// don't remove if it's an export with name is config or runtime
|
|
@@ -268,22 +266,15 @@ export default function ({ types: t }, { rootDir, onMethod, isServer, url: rpcUr
|
|
|
268
266
|
}
|
|
269
267
|
statement.remove();
|
|
270
268
|
}
|
|
269
|
+
const outFile = path.resolve(rootDir, '../browser', path.relative(rootDir, filename));
|
|
270
|
+
program.node.directives = [];
|
|
271
271
|
program.pushContainer('body', [
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
], t.stringLiteral(IMPORT_PATH_BROWSER)),
|
|
272
|
+
...parse(`import { createRpcFetcher } from 'spiceflow/dist/browser.js';\n` +
|
|
273
|
+
`import * as methods from './${removeExtension(path.relative(path.dirname(outFile), filename)) + '.js'}'`, { sourceType: 'module' }).program.body,
|
|
275
274
|
...rpcMethodNames.map((name) => {
|
|
276
275
|
const isGenerator = !!generators.get(name);
|
|
277
276
|
onMethod === null || onMethod === void 0 ? void 0 : onMethod({ name, pathname: rpcPath, isGenerator });
|
|
278
|
-
return
|
|
279
|
-
t.variableDeclarator(t.identifier(name), annotateAsPure(t, t.callExpression(createRpcFetcherIdentifier, [
|
|
280
|
-
parseExpression(JSON.stringify({
|
|
281
|
-
url: rpcPath,
|
|
282
|
-
method: name,
|
|
283
|
-
isGenerator,
|
|
284
|
-
})),
|
|
285
|
-
]))),
|
|
286
|
-
]));
|
|
277
|
+
return parse(`export const ${name}: typeof methods['${name}'] = createRpcFetcher({ url: ${JSON.stringify(rpcPath)}, method: ${JSON.stringify(name)}, isGenerator: ${isGenerator} });`, { sourceType: 'module', plugins: ['typescript'] }).program.body[0];
|
|
287
278
|
}),
|
|
288
279
|
]);
|
|
289
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babelTransformRpc.js","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"babelTransformRpc.js","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIhF,SAAS,4BAA4B,CACnC,WAAuE;IAEvE,OAAO,CACL,WAAW,CAAC,wBAAwB,EAAE;QACtC,WAAW,CAAC,wBAAwB,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY,EAAE,EAAE;IAChB,iBAAiB;IACjB,SAAS;IACT,aAAa;IACb,YAAY;IACZ,SAAS;IACT,eAAe;IACf,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAChC,QAAwD;IAExD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IACE,UAAU,CAAC,YAAY,EAAE;QACzB,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;QACjC,IAAI,CAAC,kBAAkB,EAAE,EACzB,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA4C;IAC1E,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBACxC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACvD,MAAM,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,YAAY,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;AACT,CAAC;AAED,SAAS,cAAc,CAAC,OAA4C;;IAClE,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,UAAU,0CAAE,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,KAAK,MAAK,SAAS,CAAA,EAAA,CACpC,CAAC;IACF,OAAO,CAAC,CAAC,GAAG,CAAC;IACb,kCAAkC;IAClC,+DAA+D;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,OAA4C;;IACjE,wDAAwD;IACxD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,uCAAuC;QACvC,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACzC,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,IACE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBAC7C,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAC7C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBACxC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,IAAI,MAAK,YAAY,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC/C,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACvD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;IACX,yDAAyD;IACzD,0DAA0D;IAC1D,uCAAuC;IACvC,6CAA6C;IAC7C,KAAK;AACP,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,YAA2D;IAE3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,IACE,QAAQ,CAAC,gBAAgB,EAAE;YAC3B,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,CAAC,OAAO,WACZ,EAAE,KAAK,EAAE,CAAC,EAAS,EACnB,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAiB;IAE3D,OAAO;QACL,OAAO,EAAE;YACP,OAAO,CAAC,OAAO,EAAE,KAAK;;gBACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI;oBAC7C,MAAM,EAAE,KAAK;iBACd,CAAC;gBAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,GAAG,CAAC,YAAY,QAAQ,6BAA6B,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,GAAG,CACR,cAAc,QAAQ,SACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QACxB,SAAS,CACV,CAAC;gBAEF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE7C,MAAM,eAAe,GAAG,GAAG;qBACxB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC3B,6BAA6B;qBAC5B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;qBACrB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,OAAO,GAAG,MAAM;oBAClB,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE;oBAC7C,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC;gBAE1B,MAAM,cAAc,GAAa,EAAE,CAAC;gBAEpC,MAAM,yBAAyB,GAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;gBAEzD,MAAM,eAAe,GAAG,CACtB,SAEkC,EAClC,IAAoB,EACpB,EAAE;oBACF,OAAO,CAAC,CAAC,cAAc,CAAC,yBAAyB,EAAE;wBACjD,SAAS;wBACT,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAErC,eAAe,CACb,OAAO;4BACL,CAAC,CAAC,2DAA2D;4BAC7D,CAAC,CAAC,MAAM,CACX;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAC9C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5C,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC;wBACzC,uCAAuC;wBAEvC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACjD,IAAI,4BAA4B,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC9C,SAAS;wBACX,CAAC;6BAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;4BAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACzC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,IAAI,0CAAE,IAAI,CAAC;4BACzC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gCAChC,SAAS;4BACX,CAAC;4BAED,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;4BACjD,UAAU,CAAC,GAAG,CAAC,UAAW,EAAE,WAAW,CAAC,CAAC;4BACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gCAC5B,MAAM,WAAW,CAAC,mBAAmB,CACnC,qCAAqC,CACtC,CAAC;4BACJ,CAAC;4BAED,IAAI,UAAU,EAAE,CAAC;gCACf,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gCAChC,IAAI,QAAQ,EAAE,CAAC;oCACb,uBAAuB;oCACvB,SAAS,CAAC,WAAW,CACnB,CAAC,CAAC,sBAAsB,CACtB,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;wCAC7B,CAAC,CAAC,kBAAkB,CAClB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EACxB,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;4CAChD,IAAI,EAAE,UAAU;4CAChB,QAAQ,EAAE,OAAO;4CACjB,WAAW;yCACZ,CAAC,CACH;qCACF,CAAC,CACH,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,IACL,WAAW,CAAC,qBAAqB,EAAE;4BACnC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EACjC,CAAC;4BACD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gCACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gCAElC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oCACxC,SAAS;gCACX,CAAC;gCACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCAEhC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oCAC9D,SAAS;gCACX,CAAC;gCACD,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oCACxC,uDAAuD;oCACvD,SAAS;gCACX,CAAC;gCACD,IACE,IAAI,CAAC,oBAAoB,EAAE;oCAC3B,IAAI,CAAC,yBAAyB,EAAE,EAChC,CAAC;oCACD,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;oCAC7B,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;wCACvB,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC;wCAC3B,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;4CAChC,SAAS;wCACX,CAAC;oCACH,CAAC;oCACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wCACrB,MAAM,IAAI,CAAC,mBAAmB,CAC5B,qCAAqC,CACtC,CAAC;oCACJ,CAAC;oCAED,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;wCACvB,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC;wCAC3B,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;4CAChC,SAAS;wCACX,CAAC;wCACD,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;wCAC1C,UAAU,CAAC,GAAG,CAAC,UAAW,EAAE,WAAW,CAAC,CAAC;wCACzC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wCAChC,IAAI,QAAQ,EAAE,CAAC;4CACb,IAAI,CAAC,WAAW,CACd,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;gDACzB,IAAI,EAAE,UAAU;gDAChB,QAAQ,EAAE,OAAO;gDACjB,WAAW;6CACZ,CAAC,CACH,CAAC;wCACJ,CAAC;oCACH,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,MAAM,QAAQ,CAAC,mBAAmB,CAChC,sCAAsC,CACvC,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gCACpD,IACE,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,MAAK,YAAY;oCAC/C,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,MAAK,YAAY,EAC/C,CAAC;oCACD,SAAS;gCACX,CAAC;gCACD,MAAM,SAAS,CAAC,mBAAmB,CACjC,sCAAsC,CACvC,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,SAAS,CAAC,0BAA0B,EAAE,EAAE,CAAC;wBAClD,MAAM,SAAS,CAAC,mBAAmB,CACjC,+CAA+C,CAChD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,uBAAuB;oBACvB,GAAG,EAAE,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,gEAAgE;wBAChE,IAAI,SAAS,CAAC,wBAAwB,EAAE,EAAE,CAAC;4BACzC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BACjD,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;gCACxC,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oCACvD,MAAM,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oCACzD,IAAI,YAAY,EAAE,CAAC;wCACjB,SAAS,GAAG,CAAC;oCACf,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,CAAC;oBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAC1B,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CACjC,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE;wBAC5B,GAAI,KAAK,CACP,iEAAiE;4BAC/D,+BACE,eAAe,CACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAC/C,GAAG,KACN,GAAG,EACL,EAAE,UAAU,EAAE,QAAQ,EAAE,CACzB,CAAC,OAAO,CAAC,IAAY;wBACtB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC7B,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;4BACrD,OAAO,KAAK,CACV,gBAAgB,IAAI,qBAAqB,IAAI,gCAAgC,IAAI,CAAC,SAAS,CACzF,OAAO,CACR,aAAa,IAAI,CAAC,SAAS,CAC1B,IAAI,CACL,kBAAkB,WAAW,MAAM,EACpC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAClD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,CAAC,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/build.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ type BuildOptions = {
|
|
|
5
5
|
watch?: boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare function buildOnce({ openapi, rootDir, url, }: BuildOptions): Promise<void>;
|
|
8
|
+
export declare function bundleTypes({ rootDir }: {
|
|
9
|
+
rootDir: any;
|
|
10
|
+
}): Promise<void>;
|
|
8
11
|
export declare function build(options: BuildOptions): Promise<void>;
|
|
9
12
|
export {};
|
|
10
13
|
//# sourceMappingURL=build.d.ts.map
|
package/dist/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAqBA,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,wBAAsB,SAAS,CAAC,EAC9B,OAAe,EACf,OAAO,EACP,GAAG,GACJ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAqBA,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,wBAAsB,SAAS,CAAC,EAC9B,OAAe,EACf,OAAO,EACP,GAAG,GACJ,EAAE,YAAY,iBA2Gd;AAED,wBAAsB,WAAW,CAAC,EAAE,OAAO,EAAE;;CAAA,iBAsB5C;AAOD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBAmChD"}
|
package/dist/build.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import pico from 'picocolors';
|
|
2
|
-
import fsx from 'fs-extra';
|
|
3
2
|
import { ConsoleMessageId, Extractor, ExtractorConfig, ExtractorLogLevel, } from '@microsoft/api-extractor';
|
|
4
3
|
import chokidar from 'chokidar';
|
|
5
4
|
import { getPackages } from '@manypkg/get-packages';
|
|
@@ -9,7 +8,7 @@ import globSync from 'fast-glob';
|
|
|
9
8
|
import fs from 'fs';
|
|
10
9
|
import path from 'path';
|
|
11
10
|
import { plugins } from './index.js';
|
|
12
|
-
import { directive,
|
|
11
|
+
import { directive, removeExtension } from './utils.js';
|
|
13
12
|
export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
14
13
|
console.log();
|
|
15
14
|
console.log('building functions');
|
|
@@ -23,11 +22,11 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
23
22
|
catch (e) {
|
|
24
23
|
throw new Error(`Invalid url ${url}`);
|
|
25
24
|
}
|
|
26
|
-
let
|
|
27
|
-
|
|
28
|
-
await fs.promises.rm(
|
|
25
|
+
let browserOutDir = path.resolve('client');
|
|
26
|
+
fs.mkdirSync(browserOutDir, { recursive: true });
|
|
27
|
+
// await fs.promises.rm(browserOutDir, { recursive: true }).catch(() => null);
|
|
29
28
|
const cwd = process.cwd();
|
|
30
|
-
const serverEntrypoint = path.resolve(rootDir,
|
|
29
|
+
const serverEntrypoint = path.resolve(rootDir, 'server.ts');
|
|
31
30
|
try {
|
|
32
31
|
const globBase = path.relative(cwd, rootDir);
|
|
33
32
|
const globs = [path.posix.join(globBase, '**/*.{ts,tsx,js,jsx}')];
|
|
@@ -44,7 +43,7 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
44
43
|
.map((x) => {
|
|
45
44
|
return path.relative(rootDir, x);
|
|
46
45
|
});
|
|
47
|
-
const importsCode = actionFilesRelativePaths
|
|
46
|
+
const importsCode = [...new Set(actionFilesRelativePaths)]
|
|
48
47
|
.map((filePath) => {
|
|
49
48
|
filePath = removeExtension(filePath);
|
|
50
49
|
return `${JSON.stringify('/' + filePath)}: () => import('./${filePath}.js')`;
|
|
@@ -52,30 +51,16 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
52
51
|
.join(',');
|
|
53
52
|
const serverExposeContent = `// this file was generated\n` +
|
|
54
53
|
`import { internalEdgeHandler, internalNodeJsHandler } from 'spiceflow/dist/server.js';\n` +
|
|
55
|
-
`export const methodsMap = {${importsCode}}\n` +
|
|
54
|
+
`export const methodsMap = {${importsCode}} as any\n` +
|
|
56
55
|
`export const edgeHandler = internalEdgeHandler({ methodsMap });\n` +
|
|
57
56
|
`export const nodeJsHandler = internalNodeJsHandler({ methodsMap });\n`;
|
|
58
57
|
if (!actionFilesRelativePaths.length) {
|
|
59
58
|
throw new Error('No functions files found!');
|
|
60
59
|
}
|
|
61
60
|
fs.writeFileSync(serverEntrypoint, serverExposeContent, 'utf8');
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
]).catch((error) => {
|
|
65
|
-
// console.error(error);
|
|
66
|
-
console.error('Error running tsc, continue anyway');
|
|
67
|
-
});
|
|
68
|
-
// copy tsc output to server dir
|
|
69
|
-
await fsx.copy(libOutDir, serverOutDir, { overwrite: true });
|
|
70
|
-
// rename serverEntryName to index
|
|
71
|
-
const tscOutFiles = fs.readdirSync(serverOutDir);
|
|
72
|
-
for (const file of tscOutFiles) {
|
|
73
|
-
if (file.startsWith(serverEntryName)) {
|
|
74
|
-
const remaining = file.slice(serverEntryName.length);
|
|
75
|
-
fs.renameSync(path.resolve(serverOutDir, file), path.resolve(serverOutDir, 'index' + remaining));
|
|
76
|
-
}
|
|
61
|
+
if (fs.existsSync('src/index.ts')) {
|
|
62
|
+
fs.copyFileSync('src/index.ts', 'client/index.ts');
|
|
77
63
|
}
|
|
78
|
-
const imports = [];
|
|
79
64
|
for (let actionFile of actionFilesRelativePaths) {
|
|
80
65
|
const abs = path.resolve(rootDir, actionFile);
|
|
81
66
|
const content = fs.readFileSync(abs, 'utf8');
|
|
@@ -102,63 +87,36 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
102
87
|
continue;
|
|
103
88
|
}
|
|
104
89
|
const importPath = './' +
|
|
105
|
-
path.posix.join(path.posix.dirname(actionFile), actionName + '.
|
|
106
|
-
const outFile = path.resolve(
|
|
90
|
+
path.posix.join(path.posix.dirname(actionFile), actionName + '.ts');
|
|
91
|
+
const outFile = path.resolve(browserOutDir, importPath);
|
|
107
92
|
console.log(`processed ${importPath}`);
|
|
108
|
-
|
|
109
|
-
fs.mkdirSync(path.resolve(libOutDir, path.dirname(importPath)), {
|
|
93
|
+
fs.mkdirSync(path.dirname(outFile), {
|
|
110
94
|
recursive: true,
|
|
111
95
|
});
|
|
112
|
-
|
|
113
|
-
const openapiTypes = `import * as methods from ${JSON.stringify('./' + path.basename(importPath))}\n` +
|
|
114
|
-
methods
|
|
115
|
-
.map((x) => `export const x: Awaited<ReturnType<typeof methods.${x.name}>>\n`)
|
|
116
|
-
.join('\n');
|
|
117
|
-
fs.writeFileSync(openapiTypesPath(outFile), openapiTypes, 'utf-8');
|
|
118
|
-
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const bundledPackages = (await getPackages(process.cwd())).packages.map((x) => x.packageJson.name);
|
|
122
|
-
// TODO devDependencies should be bundled too, given these are not shipped with the SDK
|
|
123
|
-
if (!bundledPackages.length) {
|
|
124
|
-
console.log('no workspace packages found, skipping types bundling');
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
for (const actionFile of actionFilesRelativePaths) {
|
|
128
|
-
const entryPointDts = path.resolve(libOutDir,
|
|
129
|
-
// path.relative(process.cwd(), rootDir),
|
|
130
|
-
path.dirname(actionFile), path.basename(actionFile, path.extname(actionFile)) + '.d.ts');
|
|
131
|
-
console.log(`bundling types for ${path.relative(cwd, entryPointDts)}`);
|
|
132
|
-
rollupDtsFile({
|
|
133
|
-
bundledPackages,
|
|
134
|
-
inputFilePath: entryPointDts,
|
|
135
|
-
outputFilePath: entryPointDts,
|
|
136
|
-
tsconfigFilePath: 'tsconfig.json',
|
|
137
|
-
});
|
|
138
|
-
if (!openapi) {
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
const { createGenerator } = await import('ts-json-schema-generator');
|
|
142
|
-
const generator = createGenerator({
|
|
143
|
-
path: path.resolve(actionFile),
|
|
144
|
-
type: `*`,
|
|
145
|
-
tsconfig: 'tsconfig.json',
|
|
146
|
-
minify: false,
|
|
147
|
-
// discriminatorType: 'open-api',
|
|
148
|
-
skipTypeCheck: true,
|
|
149
|
-
functions: 'comment',
|
|
150
|
-
});
|
|
151
|
-
const schema = generator.createSchema();
|
|
152
|
-
console.log(JSON.stringify(schema, null, 2));
|
|
153
|
-
// fs.writeFileSync(
|
|
154
|
-
// path.resolve(libOutDir, 'schema.json'),
|
|
155
|
-
// JSON.stringify(schema, null, 2),
|
|
156
|
-
// );
|
|
96
|
+
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
157
97
|
}
|
|
158
98
|
}
|
|
159
99
|
finally {
|
|
160
|
-
await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
100
|
+
// await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export async function bundleTypes({ rootDir }) {
|
|
104
|
+
const browserIndexFile = path.resolve('dist/client/index.d.ts');
|
|
105
|
+
if (!fs.existsSync(browserIndexFile)) {
|
|
106
|
+
return;
|
|
161
107
|
}
|
|
108
|
+
const bundledPackages = (await getPackages(process.cwd())).packages.map((x) => x.packageJson.name);
|
|
109
|
+
if (!bundledPackages.length) {
|
|
110
|
+
console.log('no workspace packages found, skipping types bundling');
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
rollupDtsFile({
|
|
114
|
+
bundledPackages,
|
|
115
|
+
inputFilePath: browserIndexFile,
|
|
116
|
+
outputFilePath: browserIndexFile,
|
|
117
|
+
tsconfigFilePath: 'tsconfig.json',
|
|
118
|
+
});
|
|
119
|
+
console.log(`types bundled in ${browserIndexFile}`);
|
|
162
120
|
}
|
|
163
121
|
const logger = console;
|
|
164
122
|
let isBuilding = { ref: false };
|
|
@@ -171,7 +129,12 @@ export async function build(options) {
|
|
|
171
129
|
const { rootDir, url } = options;
|
|
172
130
|
const watcher = chokidar.watch(rootDir, {
|
|
173
131
|
// ignored: /(^|[\/\\])\../, // ignore dotfiles
|
|
174
|
-
ignored: [
|
|
132
|
+
ignored: [
|
|
133
|
+
'**/node_modules/**',
|
|
134
|
+
'**/dist/**',
|
|
135
|
+
path.resolve(`src/server.ts`),
|
|
136
|
+
'client/**',
|
|
137
|
+
],
|
|
175
138
|
persistent: true,
|
|
176
139
|
});
|
|
177
140
|
console.log('watching for changes');
|
|
@@ -246,9 +209,6 @@ function rollupDtsFile({ inputFilePath, outputFilePath, tsconfigFilePath, bundle
|
|
|
246
209
|
throw new Error(`API Extractor completed with ${extractorResult.errorCount} errors and ${extractorResult.warningCount} warnings when processing ${inputFilePath}`);
|
|
247
210
|
}
|
|
248
211
|
}
|
|
249
|
-
function removeExtension(filePath) {
|
|
250
|
-
return filePath.replace(/\.[j|t]sx?$/, '');
|
|
251
|
-
}
|
|
252
212
|
function runCommand(command) {
|
|
253
213
|
return new Promise((resolve, reject) => {
|
|
254
214
|
exec(command, {}, (error, stdout, stderr) => {
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import fsx from 'fs-extra';
|
|
3
3
|
import fs from 'fs-extra';
|
|
4
4
|
import { cac } from 'cac';
|
|
5
|
-
import { build } from './build.js';
|
|
5
|
+
import { build, bundleTypes } from './build.js';
|
|
6
6
|
import { findRootDir } from './index.js';
|
|
7
7
|
import { spawn } from 'child_process';
|
|
8
8
|
import path from 'path';
|
|
@@ -23,6 +23,12 @@ cli
|
|
|
23
23
|
const rootDir = await findRootDir(process.cwd());
|
|
24
24
|
await build({ rootDir, url, openapi, watch });
|
|
25
25
|
});
|
|
26
|
+
cli
|
|
27
|
+
.command('types', 'Bundle browser types')
|
|
28
|
+
.action(async (options) => {
|
|
29
|
+
const rootDir = await findRootDir(process.cwd());
|
|
30
|
+
await bundleTypes({ rootDir });
|
|
31
|
+
});
|
|
26
32
|
cli
|
|
27
33
|
.command('init', 'Generate a new spiceflow project')
|
|
28
34
|
.option('--name <name>', 'Name of this project')
|
|
@@ -34,9 +40,7 @@ cli
|
|
|
34
40
|
}
|
|
35
41
|
fsx.copySync(path.resolve(__dirname, '../sdk-template'), name, {
|
|
36
42
|
filter(pathname) {
|
|
37
|
-
return
|
|
38
|
-
!pathname.includes('dist') &&
|
|
39
|
-
!pathname.endsWith('.tsbuildinfo'));
|
|
43
|
+
return !pathname.endsWith('.tsbuildinfo');
|
|
40
44
|
},
|
|
41
45
|
});
|
|
42
46
|
// replace the package.json name
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import pluginSyntaxJsx from '@babel/plugin-syntax-jsx';
|
|
4
|
-
import pluginTransformTypescript from '@babel/plugin-
|
|
4
|
+
import pluginTransformTypescript from '@babel/plugin-syntax-typescript';
|
|
5
5
|
import babelTransformRpc from './babelTransformRpc.js';
|
|
6
6
|
import babelDebugOutputs from './babelDebugOutputs.js';
|
|
7
7
|
export function plugins(options) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,yBAAyB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,yBAAyB,MAAM,iCAAiC,CAAC;AACxE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,MAAM,UAAU,OAAO,CAAC,OAAsB;IAC5C,OAAO;QACL,eAAe;QACf,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC,iBAAiB,EAAE,OAAO,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;KAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,CAAC;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;AACJ,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -11,11 +11,11 @@ export declare const logger: {
|
|
|
11
11
|
};
|
|
12
12
|
export declare function getFileName(state: PluginPass): string | undefined;
|
|
13
13
|
export declare const directive = "use spiceflow";
|
|
14
|
-
export declare const serverEntryName = "_function_server_file";
|
|
15
14
|
export declare function jsonRpcError({ id, message, code, }: {
|
|
16
15
|
id?: null | undefined;
|
|
17
16
|
message: any;
|
|
18
17
|
code?: number | undefined;
|
|
19
18
|
}): JsonRpcErrorResponse;
|
|
20
19
|
export declare function camelCaseCapitalized(str: string): string;
|
|
20
|
+
export declare function removeExtension(filePath: string): string;
|
|
21
21
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAgB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIlE,wBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAG1E;AAED,MAAM,MAAM,OAAO,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC1B,OAAO,EAAE,CAAC;AAGd,eAAO,MAAM,MAAM;;;CAOlB,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,sBAY5C;AACD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAgB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIlE,wBAAgB,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAG1E;AAED,MAAM,MAAM,OAAO,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC1B,OAAO,EAAE,CAAC;AAGd,eAAO,MAAM,MAAM;;;CAOlB,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,sBAY5C;AACD,eAAO,MAAM,SAAS,kBAAkB,CAAC;AAEzC,wBAAgB,YAAY,CAAC,EAC3B,EAAS,EACT,OAAO,EACP,IAAQ,GACT;;;;CAAA,GAAG,oBAAoB,CAUvB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAU/C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,UAE/C"}
|
package/dist/utils.js
CHANGED
|
@@ -23,7 +23,6 @@ export function getFileName(state) {
|
|
|
23
23
|
return filename;
|
|
24
24
|
}
|
|
25
25
|
export const directive = 'use spiceflow';
|
|
26
|
-
export const serverEntryName = '_function_server_file';
|
|
27
26
|
export function jsonRpcError({ id = null, message, code = 1, }) {
|
|
28
27
|
return {
|
|
29
28
|
jsonrpc: '2.0',
|
|
@@ -45,4 +44,7 @@ export function camelCaseCapitalized(str) {
|
|
|
45
44
|
const first = str[0].toUpperCase();
|
|
46
45
|
return first + str.slice(1);
|
|
47
46
|
}
|
|
47
|
+
export function removeExtension(filePath) {
|
|
48
|
+
return filePath.replace(/\.[j|t]sx?$/, '');
|
|
49
|
+
}
|
|
48
50
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAiB,CAAe,EAAE,IAAO;IACrE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,CAAC,GAAG,IAAI;QACT,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACX,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AAEzC,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAiB,CAAe,EAAE,IAAO;IACrE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,CAAC,GAAG,IAAI;QACT,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACX,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,EAC3B,EAAE,GAAG,IAAI,EACT,OAAO,EACP,IAAI,GAAG,CAAC,GACT;IACC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE;QACF,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,IAAI;SACX;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,+BAA+B;IAC/B,yBAAyB;IACzB,yBAAyB;IAEzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
package/package.json
CHANGED
package/src/babelTransformRpc.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import generate from '@babel/generator';
|
|
3
|
-
import { parseExpression } from '@babel/parser';
|
|
3
|
+
import { parse, parseExpression } from '@babel/parser';
|
|
4
4
|
import type * as types from '@babel/types';
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { WrapMethodMeta } from './server.js';
|
|
8
|
-
import { annotateAsPure, directive, logger } from './utils.js';
|
|
8
|
+
import { annotateAsPure, directive, logger, removeExtension } from './utils.js';
|
|
9
9
|
|
|
10
10
|
type Babel = { types: typeof types };
|
|
11
11
|
|
|
12
|
-
const IMPORT_PATH_BROWSER = `spiceflow/dist/browser.js`;
|
|
13
|
-
|
|
14
12
|
function isAllowedTsExportDeclaration(
|
|
15
13
|
declaration: babel.NodePath<babel.types.Declaration | null | undefined>,
|
|
16
14
|
): boolean {
|
|
@@ -343,9 +341,6 @@ export default function (
|
|
|
343
341
|
}
|
|
344
342
|
|
|
345
343
|
if (!isServer) {
|
|
346
|
-
const createRpcFetcherIdentifier =
|
|
347
|
-
program.scope.generateUidIdentifier('createRpcFetcher');
|
|
348
|
-
|
|
349
344
|
// Clear the whole body
|
|
350
345
|
out: for (const statement of program.get('body')) {
|
|
351
346
|
// don't remove if it's an export with name is config or runtime
|
|
@@ -363,38 +358,33 @@ export default function (
|
|
|
363
358
|
statement.remove();
|
|
364
359
|
}
|
|
365
360
|
|
|
361
|
+
const outFile = path.resolve(
|
|
362
|
+
rootDir,
|
|
363
|
+
'../browser',
|
|
364
|
+
path.relative(rootDir, filename),
|
|
365
|
+
);
|
|
366
|
+
program.node.directives = [];
|
|
366
367
|
program.pushContainer('body', [
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
),
|
|
368
|
+
...(parse(
|
|
369
|
+
`import { createRpcFetcher } from 'spiceflow/dist/browser.js';\n` +
|
|
370
|
+
`import * as methods from './${
|
|
371
|
+
removeExtension(
|
|
372
|
+
path.relative(path.dirname(outFile), filename),
|
|
373
|
+
) + '.js'
|
|
374
|
+
}'`,
|
|
375
|
+
{ sourceType: 'module' },
|
|
376
|
+
).program.body as any),
|
|
376
377
|
...rpcMethodNames.map((name) => {
|
|
377
378
|
const isGenerator = !!generators.get(name);
|
|
378
379
|
onMethod?.({ name, pathname: rpcPath, isGenerator });
|
|
379
|
-
return
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
JSON.stringify({
|
|
388
|
-
url: rpcPath,
|
|
389
|
-
method: name,
|
|
390
|
-
isGenerator,
|
|
391
|
-
}),
|
|
392
|
-
),
|
|
393
|
-
]),
|
|
394
|
-
),
|
|
395
|
-
),
|
|
396
|
-
]),
|
|
397
|
-
);
|
|
380
|
+
return parse(
|
|
381
|
+
`export const ${name}: typeof methods['${name}'] = createRpcFetcher({ url: ${JSON.stringify(
|
|
382
|
+
rpcPath,
|
|
383
|
+
)}, method: ${JSON.stringify(
|
|
384
|
+
name,
|
|
385
|
+
)}, isGenerator: ${isGenerator} });`,
|
|
386
|
+
{ sourceType: 'module', plugins: ['typescript'] },
|
|
387
|
+
).program.body[0];
|
|
398
388
|
}),
|
|
399
389
|
]);
|
|
400
390
|
}
|
package/src/build.ts
CHANGED
|
@@ -16,7 +16,7 @@ import globSync from 'fast-glob';
|
|
|
16
16
|
import fs from 'fs';
|
|
17
17
|
import path from 'path';
|
|
18
18
|
import { plugins } from './index.js';
|
|
19
|
-
import { camelCaseCapitalized, directive,
|
|
19
|
+
import { camelCaseCapitalized, directive, removeExtension } from './utils.js';
|
|
20
20
|
import { WrapMethodMeta } from './server.js';
|
|
21
21
|
|
|
22
22
|
type BuildOptions = {
|
|
@@ -42,12 +42,13 @@ export async function buildOnce({
|
|
|
42
42
|
throw new Error(`Invalid url ${url}`);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
let
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
let browserOutDir = path.resolve('client');
|
|
46
|
+
fs.mkdirSync(browserOutDir, { recursive: true });
|
|
47
|
+
|
|
48
|
+
// await fs.promises.rm(browserOutDir, { recursive: true }).catch(() => null);
|
|
48
49
|
|
|
49
50
|
const cwd = process.cwd();
|
|
50
|
-
const serverEntrypoint = path.resolve(rootDir,
|
|
51
|
+
const serverEntrypoint = path.resolve(rootDir, 'server.ts');
|
|
51
52
|
|
|
52
53
|
try {
|
|
53
54
|
const globBase = path.relative(cwd, rootDir);
|
|
@@ -65,7 +66,7 @@ export async function buildOnce({
|
|
|
65
66
|
.map((x) => {
|
|
66
67
|
return path.relative(rootDir, x);
|
|
67
68
|
});
|
|
68
|
-
const importsCode = actionFilesRelativePaths
|
|
69
|
+
const importsCode = [...new Set(actionFilesRelativePaths)]
|
|
69
70
|
.map((filePath) => {
|
|
70
71
|
filePath = removeExtension(filePath);
|
|
71
72
|
return `${JSON.stringify(
|
|
@@ -76,7 +77,7 @@ export async function buildOnce({
|
|
|
76
77
|
const serverExposeContent =
|
|
77
78
|
`// this file was generated\n` +
|
|
78
79
|
`import { internalEdgeHandler, internalNodeJsHandler } from 'spiceflow/dist/server.js';\n` +
|
|
79
|
-
`export const methodsMap = {${importsCode}}\n` +
|
|
80
|
+
`export const methodsMap = {${importsCode}} as any\n` +
|
|
80
81
|
`export const edgeHandler = internalEdgeHandler({ methodsMap });\n` +
|
|
81
82
|
`export const nodeJsHandler = internalNodeJsHandler({ methodsMap });\n`;
|
|
82
83
|
|
|
@@ -85,31 +86,10 @@ export async function buildOnce({
|
|
|
85
86
|
}
|
|
86
87
|
fs.writeFileSync(serverEntrypoint, serverExposeContent, 'utf8');
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
`tsc --incremental --declaration --noEmit false --outDir ${libOutDir} `,
|
|
91
|
-
),
|
|
92
|
-
]).catch((error) => {
|
|
93
|
-
// console.error(error);
|
|
94
|
-
console.error('Error running tsc, continue anyway');
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
// copy tsc output to server dir
|
|
98
|
-
await fsx.copy(libOutDir, serverOutDir, { overwrite: true });
|
|
99
|
-
// rename serverEntryName to index
|
|
100
|
-
const tscOutFiles = fs.readdirSync(serverOutDir);
|
|
101
|
-
for (const file of tscOutFiles) {
|
|
102
|
-
if (file.startsWith(serverEntryName)) {
|
|
103
|
-
const remaining = file.slice(serverEntryName.length);
|
|
104
|
-
fs.renameSync(
|
|
105
|
-
path.resolve(serverOutDir, file),
|
|
106
|
-
path.resolve(serverOutDir, 'index' + remaining),
|
|
107
|
-
);
|
|
108
|
-
}
|
|
89
|
+
if (fs.existsSync('src/index.ts')) {
|
|
90
|
+
fs.copyFileSync('src/index.ts', 'client/index.ts');
|
|
109
91
|
}
|
|
110
92
|
|
|
111
|
-
const imports = [] as string[];
|
|
112
|
-
|
|
113
93
|
for (let actionFile of actionFilesRelativePaths) {
|
|
114
94
|
const abs = path.resolve(rootDir, actionFile);
|
|
115
95
|
const content = fs.readFileSync(abs, 'utf8');
|
|
@@ -143,80 +123,45 @@ export async function buildOnce({
|
|
|
143
123
|
}
|
|
144
124
|
const importPath =
|
|
145
125
|
'./' +
|
|
146
|
-
path.posix.join(path.posix.dirname(actionFile), actionName + '.
|
|
147
|
-
const outFile = path.resolve(
|
|
126
|
+
path.posix.join(path.posix.dirname(actionFile), actionName + '.ts');
|
|
127
|
+
const outFile = path.resolve(browserOutDir, importPath);
|
|
148
128
|
|
|
149
129
|
console.log(`processed ${importPath}`);
|
|
150
|
-
|
|
151
|
-
fs.mkdirSync(path.
|
|
130
|
+
|
|
131
|
+
fs.mkdirSync(path.dirname(outFile), {
|
|
152
132
|
recursive: true,
|
|
153
133
|
});
|
|
154
|
-
|
|
155
|
-
const openapiTypes =
|
|
156
|
-
`import * as methods from ${JSON.stringify(
|
|
157
|
-
'./' + path.basename(importPath),
|
|
158
|
-
)}\n` +
|
|
159
|
-
methods
|
|
160
|
-
.map(
|
|
161
|
-
(x) =>
|
|
162
|
-
`export const x: Awaited<ReturnType<typeof methods.${x.name}>>\n`,
|
|
163
|
-
)
|
|
164
|
-
.join('\n');
|
|
165
|
-
fs.writeFileSync(openapiTypesPath(outFile), openapiTypes, 'utf-8');
|
|
166
|
-
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
167
|
-
}
|
|
134
|
+
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
168
135
|
}
|
|
136
|
+
} finally {
|
|
137
|
+
// await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
169
140
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
);
|
|
173
|
-
// TODO devDependencies should be bundled too, given these are not shipped with the SDK
|
|
174
|
-
if (!bundledPackages.length) {
|
|
175
|
-
console.log('no workspace packages found, skipping types bundling');
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
for (const actionFile of actionFilesRelativePaths) {
|
|
179
|
-
const entryPointDts = path.resolve(
|
|
180
|
-
libOutDir,
|
|
181
|
-
// path.relative(process.cwd(), rootDir),
|
|
182
|
-
path.dirname(actionFile),
|
|
183
|
-
path.basename(actionFile, path.extname(actionFile)) + '.d.ts',
|
|
184
|
-
);
|
|
185
|
-
console.log(`bundling types for ${path.relative(cwd, entryPointDts)}`);
|
|
186
|
-
|
|
187
|
-
rollupDtsFile({
|
|
188
|
-
bundledPackages,
|
|
189
|
-
inputFilePath: entryPointDts,
|
|
190
|
-
outputFilePath: entryPointDts,
|
|
191
|
-
tsconfigFilePath: 'tsconfig.json',
|
|
192
|
-
});
|
|
193
|
-
if (!openapi) {
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
141
|
+
export async function bundleTypes({ rootDir }) {
|
|
142
|
+
const browserIndexFile = path.resolve('dist/client/index.d.ts');
|
|
196
143
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const generator = createGenerator({
|
|
201
|
-
path: path.resolve(actionFile),
|
|
202
|
-
type: `*`,
|
|
203
|
-
tsconfig: 'tsconfig.json',
|
|
204
|
-
minify: false,
|
|
205
|
-
// discriminatorType: 'open-api',
|
|
206
|
-
skipTypeCheck: true,
|
|
207
|
-
functions: 'comment',
|
|
208
|
-
});
|
|
209
|
-
const schema = generator.createSchema();
|
|
210
|
-
console.log(JSON.stringify(schema, null, 2));
|
|
211
|
-
// fs.writeFileSync(
|
|
212
|
-
// path.resolve(libOutDir, 'schema.json'),
|
|
213
|
-
// JSON.stringify(schema, null, 2),
|
|
214
|
-
// );
|
|
215
|
-
}
|
|
216
|
-
} finally {
|
|
217
|
-
await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
144
|
+
if (!fs.existsSync(browserIndexFile)) {
|
|
145
|
+
return;
|
|
218
146
|
}
|
|
147
|
+
|
|
148
|
+
const bundledPackages = (await getPackages(process.cwd())).packages.map(
|
|
149
|
+
(x) => x.packageJson.name,
|
|
150
|
+
);
|
|
151
|
+
if (!bundledPackages.length) {
|
|
152
|
+
console.log('no workspace packages found, skipping types bundling');
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
rollupDtsFile({
|
|
157
|
+
bundledPackages,
|
|
158
|
+
inputFilePath: browserIndexFile,
|
|
159
|
+
outputFilePath: browserIndexFile,
|
|
160
|
+
tsconfigFilePath: 'tsconfig.json',
|
|
161
|
+
});
|
|
162
|
+
console.log(`types bundled in ${browserIndexFile}`);
|
|
219
163
|
}
|
|
164
|
+
|
|
220
165
|
const logger = console;
|
|
221
166
|
|
|
222
167
|
let isBuilding = { ref: false };
|
|
@@ -230,7 +175,12 @@ export async function build(options: BuildOptions) {
|
|
|
230
175
|
const { rootDir, url } = options;
|
|
231
176
|
const watcher = chokidar.watch(rootDir, {
|
|
232
177
|
// ignored: /(^|[\/\\])\../, // ignore dotfiles
|
|
233
|
-
ignored: [
|
|
178
|
+
ignored: [
|
|
179
|
+
'**/node_modules/**',
|
|
180
|
+
'**/dist/**',
|
|
181
|
+
path.resolve(`src/server.ts`),
|
|
182
|
+
'client/**',
|
|
183
|
+
],
|
|
234
184
|
persistent: true,
|
|
235
185
|
});
|
|
236
186
|
console.log('watching for changes');
|
|
@@ -325,10 +275,6 @@ function rollupDtsFile({
|
|
|
325
275
|
}
|
|
326
276
|
}
|
|
327
277
|
|
|
328
|
-
function removeExtension(filePath: string) {
|
|
329
|
-
return filePath.replace(/\.[j|t]sx?$/, '');
|
|
330
|
-
}
|
|
331
|
-
|
|
332
278
|
function runCommand(command: string) {
|
|
333
279
|
return new Promise((resolve, reject) => {
|
|
334
280
|
exec(command, {}, (error, stdout, stderr) => {
|
package/src/cli.ts
CHANGED
|
@@ -5,7 +5,7 @@ import fsx from 'fs-extra';
|
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
6
|
|
|
7
7
|
import { cac } from 'cac';
|
|
8
|
-
import { build, buildOnce } from './build.js';
|
|
8
|
+
import { build, buildOnce, bundleTypes } from './build.js';
|
|
9
9
|
import { findRootDir } from './index.js';
|
|
10
10
|
import { exec, execSync, spawn } from 'child_process';
|
|
11
11
|
import path from 'path';
|
|
@@ -32,6 +32,15 @@ cli
|
|
|
32
32
|
const rootDir = await findRootDir(process.cwd());
|
|
33
33
|
await build({ rootDir, url, openapi, watch });
|
|
34
34
|
});
|
|
35
|
+
|
|
36
|
+
cli
|
|
37
|
+
.command('types', 'Bundle browser types')
|
|
38
|
+
|
|
39
|
+
.action(async (options) => {
|
|
40
|
+
const rootDir = await findRootDir(process.cwd());
|
|
41
|
+
await bundleTypes({ rootDir });
|
|
42
|
+
});
|
|
43
|
+
|
|
35
44
|
cli
|
|
36
45
|
.command('init', 'Generate a new spiceflow project')
|
|
37
46
|
.option('--name <name>', 'Name of this project')
|
|
@@ -43,11 +52,7 @@ cli
|
|
|
43
52
|
}
|
|
44
53
|
fsx.copySync(path.resolve(__dirname, '../sdk-template'), name, {
|
|
45
54
|
filter(pathname) {
|
|
46
|
-
return (
|
|
47
|
-
!pathname.includes('node_modules') &&
|
|
48
|
-
!pathname.includes('dist') &&
|
|
49
|
-
!pathname.endsWith('.tsbuildinfo')
|
|
50
|
-
);
|
|
55
|
+
return !pathname.endsWith('.tsbuildinfo');
|
|
51
56
|
},
|
|
52
57
|
});
|
|
53
58
|
// replace the package.json name
|
package/src/index.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface WithRpcConfig {}
|
|
|
9
9
|
export { WrapMethod };
|
|
10
10
|
|
|
11
11
|
import pluginSyntaxJsx from '@babel/plugin-syntax-jsx';
|
|
12
|
-
import pluginTransformTypescript from '@babel/plugin-
|
|
12
|
+
import pluginTransformTypescript from '@babel/plugin-syntax-typescript';
|
|
13
13
|
import babelTransformRpc from './babelTransformRpc.js';
|
|
14
14
|
import babelDebugOutputs from './babelDebugOutputs.js';
|
|
15
15
|
|
package/src/utils.ts
CHANGED
|
@@ -42,8 +42,6 @@ export function getFileName(state: PluginPass) {
|
|
|
42
42
|
}
|
|
43
43
|
export const directive = 'use spiceflow';
|
|
44
44
|
|
|
45
|
-
export const serverEntryName = '_function_server_file';
|
|
46
|
-
|
|
47
45
|
export function jsonRpcError({
|
|
48
46
|
id = null,
|
|
49
47
|
message,
|
|
@@ -71,3 +69,7 @@ export function camelCaseCapitalized(str: string) {
|
|
|
71
69
|
const first = str[0].toUpperCase();
|
|
72
70
|
return first + str.slice(1);
|
|
73
71
|
}
|
|
72
|
+
|
|
73
|
+
export function removeExtension(filePath: string) {
|
|
74
|
+
return filePath.replace(/\.[j|t]sx?$/, '');
|
|
75
|
+
}
|