spiceflow 0.0.6 → 1.0.0

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.
Files changed (151) hide show
  1. package/README.md +1 -171
  2. package/dist/client/errors.d.ts +7 -0
  3. package/dist/client/errors.d.ts.map +1 -0
  4. package/dist/client/errors.js +18 -0
  5. package/dist/client/errors.js.map +1 -0
  6. package/dist/client/index.d.ts +14 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +376 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/types.d.ts +87 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/client/types.js +2 -0
  13. package/dist/client/types.js.map +1 -0
  14. package/dist/client/utils.d.ts +2 -0
  15. package/dist/client/utils.d.ts.map +1 -0
  16. package/dist/client/utils.js +9 -0
  17. package/dist/client/utils.js.map +1 -0
  18. package/dist/client/ws.d.ts +15 -0
  19. package/dist/client/ws.d.ts.map +1 -0
  20. package/dist/client/ws.js +51 -0
  21. package/dist/client/ws.js.map +1 -0
  22. package/dist/client.test.d.ts +2 -0
  23. package/dist/client.test.d.ts.map +1 -0
  24. package/dist/client.test.js +237 -0
  25. package/dist/client.test.js.map +1 -0
  26. package/dist/elysia-fork/context.d.ts +87 -0
  27. package/dist/elysia-fork/context.d.ts.map +1 -0
  28. package/dist/elysia-fork/context.js +2 -0
  29. package/dist/elysia-fork/context.js.map +1 -0
  30. package/dist/elysia-fork/error.d.ts +246 -0
  31. package/dist/elysia-fork/error.d.ts.map +1 -0
  32. package/dist/elysia-fork/error.js +195 -0
  33. package/dist/elysia-fork/error.js.map +1 -0
  34. package/dist/elysia-fork/types.d.ts +652 -0
  35. package/dist/elysia-fork/types.d.ts.map +1 -0
  36. package/dist/elysia-fork/types.js +3 -0
  37. package/dist/elysia-fork/types.js.map +1 -0
  38. package/dist/elysia-fork/utils.d.ts +134 -0
  39. package/dist/elysia-fork/utils.d.ts.map +1 -0
  40. package/dist/elysia-fork/utils.js +70 -0
  41. package/dist/elysia-fork/utils.js.map +1 -0
  42. package/dist/spiceflow.d.ts +253 -0
  43. package/dist/spiceflow.d.ts.map +1 -0
  44. package/dist/spiceflow.js +500 -0
  45. package/dist/spiceflow.js.map +1 -0
  46. package/dist/spiceflow.test.d.ts +2 -0
  47. package/dist/spiceflow.test.d.ts.map +1 -0
  48. package/dist/spiceflow.test.js +225 -0
  49. package/dist/spiceflow.test.js.map +1 -0
  50. package/dist/stream.test.d.ts +2 -0
  51. package/dist/stream.test.d.ts.map +1 -0
  52. package/dist/stream.test.js +286 -0
  53. package/dist/stream.test.js.map +1 -0
  54. package/dist/types.d.ts +1 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +2 -0
  57. package/dist/types.js.map +1 -0
  58. package/dist/utils.d.ts +4 -20
  59. package/dist/utils.d.ts.map +1 -1
  60. package/dist/utils.js +17 -46
  61. package/dist/utils.js.map +1 -1
  62. package/package.json +12 -36
  63. package/src/client/errors.ts +21 -0
  64. package/src/client/index.ts +539 -0
  65. package/src/client/types.ts +233 -0
  66. package/src/client/utils.ts +7 -0
  67. package/src/client/ws.ts +99 -0
  68. package/src/client.test.ts +235 -0
  69. package/src/elysia-fork/context.ts +196 -0
  70. package/src/elysia-fork/error.ts +293 -0
  71. package/src/elysia-fork/types.ts +1454 -0
  72. package/src/elysia-fork/utils.ts +85 -0
  73. package/src/spiceflow.test.ts +290 -0
  74. package/src/spiceflow.ts +1266 -0
  75. package/src/stream.test.ts +342 -0
  76. package/src/types.ts +0 -0
  77. package/src/utils.ts +21 -70
  78. package/context.d.ts +0 -2
  79. package/context.js +0 -1
  80. package/dist/babel.test.d.ts +0 -2
  81. package/dist/babel.test.d.ts.map +0 -1
  82. package/dist/babel.test.js +0 -27
  83. package/dist/babel.test.js.map +0 -1
  84. package/dist/babelDebugOutputs.d.ts +0 -9
  85. package/dist/babelDebugOutputs.d.ts.map +0 -1
  86. package/dist/babelDebugOutputs.js +0 -34
  87. package/dist/babelDebugOutputs.js.map +0 -1
  88. package/dist/babelTransformRpc.d.ts +0 -19
  89. package/dist/babelTransformRpc.d.ts.map +0 -1
  90. package/dist/babelTransformRpc.js +0 -285
  91. package/dist/babelTransformRpc.js.map +0 -1
  92. package/dist/browser.d.ts +0 -8
  93. package/dist/browser.d.ts.map +0 -1
  94. package/dist/browser.js +0 -126
  95. package/dist/browser.js.map +0 -1
  96. package/dist/build.d.ts +0 -13
  97. package/dist/build.d.ts.map +0 -1
  98. package/dist/build.js +0 -230
  99. package/dist/build.js.map +0 -1
  100. package/dist/cli.d.ts +0 -3
  101. package/dist/cli.d.ts.map +0 -1
  102. package/dist/cli.js +0 -111
  103. package/dist/cli.js.map +0 -1
  104. package/dist/context-internal.d.ts +0 -20
  105. package/dist/context-internal.d.ts.map +0 -1
  106. package/dist/context-internal.js +0 -16
  107. package/dist/context-internal.js.map +0 -1
  108. package/dist/context.d.ts +0 -2
  109. package/dist/context.d.ts.map +0 -1
  110. package/dist/context.js +0 -2
  111. package/dist/context.js.map +0 -1
  112. package/dist/expose.d.ts +0 -6
  113. package/dist/expose.d.ts.map +0 -1
  114. package/dist/expose.js +0 -32
  115. package/dist/expose.js.map +0 -1
  116. package/dist/headers.d.ts +0 -2
  117. package/dist/headers.d.ts.map +0 -1
  118. package/dist/headers.js +0 -18
  119. package/dist/headers.js.map +0 -1
  120. package/dist/index.d.ts +0 -8
  121. package/dist/index.d.ts.map +0 -1
  122. package/dist/index.js +0 -23
  123. package/dist/index.js.map +0 -1
  124. package/dist/jsonRpc.d.ts +0 -32
  125. package/dist/jsonRpc.d.ts.map +0 -1
  126. package/dist/jsonRpc.js +0 -3
  127. package/dist/jsonRpc.js.map +0 -1
  128. package/dist/server.d.ts +0 -32
  129. package/dist/server.d.ts.map +0 -1
  130. package/dist/server.js +0 -292
  131. package/dist/server.js.map +0 -1
  132. package/headers.d.ts +0 -2
  133. package/headers.js +0 -1
  134. package/sdk-template/package.json +0 -22
  135. package/sdk-template/src/index.ts +0 -2
  136. package/sdk-template/src/v1/example.ts +0 -5
  137. package/sdk-template/src/v1/generator.ts +0 -12
  138. package/sdk-template/tsconfig.json +0 -16
  139. package/src/babel.test.ts +0 -35
  140. package/src/babelDebugOutputs.ts +0 -56
  141. package/src/babelTransformRpc.ts +0 -394
  142. package/src/browser.ts +0 -141
  143. package/src/build.ts +0 -298
  144. package/src/cli.ts +0 -132
  145. package/src/context-internal.ts +0 -36
  146. package/src/context.ts +0 -5
  147. package/src/expose.ts +0 -34
  148. package/src/headers.ts +0 -19
  149. package/src/index.ts +0 -34
  150. package/src/jsonRpc.ts +0 -43
  151. package/src/server.ts +0 -384
