spiceflow 0.0.3 → 0.0.5
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 +36 -76
- package/dist/build.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +11 -5
- 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 +3 -3
- package/src/babelTransformRpc.ts +25 -35
- package/src/build.ts +44 -96
- package/src/cli.ts +14 -7
- 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":"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"}
|
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":"
|
|
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,8 +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,
|
|
13
|
-
import { createGenerator } from 'ts-json-schema-generator';
|
|
11
|
+
import { directive, removeExtension } from './utils.js';
|
|
14
12
|
export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
15
13
|
console.log();
|
|
16
14
|
console.log('building functions');
|
|
@@ -24,11 +22,11 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
24
22
|
catch (e) {
|
|
25
23
|
throw new Error(`Invalid url ${url}`);
|
|
26
24
|
}
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
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);
|
|
30
28
|
const cwd = process.cwd();
|
|
31
|
-
const serverEntrypoint = path.resolve(rootDir,
|
|
29
|
+
const serverEntrypoint = path.resolve(rootDir, 'server.ts');
|
|
32
30
|
try {
|
|
33
31
|
const globBase = path.relative(cwd, rootDir);
|
|
34
32
|
const globs = [path.posix.join(globBase, '**/*.{ts,tsx,js,jsx}')];
|
|
@@ -60,23 +58,9 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
60
58
|
throw new Error('No functions files found!');
|
|
61
59
|
}
|
|
62
60
|
fs.writeFileSync(serverEntrypoint, serverExposeContent, 'utf8');
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
]).catch((error) => {
|
|
66
|
-
// console.error(error);
|
|
67
|
-
console.error('Error running tsc, continue anyway');
|
|
68
|
-
});
|
|
69
|
-
// copy tsc output to server dir
|
|
70
|
-
await fsx.copy(libOutDir, serverOutDir, { overwrite: true });
|
|
71
|
-
// rename serverEntryName to index
|
|
72
|
-
const tscOutFiles = fs.readdirSync(serverOutDir);
|
|
73
|
-
for (const file of tscOutFiles) {
|
|
74
|
-
if (file.startsWith(serverEntryName)) {
|
|
75
|
-
const remaining = file.slice(serverEntryName.length);
|
|
76
|
-
fs.renameSync(path.resolve(serverOutDir, file), path.resolve(serverOutDir, 'index' + remaining));
|
|
77
|
-
}
|
|
61
|
+
if (fs.existsSync('src/index.ts')) {
|
|
62
|
+
fs.copyFileSync('src/index.ts', 'client/index.ts');
|
|
78
63
|
}
|
|
79
|
-
const imports = [];
|
|
80
64
|
for (let actionFile of actionFilesRelativePaths) {
|
|
81
65
|
const abs = path.resolve(rootDir, actionFile);
|
|
82
66
|
const content = fs.readFileSync(abs, 'utf8');
|
|
@@ -103,62 +87,36 @@ export async function buildOnce({ openapi = false, rootDir, url, }) {
|
|
|
103
87
|
continue;
|
|
104
88
|
}
|
|
105
89
|
const importPath = './' +
|
|
106
|
-
path.posix.join(path.posix.dirname(actionFile), actionName + '.
|
|
107
|
-
const outFile = path.resolve(
|
|
90
|
+
path.posix.join(path.posix.dirname(actionFile), actionName + '.ts');
|
|
91
|
+
const outFile = path.resolve(browserOutDir, importPath);
|
|
108
92
|
console.log(`processed ${importPath}`);
|
|
109
|
-
|
|
110
|
-
fs.mkdirSync(path.resolve(libOutDir, path.dirname(importPath)), {
|
|
93
|
+
fs.mkdirSync(path.dirname(outFile), {
|
|
111
94
|
recursive: true,
|
|
112
95
|
});
|
|
113
|
-
|
|
114
|
-
const openapiTypes = `import * as methods from ${JSON.stringify('./' + path.basename(importPath))}\n` +
|
|
115
|
-
methods
|
|
116
|
-
.map((x) => `export const x: Awaited<ReturnType<typeof methods.${x.name}>>\n`)
|
|
117
|
-
.join('\n');
|
|
118
|
-
fs.writeFileSync(openapiTypesPath(outFile), openapiTypes, 'utf-8');
|
|
119
|
-
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
const bundledPackages = (await getPackages(process.cwd())).packages.map((x) => x.packageJson.name);
|
|
123
|
-
// TODO devDependencies should be bundled too, given these are not shipped with the SDK
|
|
124
|
-
if (!bundledPackages.length) {
|
|
125
|
-
console.log('no workspace packages found, skipping types bundling');
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
for (const actionFile of actionFilesRelativePaths) {
|
|
129
|
-
const entryPointDts = path.resolve(libOutDir,
|
|
130
|
-
// path.relative(process.cwd(), rootDir),
|
|
131
|
-
path.dirname(actionFile), path.basename(actionFile, path.extname(actionFile)) + '.d.ts');
|
|
132
|
-
console.log(`bundling types for ${path.relative(cwd, entryPointDts)}`);
|
|
133
|
-
rollupDtsFile({
|
|
134
|
-
bundledPackages,
|
|
135
|
-
inputFilePath: entryPointDts,
|
|
136
|
-
outputFilePath: entryPointDts,
|
|
137
|
-
tsconfigFilePath: 'tsconfig.json',
|
|
138
|
-
});
|
|
139
|
-
if (!openapi) {
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAaA,eAAO,MAAM,GAAG,mBAAQ,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
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';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
9
10
|
export const cli = cac();
|
|
10
|
-
const
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = path.dirname(__filename);
|
|
11
13
|
cli
|
|
12
14
|
.command('', 'Generate an SDK package for your functions')
|
|
13
15
|
.alias('build')
|
|
@@ -21,6 +23,12 @@ cli
|
|
|
21
23
|
const rootDir = await findRootDir(process.cwd());
|
|
22
24
|
await build({ rootDir, url, openapi, watch });
|
|
23
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
|
+
});
|
|
24
32
|
cli
|
|
25
33
|
.command('init', 'Generate a new spiceflow project')
|
|
26
34
|
.option('--name <name>', 'Name of this project')
|
|
@@ -32,9 +40,7 @@ cli
|
|
|
32
40
|
}
|
|
33
41
|
fsx.copySync(path.resolve(__dirname, '../sdk-template'), name, {
|
|
34
42
|
filter(pathname) {
|
|
35
|
-
return
|
|
36
|
-
!pathname.includes('dist') &&
|
|
37
|
-
!pathname.endsWith('.tsbuildinfo'));
|
|
43
|
+
return !pathname.endsWith('.tsbuildinfo');
|
|
38
44
|
},
|
|
39
45
|
});
|
|
40
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spiceflow",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "If GraphQL, JSON-RPC and React server actions had a baby, it would be called spiceflow",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -39,8 +39,7 @@
|
|
|
39
39
|
"find-up": "^7.0.0",
|
|
40
40
|
"fs-extra": "^11.2.0",
|
|
41
41
|
"picocolors": "^1.0.0",
|
|
42
|
-
"superjson": "^1.13.3"
|
|
43
|
-
"ts-json-schema-generator": "^2.1.1"
|
|
42
|
+
"superjson": "^1.13.3"
|
|
44
43
|
},
|
|
45
44
|
"devDependencies": {
|
|
46
45
|
"@babel/generator": "^7.23.6",
|
|
@@ -48,6 +47,7 @@
|
|
|
48
47
|
"@types/babel__core": "^7.20.5",
|
|
49
48
|
"@types/node": "20.2.5",
|
|
50
49
|
"next": "14.2.1",
|
|
50
|
+
"ts-json-schema-generator": "^2.1.1",
|
|
51
51
|
"webpack": "^5.88.2"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
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,8 +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,
|
|
20
|
-
import { createGenerator } from 'ts-json-schema-generator';
|
|
19
|
+
import { camelCaseCapitalized, directive, removeExtension } from './utils.js';
|
|
21
20
|
import { WrapMethodMeta } from './server.js';
|
|
22
21
|
|
|
23
22
|
type BuildOptions = {
|
|
@@ -43,12 +42,13 @@ export async function buildOnce({
|
|
|
43
42
|
throw new Error(`Invalid url ${url}`);
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
let
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
let browserOutDir = path.resolve('client');
|
|
46
|
+
fs.mkdirSync(browserOutDir, { recursive: true });
|
|
47
|
+
|
|
48
|
+
// await fs.promises.rm(browserOutDir, { recursive: true }).catch(() => null);
|
|
49
49
|
|
|
50
50
|
const cwd = process.cwd();
|
|
51
|
-
const serverEntrypoint = path.resolve(rootDir,
|
|
51
|
+
const serverEntrypoint = path.resolve(rootDir, 'server.ts');
|
|
52
52
|
|
|
53
53
|
try {
|
|
54
54
|
const globBase = path.relative(cwd, rootDir);
|
|
@@ -86,31 +86,10 @@ export async function buildOnce({
|
|
|
86
86
|
}
|
|
87
87
|
fs.writeFileSync(serverEntrypoint, serverExposeContent, 'utf8');
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
`tsc --incremental --declaration --noEmit false --outDir ${libOutDir} `,
|
|
92
|
-
),
|
|
93
|
-
]).catch((error) => {
|
|
94
|
-
// console.error(error);
|
|
95
|
-
console.error('Error running tsc, continue anyway');
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
// copy tsc output to server dir
|
|
99
|
-
await fsx.copy(libOutDir, serverOutDir, { overwrite: true });
|
|
100
|
-
// rename serverEntryName to index
|
|
101
|
-
const tscOutFiles = fs.readdirSync(serverOutDir);
|
|
102
|
-
for (const file of tscOutFiles) {
|
|
103
|
-
if (file.startsWith(serverEntryName)) {
|
|
104
|
-
const remaining = file.slice(serverEntryName.length);
|
|
105
|
-
fs.renameSync(
|
|
106
|
-
path.resolve(serverOutDir, file),
|
|
107
|
-
path.resolve(serverOutDir, 'index' + remaining),
|
|
108
|
-
);
|
|
109
|
-
}
|
|
89
|
+
if (fs.existsSync('src/index.ts')) {
|
|
90
|
+
fs.copyFileSync('src/index.ts', 'client/index.ts');
|
|
110
91
|
}
|
|
111
92
|
|
|
112
|
-
const imports = [] as string[];
|
|
113
|
-
|
|
114
93
|
for (let actionFile of actionFilesRelativePaths) {
|
|
115
94
|
const abs = path.resolve(rootDir, actionFile);
|
|
116
95
|
const content = fs.readFileSync(abs, 'utf8');
|
|
@@ -144,77 +123,45 @@ export async function buildOnce({
|
|
|
144
123
|
}
|
|
145
124
|
const importPath =
|
|
146
125
|
'./' +
|
|
147
|
-
path.posix.join(path.posix.dirname(actionFile), actionName + '.
|
|
148
|
-
const outFile = path.resolve(
|
|
126
|
+
path.posix.join(path.posix.dirname(actionFile), actionName + '.ts');
|
|
127
|
+
const outFile = path.resolve(browserOutDir, importPath);
|
|
149
128
|
|
|
150
129
|
console.log(`processed ${importPath}`);
|
|
151
|
-
|
|
152
|
-
fs.mkdirSync(path.
|
|
130
|
+
|
|
131
|
+
fs.mkdirSync(path.dirname(outFile), {
|
|
153
132
|
recursive: true,
|
|
154
133
|
});
|
|
155
|
-
|
|
156
|
-
const openapiTypes =
|
|
157
|
-
`import * as methods from ${JSON.stringify(
|
|
158
|
-
'./' + path.basename(importPath),
|
|
159
|
-
)}\n` +
|
|
160
|
-
methods
|
|
161
|
-
.map(
|
|
162
|
-
(x) =>
|
|
163
|
-
`export const x: Awaited<ReturnType<typeof methods.${x.name}>>\n`,
|
|
164
|
-
)
|
|
165
|
-
.join('\n');
|
|
166
|
-
fs.writeFileSync(openapiTypesPath(outFile), openapiTypes, 'utf-8');
|
|
167
|
-
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
168
|
-
}
|
|
134
|
+
fs.writeFileSync(outFile, res.code, 'utf-8');
|
|
169
135
|
}
|
|
136
|
+
} finally {
|
|
137
|
+
// await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
170
140
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
);
|
|
174
|
-
// TODO devDependencies should be bundled too, given these are not shipped with the SDK
|
|
175
|
-
if (!bundledPackages.length) {
|
|
176
|
-
console.log('no workspace packages found, skipping types bundling');
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
for (const actionFile of actionFilesRelativePaths) {
|
|
180
|
-
const entryPointDts = path.resolve(
|
|
181
|
-
libOutDir,
|
|
182
|
-
// path.relative(process.cwd(), rootDir),
|
|
183
|
-
path.dirname(actionFile),
|
|
184
|
-
path.basename(actionFile, path.extname(actionFile)) + '.d.ts',
|
|
185
|
-
);
|
|
186
|
-
console.log(`bundling types for ${path.relative(cwd, entryPointDts)}`);
|
|
187
|
-
|
|
188
|
-
rollupDtsFile({
|
|
189
|
-
bundledPackages,
|
|
190
|
-
inputFilePath: entryPointDts,
|
|
191
|
-
outputFilePath: entryPointDts,
|
|
192
|
-
tsconfigFilePath: 'tsconfig.json',
|
|
193
|
-
});
|
|
194
|
-
if (!openapi) {
|
|
195
|
-
continue;
|
|
196
|
-
}
|
|
141
|
+
export async function bundleTypes({ rootDir }) {
|
|
142
|
+
const browserIndexFile = path.resolve('dist/client/index.d.ts');
|
|
197
143
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
type: `*`,
|
|
201
|
-
tsconfig: 'tsconfig.json',
|
|
202
|
-
minify: false,
|
|
203
|
-
// discriminatorType: 'open-api',
|
|
204
|
-
skipTypeCheck: true,
|
|
205
|
-
functions: 'comment',
|
|
206
|
-
});
|
|
207
|
-
const schema = generator.createSchema();
|
|
208
|
-
console.log(JSON.stringify(schema, null, 2));
|
|
209
|
-
// fs.writeFileSync(
|
|
210
|
-
// path.resolve(libOutDir, 'schema.json'),
|
|
211
|
-
// JSON.stringify(schema, null, 2),
|
|
212
|
-
// );
|
|
213
|
-
}
|
|
214
|
-
} finally {
|
|
215
|
-
await fs.promises.unlink(serverEntrypoint).catch(() => null);
|
|
144
|
+
if (!fs.existsSync(browserIndexFile)) {
|
|
145
|
+
return;
|
|
216
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}`);
|
|
217
163
|
}
|
|
164
|
+
|
|
218
165
|
const logger = console;
|
|
219
166
|
|
|
220
167
|
let isBuilding = { ref: false };
|
|
@@ -228,7 +175,12 @@ export async function build(options: BuildOptions) {
|
|
|
228
175
|
const { rootDir, url } = options;
|
|
229
176
|
const watcher = chokidar.watch(rootDir, {
|
|
230
177
|
// ignored: /(^|[\/\\])\../, // ignore dotfiles
|
|
231
|
-
ignored: [
|
|
178
|
+
ignored: [
|
|
179
|
+
'**/node_modules/**',
|
|
180
|
+
'**/dist/**',
|
|
181
|
+
path.resolve(`src/server.ts`),
|
|
182
|
+
'client/**',
|
|
183
|
+
],
|
|
232
184
|
persistent: true,
|
|
233
185
|
});
|
|
234
186
|
console.log('watching for changes');
|
|
@@ -323,10 +275,6 @@ function rollupDtsFile({
|
|
|
323
275
|
}
|
|
324
276
|
}
|
|
325
277
|
|
|
326
|
-
function removeExtension(filePath: string) {
|
|
327
|
-
return filePath.replace(/\.[j|t]sx?$/, '');
|
|
328
|
-
}
|
|
329
|
-
|
|
330
278
|
function runCommand(command: string) {
|
|
331
279
|
return new Promise((resolve, reject) => {
|
|
332
280
|
exec(command, {}, (error, stdout, stderr) => {
|
package/src/cli.ts
CHANGED
|
@@ -5,14 +5,16 @@ 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';
|
|
12
|
+
import { fileURLToPath } from 'url';
|
|
12
13
|
|
|
13
14
|
export const cli = cac();
|
|
14
15
|
|
|
15
|
-
const
|
|
16
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
17
|
+
const __dirname = path.dirname(__filename);
|
|
16
18
|
|
|
17
19
|
cli
|
|
18
20
|
.command('', 'Generate an SDK package for your functions')
|
|
@@ -30,6 +32,15 @@ cli
|
|
|
30
32
|
const rootDir = await findRootDir(process.cwd());
|
|
31
33
|
await build({ rootDir, url, openapi, watch });
|
|
32
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
|
+
|
|
33
44
|
cli
|
|
34
45
|
.command('init', 'Generate a new spiceflow project')
|
|
35
46
|
.option('--name <name>', 'Name of this project')
|
|
@@ -41,11 +52,7 @@ cli
|
|
|
41
52
|
}
|
|
42
53
|
fsx.copySync(path.resolve(__dirname, '../sdk-template'), name, {
|
|
43
54
|
filter(pathname) {
|
|
44
|
-
return (
|
|
45
|
-
!pathname.includes('node_modules') &&
|
|
46
|
-
!pathname.includes('dist') &&
|
|
47
|
-
!pathname.endsWith('.tsbuildinfo')
|
|
48
|
-
);
|
|
55
|
+
return !pathname.endsWith('.tsbuildinfo');
|
|
49
56
|
},
|
|
50
57
|
});
|
|
51
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
|
+
}
|