spiceflow 0.0.1 → 0.0.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/README.md +20 -18
- package/context.js +1 -1
- package/dist/babel.test.js +13 -18
- package/dist/babel.test.js.map +1 -1
- package/dist/babelDebugOutputs.d.ts +1 -1
- package/dist/babelDebugOutputs.d.ts.map +1 -1
- package/dist/babelDebugOutputs.js +12 -18
- package/dist/babelDebugOutputs.js.map +1 -1
- package/dist/babelTransformRpc.d.ts +3 -1
- package/dist/babelTransformRpc.d.ts.map +1 -1
- package/dist/babelTransformRpc.js +17 -27
- package/dist/babelTransformRpc.js.map +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +8 -15
- package/dist/browser.js.map +1 -1
- package/dist/build.d.ts +9 -9
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +101 -84
- package/dist/build.js.map +1 -1
- package/dist/cli.js +29 -33
- package/dist/cli.js.map +1 -1
- package/dist/context-internal.js +8 -14
- package/dist/context-internal.js.map +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -7
- package/dist/context.js.map +1 -1
- package/dist/expose.js +5 -12
- package/dist/expose.js.map +1 -1
- package/dist/headers.d.ts +1 -0
- package/dist/headers.js +1 -1
- package/dist/headers.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -44
- package/dist/index.js.map +1 -1
- package/dist/jsonRpc.js +1 -2
- package/dist/jsonRpc.js.map +1 -1
- package/dist/server.js +12 -21
- package/dist/server.js.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +16 -12
- package/dist/utils.js.map +1 -1
- package/headers.js +1 -1
- package/package.json +3 -2
- package/src/babelDebugOutputs.ts +2 -2
- package/src/babelTransformRpc.ts +8 -8
- package/src/browser.ts +1 -2
- package/src/build.ts +80 -33
- package/src/cli.ts +7 -2
- package/src/context.ts +5 -1
- package/src/expose.ts +1 -1
- package/src/index.ts +12 -20
- package/src/server.ts +3 -3
- package/src/utils.ts +15 -3
package/README.md
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
<br/>
|
|
5
5
|
<h3>spiceflow</h3>
|
|
6
6
|
<br/>
|
|
7
|
-
<p>If GraphQL, JSON-RPC and React server actions had a baby
|
|
7
|
+
<p>If GraphQL, JSON-RPC and React server actions had a baby</p>
|
|
8
8
|
<br/>
|
|
9
9
|
<br/>
|
|
10
10
|
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
|
+
## What is spiceflow?
|
|
14
|
+
|
|
13
15
|
Spiceflow is the fastest way to write and expose an RPC API. In Spiceflow any files with the directive `'use spiceflow'` will be processed as an API route, each function defined in the file will be exposed as an JSON-RPC method.
|
|
14
16
|
|
|
15
17
|
After defining your functions you can call `spiceflow serve` to start a server exposing your API, you can also espose the API using the Next.js or your own server.
|
|
@@ -29,23 +31,23 @@ npm i spiceflow
|
|
|
29
31
|
```bash
|
|
30
32
|
# create a new spiceflow project, works best in a monorepo
|
|
31
33
|
npx spiceflow init --name my-api
|
|
32
|
-
|
|
33
|
-
.
|
|
34
|
-
├──
|
|
35
|
-
├──
|
|
36
|
-
│
|
|
37
|
-
│
|
|
38
|
-
│
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
# .
|
|
35
|
+
# ├── package.json
|
|
36
|
+
# ├── src
|
|
37
|
+
# │ ├── index.ts
|
|
38
|
+
# │ └── v1
|
|
39
|
+
# │ ├── example.ts
|
|
40
|
+
# │ └── generator.ts
|
|
41
|
+
# └── tsconfig.json
|
|
42
|
+
|
|
43
|
+
npx spiceflow serve # builds the sdk in the dist folder and starts serving your API
|
|
44
|
+
|
|
43
45
|
npm run try-sdk # try using the sdk
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
## Writing your API functions
|
|
47
49
|
|
|
48
|
-
Any functions exported in a file with the `'use spiceflow'` directive will be processed as an API route, each function defined in the file will be exposed as an JSON-RPC method.
|
|
50
|
+
#### Any functions exported in a file with the `'use spiceflow'` directive will be processed as an API route, each function defined in the file will be exposed as an JSON-RPC method.
|
|
49
51
|
|
|
50
52
|
```ts
|
|
51
53
|
// src/v1/functions.ts
|
|
@@ -67,13 +69,13 @@ function sleep(ms: number) {
|
|
|
67
69
|
}
|
|
68
70
|
```
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
#### Build and serve the API
|
|
71
73
|
|
|
72
74
|
```bash
|
|
73
75
|
spiceflow serve --watch
|
|
74
76
|
```
|
|
75
77
|
|
|
76
|
-
Call your function from the client, these will use fetch to
|
|
78
|
+
#### Call your function from the client, these will use fetch to communicate with the server
|
|
77
79
|
|
|
78
80
|
```ts
|
|
79
81
|
import {
|
|
@@ -131,8 +133,6 @@ spiceflow build --url http://localhost:3000/api/spiceflow # the Next.js app url
|
|
|
131
133
|
|
|
132
134
|
This plugin injects the `req` and `res` objects in an `AsyncLocalStorage` context, so you can access them in your server functions:
|
|
133
135
|
|
|
134
|
-
Edge function example:
|
|
135
|
-
|
|
136
136
|
```ts
|
|
137
137
|
'use spiceflow';
|
|
138
138
|
|
|
@@ -175,4 +175,6 @@ You can create a `v1` folder in your project and exports your function from `ind
|
|
|
175
175
|
|
|
176
176
|
## How it works
|
|
177
177
|
|
|
178
|
-
Spiceflow `build` command transpiles the files with the `use spiceflow` directive so that any exported function will use fetch to send arguments and get the result, the the transformed files are saved in the `dist` folder.
|
|
178
|
+
Spiceflow `build` command transpiles the files with the `use spiceflow` directive so that any exported function will use fetch to send arguments and get the result, the the transformed files are saved in the `dist` folder.Other files are compiled to the dist directory using `tsc`.
|
|
179
|
+
|
|
180
|
+
Spiceflow also bundles the type definitions with `@microsoft/api-extractor` so the generated dist files don't rely on external local packages and can be safely published to npm.
|
package/context.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export * from './dist/context';
|
package/dist/babel.test.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const vitest_1 = require("vitest");
|
|
7
|
-
const parser_1 = require("@babel/parser");
|
|
8
|
-
const generator_1 = __importDefault(require("@babel/generator"));
|
|
1
|
+
import { test, expect } from 'vitest';
|
|
2
|
+
import { parseExpression } from '@babel/parser';
|
|
3
|
+
import generate from '@babel/generator';
|
|
9
4
|
// import { parseExpression } from './utils';
|
|
10
|
-
|
|
5
|
+
test('parseExpression', () => {
|
|
11
6
|
{
|
|
12
|
-
const parsed =
|
|
13
|
-
const code = (
|
|
14
|
-
|
|
7
|
+
const parsed = parseExpression('{ "type": "StringLiteral", "value": "/api/actions-node" }');
|
|
8
|
+
const code = generate(parsed).code;
|
|
9
|
+
expect(code).toMatchInlineSnapshot(`
|
|
15
10
|
"{
|
|
16
11
|
"type": "StringLiteral",
|
|
17
12
|
"value": "/api/actions-node"
|
|
@@ -19,14 +14,14 @@ const generator_1 = __importDefault(require("@babel/generator"));
|
|
|
19
14
|
`);
|
|
20
15
|
}
|
|
21
16
|
{
|
|
22
|
-
const parsed =
|
|
23
|
-
const code = (
|
|
24
|
-
|
|
17
|
+
const parsed = parseExpression('null');
|
|
18
|
+
const code = generate(parsed).code;
|
|
19
|
+
expect(code).toMatchInlineSnapshot(`"null"`);
|
|
25
20
|
}
|
|
26
21
|
{
|
|
27
|
-
const parsed =
|
|
28
|
-
const code = (
|
|
29
|
-
|
|
22
|
+
const parsed = parseExpression(`typeof wrapMethod === 'function' ? wrapMethod : undefined`);
|
|
23
|
+
const code = generate(parsed).code;
|
|
24
|
+
expect(code).toMatchInlineSnapshot(`"typeof wrapMethod === 'function' ? wrapMethod : undefined"`);
|
|
30
25
|
}
|
|
31
26
|
});
|
|
32
27
|
//# sourceMappingURL=babel.test.js.map
|
package/dist/babel.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel.test.js","sourceRoot":"","sources":["../src/babel.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"babel.test.js","sourceRoot":"","sources":["../src/babel.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAGxC,6CAA6C;AAE7C,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,CAAC;QACC,MAAM,MAAM,GAAG,eAAe,CAC5B,2DAA2D,CAC5D,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC;;;;;KAKlC,CAAC,CAAC;IACL,CAAC;IACD,CAAC;QACC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,CAAC;QACC,MAAM,MAAM,GAAG,eAAe,CAC5B,2DAA2D,CAC5D,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAChC,6DAA6D,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babelDebugOutputs.d.ts","sourceRoot":"","sources":["../src/babelDebugOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"babelDebugOutputs.d.ts","sourceRoot":"","sources":["../src/babelDebugOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,KAAK,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAAE,CAAC;AAIrC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EACnB,EAAE,QAAQ,EAAE,EAAE,aAAa,GAC1B,KAAK,CAAC,SAAS,GAAG,SAAS,CAuC7B"}
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const generator_1 = __importDefault(require("@babel/generator"));
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const utils_1 = require("./utils");
|
|
1
|
+
import generate from '@babel/generator';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { default as nodePath, default as path } from 'path';
|
|
4
|
+
import { getFileName, logger } from './utils.js';
|
|
10
5
|
let deletedDir = false;
|
|
11
|
-
function debugOutputsPlugin({ types: t }, { isServer }) {
|
|
6
|
+
export default function debugOutputsPlugin({ types: t }, { isServer }) {
|
|
12
7
|
const cwd = process.cwd();
|
|
13
8
|
if (!deletedDir) {
|
|
14
9
|
deletedDir = true;
|
|
15
|
-
|
|
10
|
+
fs.mkdirSync('./actions-outputs', { recursive: true });
|
|
16
11
|
}
|
|
17
12
|
return {
|
|
18
13
|
visitor: {
|
|
19
14
|
Program: {
|
|
20
15
|
exit(program, state) {
|
|
21
16
|
var _a;
|
|
22
|
-
const filePath = (_a =
|
|
17
|
+
const filePath = (_a = getFileName(state)) !== null && _a !== void 0 ? _a : nodePath.join('pages', 'Default.js');
|
|
23
18
|
if (!process.env.DEBUG_ACTIONS) {
|
|
24
19
|
return;
|
|
25
20
|
}
|
|
26
21
|
// stringify the AST and print it
|
|
27
|
-
const output = (
|
|
22
|
+
const output = generate(program.node, {
|
|
28
23
|
/* options */
|
|
29
24
|
}, this.file.code);
|
|
30
|
-
let p =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
let p = path.resolve('./actions-outputs', isServer ? 'server/' : 'client/', path.relative(cwd, path.resolve(filePath)));
|
|
26
|
+
logger.log(`${isServer ? 'server' : 'client'} plugin output:`, p);
|
|
27
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
28
|
+
fs.writeFileSync(p, output.code);
|
|
34
29
|
},
|
|
35
30
|
},
|
|
36
31
|
},
|
|
37
32
|
};
|
|
38
33
|
}
|
|
39
|
-
exports.default = debugOutputsPlugin;
|
|
40
34
|
//# sourceMappingURL=babelDebugOutputs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babelDebugOutputs.js","sourceRoot":"","sources":["../src/babelDebugOutputs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"babelDebugOutputs.js","sourceRoot":"","sources":["../src/babelDebugOutputs.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIjD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,EAAE,KAAK,EAAE,CAAC,EAAS,EACnB,EAAE,QAAQ,EAAiB;IAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,CAAC;QAElB,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,IAAI,CAAC,OAAO,EAAE,KAAK;;oBACjB,MAAM,QAAQ,GACZ,MAAA,WAAW,CAAC,KAAK,CAAC,mCAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAE7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;wBAC/B,OAAO;oBACT,CAAC;oBAED,iCAAiC;oBACjC,MAAM,MAAM,GAAG,QAAQ,CACrB,OAAO,CAAC,IAAI,EACZ;oBACE,aAAa;qBACd,EACD,IAAI,CAAC,IAAI,CAAC,IAAI,CACf,CAAC;oBACF,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAClB,mBAAmB,EACnB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC3C,CAAC;oBACF,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,iBAAiB,EAAE,CAAC,CAAC,CAAC;oBAClE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import type * as types from '@babel/types';
|
|
3
|
+
import { WrapMethodMeta } from './server.js';
|
|
3
4
|
type Babel = {
|
|
4
5
|
types: typeof types;
|
|
5
6
|
};
|
|
@@ -10,8 +11,9 @@ export declare function isEdgeInConfig(configObject?: babel.NodePath<babel.types
|
|
|
10
11
|
export interface PluginOptions {
|
|
11
12
|
isServer: boolean;
|
|
12
13
|
rootDir: string;
|
|
14
|
+
onMethod?: (method: WrapMethodMeta) => void;
|
|
13
15
|
url?: string;
|
|
14
16
|
}
|
|
15
|
-
export default function ({ types: t }: Babel, { rootDir, isServer, url: rpcUrl }: PluginOptions): babel.PluginObj;
|
|
17
|
+
export default function ({ types: t }: Babel, { rootDir, onMethod, isServer, url: rpcUrl }: PluginOptions): babel.PluginObj;
|
|
16
18
|
export {};
|
|
17
19
|
//# sourceMappingURL=babelTransformRpc.d.ts.map
|
|
@@ -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;
|
|
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;AAiDrC,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,CAqPjB"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isEdgeInConfig = exports.getConfigObject = void 0;
|
|
7
|
-
const parser_1 = require("@babel/parser");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const utils_1 = require("./utils");
|
|
10
|
-
const { name } = require('../package.json');
|
|
11
|
-
const IMPORT_PATH_SERVER = `${name}/dist/server.js`;
|
|
12
|
-
const IMPORT_PATH_BROWSER = `${name}/dist/browser.js`;
|
|
1
|
+
import { parseExpression } from '@babel/parser';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { annotateAsPure, directive, logger } from './utils.js';
|
|
4
|
+
const IMPORT_PATH_BROWSER = `spiceflow/dist/browser.js`;
|
|
13
5
|
function isAllowedTsExportDeclaration(declaration) {
|
|
14
6
|
return (declaration.isTSTypeAliasDeclaration() ||
|
|
15
7
|
declaration.isTSInterfaceDeclaration());
|
|
@@ -44,7 +36,7 @@ function getConfigObjectExpression(variable) {
|
|
|
44
36
|
}
|
|
45
37
|
return null;
|
|
46
38
|
}
|
|
47
|
-
function getConfigObject(program) {
|
|
39
|
+
export function getConfigObject(program) {
|
|
48
40
|
for (const statement of program.get('body')) {
|
|
49
41
|
if (statement.isExportNamedDeclaration()) {
|
|
50
42
|
const declaration = statement.get('declaration');
|
|
@@ -60,10 +52,9 @@ function getConfigObject(program) {
|
|
|
60
52
|
}
|
|
61
53
|
return;
|
|
62
54
|
}
|
|
63
|
-
exports.getConfigObject = getConfigObject;
|
|
64
55
|
function isServerAction(program) {
|
|
65
56
|
var _a;
|
|
66
|
-
const dir = (_a = program.node.directives) === null || _a === void 0 ? void 0 : _a.find((x) => { var _a; return ((_a = x.value) === null || _a === void 0 ? void 0 : _a.value) ===
|
|
57
|
+
const dir = (_a = program.node.directives) === null || _a === void 0 ? void 0 : _a.find((x) => { var _a; return ((_a = x.value) === null || _a === void 0 ? void 0 : _a.value) === directive; });
|
|
67
58
|
return !!dir;
|
|
68
59
|
// https://regex101.com/r/Wm6UvV/1
|
|
69
60
|
// return /^("|')poor man's use server("|')(;?)\n/m.test(code);
|
|
@@ -106,7 +97,7 @@ function hasWrapMethod(program) {
|
|
|
106
97
|
// /export\s+\{[^}]*wrapMethod/m.test(code)
|
|
107
98
|
// );
|
|
108
99
|
}
|
|
109
|
-
function isEdgeInConfig(configObject) {
|
|
100
|
+
export function isEdgeInConfig(configObject) {
|
|
110
101
|
if (!configObject) {
|
|
111
102
|
return false;
|
|
112
103
|
}
|
|
@@ -124,11 +115,10 @@ function isEdgeInConfig(configObject) {
|
|
|
124
115
|
}
|
|
125
116
|
return false;
|
|
126
117
|
}
|
|
127
|
-
|
|
128
|
-
function default_1({ types: t }, { rootDir, isServer, url: rpcUrl }) {
|
|
118
|
+
export default function ({ types: t }, { rootDir, onMethod, isServer, url: rpcUrl }) {
|
|
129
119
|
return {
|
|
130
120
|
visitor: {
|
|
131
|
-
Program(program) {
|
|
121
|
+
Program(program, state) {
|
|
132
122
|
var _a, _b, _c;
|
|
133
123
|
const { filename } = this.file.opts;
|
|
134
124
|
if (!filename) {
|
|
@@ -139,12 +129,12 @@ function default_1({ types: t }, { rootDir, isServer, url: rpcUrl }) {
|
|
|
139
129
|
};
|
|
140
130
|
const isAction = isServerAction(program);
|
|
141
131
|
if (!isAction) {
|
|
142
|
-
|
|
132
|
+
logger.log(`Skipping ${filename} because it's not an action`);
|
|
143
133
|
return;
|
|
144
134
|
}
|
|
145
|
-
|
|
135
|
+
logger.log(`Processing ${filename} as a ${isServer ? 'server' : 'client'} action`);
|
|
146
136
|
const hasWrap = hasWrapMethod(program);
|
|
147
|
-
const rel =
|
|
137
|
+
const rel = path.relative(rootDir, filename);
|
|
148
138
|
const rpcRelativePath = rel
|
|
149
139
|
.replace(/\.[j|t]sx?$/, '')
|
|
150
140
|
// remove /pages at the start
|
|
@@ -158,8 +148,8 @@ function default_1({ types: t }, { rootDir, isServer, url: rpcUrl }) {
|
|
|
158
148
|
const createRpcMethod = (rpcMethod, meta) => {
|
|
159
149
|
return t.callExpression(createRpcMethodIdentifier, [
|
|
160
150
|
rpcMethod,
|
|
161
|
-
|
|
162
|
-
|
|
151
|
+
parseExpression(JSON.stringify(meta)),
|
|
152
|
+
parseExpression(hasWrap
|
|
163
153
|
? `typeof wrapMethod === 'function' ? wrapMethod : undefined`
|
|
164
154
|
: 'null'),
|
|
165
155
|
]);
|
|
@@ -284,9 +274,10 @@ function default_1({ types: t }, { rootDir, isServer, url: rpcUrl }) {
|
|
|
284
274
|
], t.stringLiteral(IMPORT_PATH_BROWSER)),
|
|
285
275
|
...rpcMethodNames.map((name) => {
|
|
286
276
|
const isGenerator = !!generators.get(name);
|
|
277
|
+
onMethod === null || onMethod === void 0 ? void 0 : onMethod({ name, pathname: rpcPath, isGenerator });
|
|
287
278
|
return t.exportNamedDeclaration(t.variableDeclaration('const', [
|
|
288
|
-
t.variableDeclarator(t.identifier(name),
|
|
289
|
-
|
|
279
|
+
t.variableDeclarator(t.identifier(name), annotateAsPure(t, t.callExpression(createRpcFetcherIdentifier, [
|
|
280
|
+
parseExpression(JSON.stringify({
|
|
290
281
|
url: rpcPath,
|
|
291
282
|
method: name,
|
|
292
283
|
isGenerator,
|
|
@@ -300,5 +291,4 @@ function default_1({ types: t }, { rootDir, isServer, url: rpcUrl }) {
|
|
|
300
291
|
},
|
|
301
292
|
};
|
|
302
293
|
}
|
|
303
|
-
exports.default = default_1;
|
|
304
294
|
//# sourceMappingURL=babelTransformRpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babelTransformRpc.js","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"babelTransformRpc.js","sourceRoot":"","sources":["../src/babelTransformRpc.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAKA,KAAK,WAAW,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAInE,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,MAAM,EACN,WAAW,GACZ,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAuGd"}
|
package/dist/browser.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
3
2
|
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
4
3
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
@@ -12,20 +11,15 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar
|
|
|
12
11
|
function reject(value) { resume("throw", value); }
|
|
13
12
|
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
14
13
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.createRpcFetcher = void 0;
|
|
20
|
-
const stream_1 = require("eventsource-parser/stream");
|
|
21
|
-
const superjson_1 = __importDefault(require("superjson"));
|
|
14
|
+
import { EventSourceParserStream } from 'eventsource-parser/stream';
|
|
15
|
+
import superjson from 'superjson';
|
|
22
16
|
let nextId = 1;
|
|
23
|
-
function createRpcFetcher({ url, method, isGenerator, }) {
|
|
17
|
+
export function createRpcFetcher({ url, method, isGenerator, }) {
|
|
24
18
|
const controller = new AbortController();
|
|
25
19
|
if (isGenerator) {
|
|
26
20
|
const generator = function rpcFetchGenerator(...args) {
|
|
27
21
|
return __asyncGenerator(this, arguments, function* rpcFetchGenerator_1() {
|
|
28
|
-
const { json, meta } =
|
|
22
|
+
const { json, meta } = superjson.serialize(args);
|
|
29
23
|
const res = yield __await(fetch(url, {
|
|
30
24
|
method: 'POST',
|
|
31
25
|
headers: {
|
|
@@ -50,7 +44,7 @@ function createRpcFetcher({ url, method, isGenerator, }) {
|
|
|
50
44
|
}
|
|
51
45
|
const eventStream = res.body
|
|
52
46
|
.pipeThrough(new TextDecoderStream())
|
|
53
|
-
.pipeThrough(new
|
|
47
|
+
.pipeThrough(new EventSourceParserStream())
|
|
54
48
|
.getReader();
|
|
55
49
|
let isClosed = false;
|
|
56
50
|
try {
|
|
@@ -68,7 +62,7 @@ function createRpcFetcher({ url, method, isGenerator, }) {
|
|
|
68
62
|
const json = JSON.parse(event.data);
|
|
69
63
|
const { jsonrpc, id, result, meta, error } = json;
|
|
70
64
|
yield __await(handleJsonrpcError({ status: res.status, json }));
|
|
71
|
-
const deserialized =
|
|
65
|
+
const deserialized = superjson.deserialize({
|
|
72
66
|
json: result,
|
|
73
67
|
meta,
|
|
74
68
|
});
|
|
@@ -88,7 +82,7 @@ function createRpcFetcher({ url, method, isGenerator, }) {
|
|
|
88
82
|
return generator;
|
|
89
83
|
}
|
|
90
84
|
async function rpcFetch(...args) {
|
|
91
|
-
const { json: argsJson, meta } =
|
|
85
|
+
const { json: argsJson, meta } = superjson.serialize(args);
|
|
92
86
|
const res = await fetch(url, {
|
|
93
87
|
method: 'POST',
|
|
94
88
|
body: JSON.stringify({
|
|
@@ -105,7 +99,7 @@ function createRpcFetcher({ url, method, isGenerator, }) {
|
|
|
105
99
|
const json = await res.json();
|
|
106
100
|
await handleJsonrpcError({ status: res.status, json });
|
|
107
101
|
{
|
|
108
|
-
const deserialized =
|
|
102
|
+
const deserialized = superjson.deserialize({
|
|
109
103
|
json: json.result,
|
|
110
104
|
meta: json.meta,
|
|
111
105
|
});
|
|
@@ -117,7 +111,6 @@ function createRpcFetcher({ url, method, isGenerator, }) {
|
|
|
117
111
|
};
|
|
118
112
|
return rpcFetch;
|
|
119
113
|
}
|
|
120
|
-
exports.createRpcFetcher = createRpcFetcher;
|
|
121
114
|
async function handleJsonrpcError({ status, json, }) {
|
|
122
115
|
var _a;
|
|
123
116
|
if (status >= 400) {
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/build.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
1
|
+
type BuildOptions = {
|
|
2
|
+
openapi?: boolean;
|
|
3
|
+
rootDir: string;
|
|
4
|
+
url: string;
|
|
5
|
+
watch?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function buildOnce({ openapi, rootDir, url, }: BuildOptions): Promise<void>;
|
|
8
|
+
export declare function build(options: BuildOptions): Promise<void>;
|
|
9
|
+
export {};
|
|
10
10
|
//# 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":"AAsBA,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,iBAwLd;AAMD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,iBA8BhD"}
|