package/dist/build.js DELETED
@@ -1,230 +0,0 @@
1
- import pico from 'picocolors';
2
- import { ConsoleMessageId, Extractor, ExtractorConfig, ExtractorLogLevel, } from '@microsoft/api-extractor';
3
- import chokidar from 'chokidar';
4
- import { getPackages } from '@manypkg/get-packages';
5
- import { transform } from '@babel/core';
6
- import { exec } from 'child_process';
7
- import globSync from 'fast-glob';
8
- import fs from 'fs';
9
- import path from 'path';
10
- import { plugins } from './index.js';
11
- import { directive, removeExtension } from './utils.js';
12
- export async function buildOnce({ openapi = false, rootDir, url, }) {
13
- console.log();
14
- console.log('building functions');
15
- if (url && !url.endsWith('/')) {
16
- // make sure that new URL uses the last portion of the path too
17
- url += '/';
18
- }
19
- try {
20
- new URL(url);
21
- }
22
- catch (e) {
23
- throw new Error(`Invalid url ${url}`);
24
- }
25
- let browserOutDir = path.resolve('client');
26
- fs.mkdirSync(browserOutDir, { recursive: true });
27
- // await fs.promises.rm(browserOutDir, { recursive: true }).catch(() => null);
28
- const cwd = process.cwd();
29
- const serverEntrypoint = path.resolve(rootDir, 'server.ts');
30
- try {
31
- const globBase = path.relative(cwd, rootDir);
32
- const globs = [path.posix.join(globBase, '**/*.{ts,tsx,js,jsx}')];
33
- // console.log({ globs });
34
- const allPossibleFiles = globSync.globSync(globs, {
35
- onlyFiles: true,
36
- absolute: true,
37
- });
38
- const actionFilesRelativePaths = allPossibleFiles
39
- .filter((file) => {
40
- const content = fs.readFileSync(file, 'utf8');
41
- return content.includes(directive);
42
- })
43
- .map((x) => {
44
- return path.relative(rootDir, x);
45
- });
46
- const importsCode = [...new Set(actionFilesRelativePaths)]
47
- .map((filePath) => {
48
- filePath = removeExtension(filePath);
49
- return `${JSON.stringify('/' + filePath)}: () => import('./${filePath}.js')`;
50
- })
51
- .join(',');
52
- const serverExposeContent = `// this file was generated\n` +
53
- `import { internalEdgeHandler, internalNodeJsHandler } from 'spiceflow/dist/server.js';\n` +
54
- `export const methodsMap = {${importsCode}} as any\n` +
55
- `export const edgeHandler = internalEdgeHandler({ methodsMap });\n` +
56
- `export const nodeJsHandler = internalNodeJsHandler({ methodsMap });\n`;
57
- if (!actionFilesRelativePaths.length) {
58
- throw new Error('No functions files found!');
59
- }
60
- fs.writeFileSync(serverEntrypoint, serverExposeContent, 'utf8');
61
- if (fs.existsSync('src/index.ts')) {
62
- fs.copyFileSync('src/index.ts', 'client/index.ts');
63
- }
64
- for (let actionFile of actionFilesRelativePaths) {
65
- const abs = path.resolve(rootDir, actionFile);
66
- const content = fs.readFileSync(abs, 'utf8');
67
- const actionName = path.basename(actionFile, path.extname(actionFile));
68
- let methods = [];
69
- const res = transform(content || '', {
70
- babelrc: false,
71
- sourceType: 'module',
72
- plugins: [
73
- ...plugins({
74
- isServer: false,
75
- url,
76
- onMethod(meta) {
77
- methods.push(meta);
78
- },
79
- rootDir,
80
- }),
81
- ],
82
- filename: abs,
83
- sourceMaps: false,
84
- });
85
- if (!res || !res.code) {
86
- console.error(`Error transforming ${actionFile}, returned nothing, maybe not an action?`);
87
- continue;
88
- }
89
- const importPath = './' +
90
- path.posix.join(path.posix.dirname(actionFile), actionName + '.ts');
91
- const outFile = path.resolve(browserOutDir, importPath);
92
- console.log(`processed ${importPath}`);
93
- fs.mkdirSync(path.dirname(outFile), {
94
- recursive: true,
95
- });
96
- fs.writeFileSync(outFile, res.code, 'utf-8');
97
- }
98
- }
99
- finally {
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;
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}`);
120
- }
121
- const logger = console;
122
- let isBuilding = { ref: false };
123
- let missedWatch = { ref: false };
124
- export async function build(options) {
125
- await buildOnce(options);
126
- if (!options.watch) {
127
- return;
128
- }
129
- const { rootDir, url } = options;
130
- const watcher = chokidar.watch(rootDir, {
131
- // ignored: /(^|[\/\\])\../, // ignore dotfiles
132
- ignored: [
133
- '**/node_modules/**',
134
- '**/dist/**',
135
- path.resolve(`src/server.ts`),
136
- 'client/**',
137
- ],
138
- persistent: true,
139
- });
140
- console.log('watching for changes');
141
- watcher.on('change', async (path, stats) => {
142
- if (isBuilding.ref) {
143
- missedWatch.ref = true;
144
- return;
145
- }
146
- isBuilding.ref = true;
147
- try {
148
- logger.log(`detected change in ${path}`);
149
- await buildOnce(options);
150
- if (missedWatch.ref) {
151
- // logger.log('missed a change, rebuilding');
152
- await buildOnce(options);
153
- missedWatch.ref = false;
154
- }
155
- }
156
- finally {
157
- isBuilding.ref = false;
158
- }
159
- });
160
- }
161
- function rollupDtsFile({ inputFilePath, outputFilePath, tsconfigFilePath, bundledPackages, }) {
162
- let cwd = process.cwd();
163
- if (!fs.existsSync(tsconfigFilePath)) {
164
- throw new Error(`tsconfig.json not found at ${tsconfigFilePath}`);
165
- }
166
- let packageJsonFullPath = path.join(cwd, 'package.json');
167
- const extractorConfig = ExtractorConfig.prepare({
168
- configObject: {
169
- mainEntryPointFilePath: inputFilePath,
170
- bundledPackages,
171
- apiReport: {
172
- enabled: false,
173
- // `reportFileName` is not been used. It's just to fit the requirement of API Extractor.
174
- reportFileName: 'report.html',
175
- },
176
- docModel: { apiJsonFilePath: 'api.json', enabled: false },
177
- dtsRollup: {
178
- enabled: true,
179
- untrimmedFilePath: outputFilePath,
180
- },
181
- tsdocMetadata: { enabled: false, tsdocMetadataFilePath: 'another.json' },
182
- compiler: {
183
- tsconfigFilePath: tsconfigFilePath,
184
- },
185
- projectFolder: cwd,
186
- },
187
- configObjectFullPath: undefined,
188
- packageJsonFullPath,
189
- });
190
- // Invoke API Extractor
191
- const extractorResult = Extractor.invoke(extractorConfig, {
192
- // Equivalent to the "--local" command-line parameter
193
- localBuild: true,
194
- messageCallback: (message) => {
195
- switch (message.messageId) {
196
- case ConsoleMessageId.ApiReportCreated:
197
- message.logLevel = ExtractorLogLevel.None;
198
- break;
199
- case ConsoleMessageId.Preamble:
200
- message.logLevel = ExtractorLogLevel.None;
201
- break;
202
- }
203
- },
204
- showDiagnostics: false,
205
- // Equivalent to the "--verbose" command-line parameter
206
- showVerboseMessages: false,
207
- });
208
- if (!extractorResult.succeeded) {
209
- throw new Error(`API Extractor completed with ${extractorResult.errorCount} errors and ${extractorResult.warningCount} warnings when processing ${inputFilePath}`);
210
- }
211
- }
212
- function runCommand(command) {
213
- return new Promise((resolve, reject) => {
214
- exec(command, {}, (error, stdout, stderr) => {
215
- if (error) {
216
- console.log();
217
- console.error(pico.red(stdout));
218
- console.error(pico.red(stderr));
219
- reject(error);
220
- }
221
- else {
222
- resolve(stdout);
223
- }
224
- });
225
- });
226
- }
227
- function openapiTypesPath(outFile) {
228
- return path.resolve(path.dirname(outFile), `${path.basename(outFile, path.extname(outFile))}-schema.d.ts`);
229
- }
230
- //# sourceMappingURL=build.js.map
package/dist/build.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #! /usr/bin/env node
2
- export declare const cli: import("cac").CAC;
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAaA,eAAO,MAAM,GAAG,mBAAQ,CAAC"}
package/dist/cli.js DELETED
@@ -1,111 +0,0 @@
1
- #! /usr/bin/env node
2
- import fsx from 'fs-extra';
3
- import fs from 'fs-extra';
4
- import { cac } from 'cac';
5
- import { build, bundleTypes } from './build.js';
6
- import { findRootDir } from './index.js';
7
- import { spawn } from 'child_process';
8
- import path from 'path';
9
- import { fileURLToPath } from 'url';
10
- export const cli = cac();
11
- const __filename = fileURLToPath(import.meta.url);
12
- const __dirname = path.dirname(__filename);
13
- cli
14
- .command('', 'Generate an SDK package for your functions')
15
- .alias('build')
16
- .option('--watch', 'Watch for changes')
17
- .option('--url <url>', 'URL of the package, including the base path', {
18
- default: 'http://localhost:3333',
19
- })
20
- .option('--openapi', '[experimental] Creates an openapi.json schema based on your functions')
21
- .action(async (options) => {
22
- const { url, watch, openapi } = options;
23
- const rootDir = await findRootDir(process.cwd());
24
- await build({ rootDir, url, openapi, watch });
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
- });
32
- cli
33
- .command('init', 'Generate a new spiceflow project')
34
- .option('--name <name>', 'Name of this project')
35
- .action(async (options) => {
36
- // copy contents of the template dir here
37
- const { name } = options;
38
- if (!name) {
39
- throw new Error('--name is required');
40
- }
41
- fsx.copySync(path.resolve(__dirname, '../sdk-template'), name, {
42
- filter(pathname) {
43
- return !pathname.endsWith('.tsbuildinfo');
44
- },
45
- });
46
- // replace the package.json name
47
- const packageJsonPath = path.resolve(name, 'package.json');
48
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
49
- packageJson.name = name;
50
- delete packageJson.private;
51
- // replace workspace:* with * from the package.json
52
- for (const key of Object.keys(packageJson.dependencies || {})) {
53
- const value = packageJson.dependencies[key];
54
- if (value && value.startsWith('workspace:')) {
55
- packageJson.dependencies[key] = '*';
56
- }
57
- }
58
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
59
- });
60
- cli
61
- .command('serve', 'Expose a server for your functions')
62
- .option('--basePath', 'base path for the server', { default: '/' })
63
- .option('--port <port>', 'Port to listen on', { default: '3333' })
64
- .option('--watch', 'Watch for changes')
65
- .option('--skip-build', 'Skip building the server and SDK, you must build it yourself first')
66
- .action(async (options) => {
67
- let { basePath, skipBuild, watch, port } = options;
68
- const nodePath = process.execPath || 'node';
69
- const rootDir = await findRootDir(process.cwd());
70
- if (!skipBuild) {
71
- await build({ rootDir, watch, url: `http://127.0.0.1:${port}` });
72
- }
73
- const tempFilePath = path.resolve('_main.mjs');
74
- const code = `import { methodsMap } from './server/index.js'; import { exposeNodeServer } from 'spiceflow/dist/expose.js'; exposeNodeServer({ methodsMap, basePath: '${basePath}', port: ${port} });`;
75
- fs.writeFileSync(tempFilePath, code);
76
- process.on('SIGINT', () => {
77
- try {
78
- fs.unlinkSync(tempFilePath);
79
- }
80
- catch (_a) { }
81
- process.exit(0);
82
- });
83
- // only enable watch if it's supported by node version
84
- const major = parseInt(process.version.replace('v', '').split('.')[0]);
85
- if (major && major < 18) {
86
- console.log(`node version ${process.version} does not support --watch`);
87
- watch = false;
88
- }
89
- try {
90
- await new Promise((resolve, reject) => {
91
- const p = spawn(`${nodePath} --no-warnings ${watch ? '--watch' : ''} ${JSON.stringify(tempFilePath)}`, {
92
- stdio: 'inherit',
93
- shell: true,
94
- });
95
- p.on('close', (code) => {
96
- if (code === 0) {
97
- resolve();
98
- }
99
- else {
100
- reject();
101
- }
102
- });
103
- });
104
- }
105
- finally {
106
- fs.unlinkSync(tempFilePath);
107
- }
108
- });
109
- cli.help();
110
- cli.parse();
111
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { AsyncLocalStorage } from 'async_hooks';
4
- import type { IncomingMessage, ServerResponse } from 'http';
5
- interface CommonContext {
6
- }
7
- interface NodejsContext extends CommonContext {
8
- req?: IncomingMessage;
9
- res?: ServerResponse;
10
- }
11
- interface EdgeContext extends CommonContext {
12
- req?: Request;
13
- res?: Response;
14
- }
15
- export declare const asyncLocalStorage: AsyncLocalStorage<NodejsContext | EdgeContext>;
16
- export declare function getNodejsContext(): NodejsContext;
17
- export declare function getEdgeContext(): EdgeContext;
18
- export declare function getContext(): CommonContext;
19
- export {};
20
- //# sourceMappingURL=context-internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-internal.d.ts","sourceRoot":"","sources":["../src/context-internal.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,UAAU,aAAa;CAGtB;AACD,UAAU,aAAc,SAAQ,aAAa;IAC3C,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AACD,UAAU,WAAY,SAAQ,aAAa;IACzC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAOD,eAAO,MAAM,iBAAiB,gDAE3B,CAAC;AAEJ,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,wBAAgB,UAAU,IAAI,aAAa,CAE1C"}
@@ -1,16 +0,0 @@
1
- import { AsyncLocalStorage } from 'async_hooks';
2
- const DEFAULT_CONTEXT = {
3
- // headers() {},
4
- // cookies() {},
5
- };
6
- export const asyncLocalStorage = new AsyncLocalStorage();
7
- export function getNodejsContext() {
8
- return asyncLocalStorage.getStore() || DEFAULT_CONTEXT;
9
- }
10
- export function getEdgeContext() {
11
- return asyncLocalStorage.getStore() || DEFAULT_CONTEXT;
12
- }
13
- export function getContext() {
14
- return asyncLocalStorage.getStore() || DEFAULT_CONTEXT;
15
- }
16
- //# sourceMappingURL=context-internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-internal.js","sourceRoot":"","sources":["../src/context-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgBhD,MAAM,eAAe,GAAG;AACtB,gBAAgB;AAChB,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAEnD,CAAC;AAEJ,MAAM,UAAU,gBAAgB;IAC9B,OAAQ,iBAAiB,CAAC,QAAQ,EAAoB,IAAI,eAAe,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAQ,iBAAiB,CAAC,QAAQ,EAAkB,IAAI,eAAe,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,IAAI,eAAe,CAAC;AACzD,CAAC"}
package/dist/context.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { getNodejsContext, getEdgeContext, getContext, } from './context-internal.js';
2
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,uBAAuB,CAAC"}
package/dist/context.js DELETED
@@ -1,2 +0,0 @@
1
- export { getNodejsContext, getEdgeContext, getContext, } from './context-internal.js';
2
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,GACX,MAAM,uBAAuB,CAAC"}
package/dist/expose.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export declare function exposeNodeServer({ methodsMap, basePath, port }: {
2
- methodsMap: any;
3
- basePath: any;
4
- port: any;
5
- }): Promise<void>;
6
- //# sourceMappingURL=expose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expose.d.ts","sourceRoot":"","sources":["../src/expose.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;;;;CAAA,iBA8BpE"}
package/dist/expose.js DELETED
@@ -1,32 +0,0 @@
1
- import http from 'http';
2
- import { internalNodeJsHandler } from './server.js';
3
- export async function exposeNodeServer({ methodsMap, basePath, port }) {
4
- const handler = internalNodeJsHandler({ methodsMap });
5
- const server = http.createServer(async (req, res) => {
6
- let ended = false;
7
- res.on('close', () => {
8
- ended = true;
9
- });
10
- try {
11
- if (req.method === 'GET' && req.url === '/') {
12
- res.statusCode = 200;
13
- res.end('ok');
14
- return;
15
- }
16
- console.log(`[spiceflow] ${req.url}`);
17
- await handler({ req, res, basePath });
18
- }
19
- catch (error) {
20
- if (ended) {
21
- return;
22
- }
23
- console.error(error);
24
- res.statusCode = 500;
25
- res.end('Internal server error');
26
- }
27
- });
28
- server.listen(port, () => {
29
- console.log(`server listening on http://127.0.0.1:${port}`);
30
- });
31
- }
32
- //# sourceMappingURL=expose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expose.js","sourceRoot":"","sources":["../src/expose.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnE,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC5C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAErB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/headers.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=headers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":""}
package/dist/headers.js DELETED
@@ -1,18 +0,0 @@
1
- // import { asyncLocalStorage } from './context-internal';
2
- export {};
3
- // function myHeaders() {
4
- // const res = asyncLocalStorage.getStore()?.headers();
5
- // if (!res) {
6
- // throw new Error('Called headers() outside of app dir or rpc actions');
7
- // }
8
- // return res;
9
- // }
10
- // function myCookies() {
11
- // const res = asyncLocalStorage.getStore()?.cookies();
12
- // if (!res) {
13
- // throw new Error('Called cookies() outside of app dir or rpc actions');
14
- // }
15
- // return res;
16
- // }
17
- // export { myCookies as cookies, myHeaders as headers };
18
- //# sourceMappingURL=headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"AAAA,0DAA0D;;AAE1D,yBAAyB;AACzB,yDAAyD;AACzD,gBAAgB;AAChB,6EAA6E;AAC7E,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,yBAAyB;AACzB,yDAAyD;AACzD,gBAAgB;AAChB,6EAA6E;AAC7E,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,yDAAyD"}
package/dist/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { PluginOptions } from './babelTransformRpc.js';
2
- import { WrapMethod } from './server.js';
3
- export interface WithRpcConfig {
4
- }
5
- export { WrapMethod };
6
- export declare function plugins(options: PluginOptions): any[];
7
- export declare function findRootDir(dir: string): string;
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,aAAa;CAAG;AAEjC,OAAO,EAAE,UAAU,EAAE,CAAC;AAOtB,wBAAgB,OAAO,CAAC,OAAO,EAAE,aAAa,SAO7C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS/C"}
package/dist/index.js DELETED
@@ -1,23 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import pluginSyntaxJsx from '@babel/plugin-syntax-jsx';
4
- import pluginTransformTypescript from '@babel/plugin-syntax-typescript';
5
- import babelTransformRpc from './babelTransformRpc.js';
6
- import babelDebugOutputs from './babelDebugOutputs.js';
7
- export function plugins(options) {
8
- return [
9
- pluginSyntaxJsx,
10
- [pluginTransformTypescript, { isTSX: true }],
11
- [babelTransformRpc, options],
12
- process.env.DEBUG_ACTIONS && [babelDebugOutputs, options],
13
- ].filter(Boolean);
14
- }
15
- export function findRootDir(dir) {
16
- {
17
- let curDir = path.resolve(dir, 'src');
18
- if (fs.existsSync(curDir))
19
- return path.resolve(curDir);
20
- }
21
- throw new Error("Couldn't find a src directory. Please create one under the project root");
22
- }
23
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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/jsonRpc.d.ts DELETED
@@ -1,32 +0,0 @@
1
- export type JsonRpcRequestId = string | number | null;
2
- export type JsonValue = string | number | boolean | null | JsonValue[] | {
3
- [key: string]: JsonValue;
4
- };
5
- export interface JsonRpcRequest {
6
- jsonrpc: '2.0';
7
- method: string;
8
- params: JsonValue[];
9
- meta?: any;
10
- id: JsonRpcRequestId;
11
- }
12
- export interface JsonRpcError {
13
- code: number;
14
- message: string;
15
- data?: JsonValue;
16
- }
17
- export interface JsonRpcSuccessResponse {
18
- jsonrpc: '2.0';
19
- result: JsonValue;
20
- error?: undefined;
21
- id: JsonRpcRequestId;
22
- meta?: any;
23
- }
24
- export interface JsonRpcErrorResponse {
25
- jsonrpc: '2.0';
26
- result?: undefined;
27
- error: JsonRpcError;
28
- id: JsonRpcRequestId;
29
- meta?: any;
30
- }
31
- export type JsonRpcResponse = JsonRpcSuccessResponse | JsonRpcErrorResponse;
32
- //# sourceMappingURL=jsonRpc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonRpc.d.ts","sourceRoot":"","sources":["../src/jsonRpc.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtD,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,EAAE,EAAE,gBAAgB,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,gBAAgB,CAAC;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,oBAAoB,CAAC"}
package/dist/jsonRpc.js DELETED
@@ -1,3 +0,0 @@
1
- // https://www.jsonrpc.org/specification
2
- export {};
3
- //# sourceMappingURL=jsonRpc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonRpc.js","sourceRoot":"","sources":["../src/jsonRpc.ts"],"names":[],"mappings":"AAAA,wCAAwC"}
package/dist/server.d.ts DELETED
@@ -1,32 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- export type Method<P extends any[], R> = (...params: P) => Promise<R> | AsyncIterable<R>;
4
- export type WrapMethodMeta = {
5
- name: string;
6
- isGenerator: boolean;
7
- pathname: string;
8
- };
9
- export interface WrapMethod {
10
- <P extends any[], R = any>(method: Method<P, R>, meta: WrapMethodMeta): Method<P, R>;
11
- }
12
- export declare function createRpcMethod<P extends any[], R>(method: Method<P, R>, meta: WrapMethodMeta, customWrapRpcMethod: unknown): Method<P, R>;
13
- type MethodsMap = {
14
- [key: string]: () => Promise<{
15
- [key: string]: Method<any, any>;
16
- }>;
17
- };
18
- export declare function internalEdgeHandler({ methodsMap, }: {
19
- methodsMap: MethodsMap;
20
- }): ({ req, basePath }: {
21
- req: Request;
22
- basePath: string;
23
- }) => Promise<Response>;
24
- export declare function internalNodeJsHandler({ methodsMap, }: {
25
- methodsMap: MethodsMap;
26
- }): ({ req, res, basePath, }: {
27
- req: IncomingMessage;
28
- res: ServerResponse;
29
- basePath: string;
30
- }) => Promise<void>;
31
- export {};
32
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAMvD,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CACvC,GAAG,MAAM,EAAE,CAAC,KACT,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EACvB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,cAAc,GACnB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAChD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,cAAc,EACpB,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAkBd;AAED,KAAK,UAAU,GAAG;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACjC,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,UAAU,CAAC;CACxB,uBACkC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,uBA8DpE;AAED,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,UAAU,CAAC;CACxB,6BAKI;IACD,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,mBA+DF"}