wgc 0.95.0 → 0.96.1
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/package.json +4 -1
- package/dist/src/commands/grpc-service/commands/generate.js +6 -1
- package/dist/src/commands/grpc-service/commands/generate.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/commands/build.js +44 -19
- package/dist/src/commands/router/commands/plugin/commands/build.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/commands/generate.js +32 -10
- package/dist/src/commands/router/commands/plugin/commands/generate.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/commands/init.js +79 -48
- package/dist/src/commands/router/commands/plugin/commands/init.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/commands/test.js +36 -7
- package/dist/src/commands/router/commands/plugin/commands/test.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/templates/go.d.ts +9 -0
- package/dist/src/commands/router/commands/plugin/templates/go.js +18 -0
- package/dist/src/commands/router/commands/plugin/templates/go.js.map +1 -0
- package/dist/src/commands/router/commands/plugin/templates/plugin.d.ts +3 -8
- package/dist/src/commands/router/commands/plugin/templates/plugin.js +11 -424
- package/dist/src/commands/router/commands/plugin/templates/plugin.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/templates/project.d.ts +5 -5
- package/dist/src/commands/router/commands/plugin/templates/project.js +14 -200
- package/dist/src/commands/router/commands/plugin/templates/project.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/templates/typescript.d.ts +14 -0
- package/dist/src/commands/router/commands/plugin/templates/typescript.js +28 -0
- package/dist/src/commands/router/commands/plugin/templates/typescript.js.map +1 -0
- package/dist/src/commands/router/commands/plugin/toolchain.d.ts +25 -6
- package/dist/src/commands/router/commands/plugin/toolchain.js +334 -78
- package/dist/src/commands/router/commands/plugin/toolchain.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { chmod, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
1
|
+
import { chmod, mkdir, readFile, rm, writeFile, copyFile } from 'node:fs/promises';
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { basename, join, resolve } from 'pathe';
|
|
@@ -8,22 +8,97 @@ import { compileGraphQLToMapping, compileGraphQLToProto, validateGraphQLSDL, } f
|
|
|
8
8
|
import prompts from 'prompts';
|
|
9
9
|
import semver from 'semver';
|
|
10
10
|
import { camelCase, upperFirst } from 'lodash-es';
|
|
11
|
+
import pupa from 'pupa';
|
|
11
12
|
import { dataDir } from '../../../../core/config.js';
|
|
13
|
+
import TsTemplates from './templates/typescript.js';
|
|
12
14
|
import { renderValidationResults } from './helper.js';
|
|
13
15
|
// Define platform-architecture combinations
|
|
14
|
-
export
|
|
15
|
-
const
|
|
16
|
-
|
|
16
|
+
export function getHostPlatform(language) {
|
|
17
|
+
const basePlatform = `${os.platform()}-${getOSArch(language)}`;
|
|
18
|
+
if (language === 'ts') {
|
|
19
|
+
return `bun-${basePlatform}`;
|
|
20
|
+
}
|
|
21
|
+
return basePlatform;
|
|
22
|
+
}
|
|
23
|
+
const ALL_GO_PLATFORMS = ['linux-amd64', 'linux-arm64', 'darwin-amd64', 'darwin-arm64', 'windows-amd64'];
|
|
24
|
+
// Both bun-linux-x64 share the same bun-linux-x64-musl target name of linux-amd64, thus we prefer musl, since it seems to be
|
|
25
|
+
// more compatible, users can still override this by explicitly specifying what they want
|
|
26
|
+
const ALL_BUN_PLATFORMS = [
|
|
27
|
+
'bun-linux-x64-musl',
|
|
28
|
+
'bun-linux-arm64-musl',
|
|
29
|
+
'bun-windows-x64',
|
|
30
|
+
'bun-darwin-arm64',
|
|
31
|
+
'bun-darwin-x64',
|
|
32
|
+
];
|
|
33
|
+
const ALL_BUN_PLATFORM_MAPPINGS = {
|
|
34
|
+
'bun-linux-x64': 'linux-amd64',
|
|
35
|
+
'bun-linux-arm64': 'linux-arm64',
|
|
36
|
+
'bun-darwin-x64': 'darwin-amd64',
|
|
37
|
+
'bun-darwin-arm64': 'darwin-arm64',
|
|
38
|
+
'bun-windows-x64': 'windows-amd64',
|
|
39
|
+
'bun-linux-x64-musl': 'linux-amd64',
|
|
40
|
+
'bun-linux-arm64-musl': 'linux-arm64',
|
|
41
|
+
};
|
|
42
|
+
const installScriptUrl = 'https://raw.githubusercontent.com/wundergraph/cosmo/refs/tags/wgc%400.96.0/scripts/install-proto-tools.sh';
|
|
43
|
+
const defaultGoModulePath = 'github.com/wundergraph/cosmo/plugin';
|
|
17
44
|
// Get paths for tool installation
|
|
18
45
|
const TOOLS_DIR = join(dataDir, 'proto-tools');
|
|
19
46
|
const TOOLS_BIN_DIR = join(TOOLS_DIR, 'bin');
|
|
20
47
|
const TOOLS_VERSIONS_FILE = join(TOOLS_DIR, 'versions.json');
|
|
48
|
+
const COMMON_TOOL_VERSIONS = {
|
|
49
|
+
protoc: {
|
|
50
|
+
range: '^29.3',
|
|
51
|
+
envVar: 'PROTOC_VERSION',
|
|
52
|
+
scriptVersion: '29.3',
|
|
53
|
+
versionCommand: 'protoc',
|
|
54
|
+
versionFlag: '--version',
|
|
55
|
+
},
|
|
56
|
+
};
|
|
21
57
|
// Exact tool versions to be installed for the script, but you can specify a semver range to express compatibility
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
58
|
+
const GO_TOOL_VERSIONS = {
|
|
59
|
+
go: {
|
|
60
|
+
range: '>=1.22.0',
|
|
61
|
+
envVar: 'GO_VERSION',
|
|
62
|
+
scriptVersion: '1.24.1',
|
|
63
|
+
versionCommand: 'go',
|
|
64
|
+
versionFlag: 'version',
|
|
65
|
+
},
|
|
66
|
+
protocGenGo: {
|
|
67
|
+
range: '^1.34.2',
|
|
68
|
+
envVar: 'PROTOC_GEN_GO_VERSION',
|
|
69
|
+
scriptVersion: '1.34.2',
|
|
70
|
+
versionCommand: 'protoc-gen-go',
|
|
71
|
+
versionFlag: '--version',
|
|
72
|
+
},
|
|
73
|
+
protocGenGoGrpc: {
|
|
74
|
+
range: '^1.5.1',
|
|
75
|
+
envVar: 'PROTOC_GEN_GO_GRPC_VERSION',
|
|
76
|
+
scriptVersion: '1.5.1',
|
|
77
|
+
versionCommand: 'protoc-gen-go-grpc',
|
|
78
|
+
versionFlag: '--version',
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
const TS_TOOL_VERSIONS = {
|
|
82
|
+
bun: {
|
|
83
|
+
range: '^1.2.15',
|
|
84
|
+
envVar: 'BUN_VERSION',
|
|
85
|
+
scriptVersion: '1.2.15',
|
|
86
|
+
versionCommand: 'bun',
|
|
87
|
+
versionFlag: '--version',
|
|
88
|
+
},
|
|
89
|
+
// Node is needed for the protoc-gen-js plugins, for runtime we still only use bun
|
|
90
|
+
node: {
|
|
91
|
+
range: '^22.12.0',
|
|
92
|
+
envVar: 'NODE_VERSION',
|
|
93
|
+
scriptVersion: '22.12.0',
|
|
94
|
+
versionCommand: 'node',
|
|
95
|
+
versionFlag: '--version',
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
// We combine all tool versions here, per language
|
|
99
|
+
const LanguageSpecificTools = {
|
|
100
|
+
go: { ...COMMON_TOOL_VERSIONS, ...GO_TOOL_VERSIONS },
|
|
101
|
+
ts: { ...COMMON_TOOL_VERSIONS, ...TS_TOOL_VERSIONS },
|
|
27
102
|
};
|
|
28
103
|
/**
|
|
29
104
|
* Get the path to a tool, preferring the installed version if available
|
|
@@ -31,8 +106,11 @@ const TOOL_VERSIONS = {
|
|
|
31
106
|
function getToolPath(toolName) {
|
|
32
107
|
return existsSync(join(TOOLS_BIN_DIR, toolName)) ? join(TOOLS_BIN_DIR, toolName) : toolName;
|
|
33
108
|
}
|
|
34
|
-
function getOSArch() {
|
|
109
|
+
function getOSArch(language) {
|
|
35
110
|
const arch = os.arch();
|
|
111
|
+
if (language !== 'go') {
|
|
112
|
+
return arch;
|
|
113
|
+
}
|
|
36
114
|
if (arch === 'x64') {
|
|
37
115
|
return 'amd64';
|
|
38
116
|
}
|
|
@@ -41,10 +119,10 @@ function getOSArch() {
|
|
|
41
119
|
/**
|
|
42
120
|
* Check if tools need to be reinstalled by comparing version matrices
|
|
43
121
|
*/
|
|
44
|
-
async function shouldReinstallTools(force = false) {
|
|
45
|
-
// If forcing reinstallation, return true
|
|
122
|
+
async function shouldReinstallTools(force = false, language) {
|
|
123
|
+
// If forcing reinstallation, return true for both
|
|
46
124
|
if (force) {
|
|
47
|
-
return true;
|
|
125
|
+
return [true, true];
|
|
48
126
|
}
|
|
49
127
|
// If a version file exists, we assume the user manages the tools via toolchain
|
|
50
128
|
if (existsSync(TOOLS_VERSIONS_FILE)) {
|
|
@@ -52,77 +130,95 @@ async function shouldReinstallTools(force = false) {
|
|
|
52
130
|
// Read stored versions and compare with current versions
|
|
53
131
|
const storedVersionsStr = await readFile(TOOLS_VERSIONS_FILE, 'utf8');
|
|
54
132
|
const storedVersions = JSON.parse(storedVersionsStr);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
133
|
+
const toolVersionsForLanguage = LanguageSpecificTools[language];
|
|
134
|
+
// Separate common tools from language-specific tools
|
|
135
|
+
const commonToolNames = Object.keys(COMMON_TOOL_VERSIONS);
|
|
136
|
+
const languageSpecificToolNames = Object.keys(toolVersionsForLanguage).filter((tool) => !commonToolNames.includes(tool));
|
|
137
|
+
let commonToolsChanged = false;
|
|
138
|
+
let existingToolsNeedUpdate = false;
|
|
139
|
+
let newToolsNeeded = false;
|
|
140
|
+
// Check if common tools have changed versions
|
|
141
|
+
for (const commonTool of commonToolNames) {
|
|
142
|
+
const toolConfig = toolVersionsForLanguage[commonTool];
|
|
143
|
+
if (!toolConfig) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
const storedVersion = storedVersions[commonTool];
|
|
147
|
+
if (!storedVersion) {
|
|
148
|
+
commonToolsChanged = true;
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
if (!isSemverSatisfied(storedVersion, toolConfig.range)) {
|
|
152
|
+
console.log(pc.yellow(`Common tool ${commonTool} version mismatch: found ${storedVersion}, required ${toolConfig.range}. Reinstalling...`));
|
|
153
|
+
commonToolsChanged = true;
|
|
154
|
+
break;
|
|
61
155
|
}
|
|
62
156
|
}
|
|
63
|
-
// Check
|
|
64
|
-
for (const
|
|
65
|
-
|
|
66
|
-
|
|
157
|
+
// Check language-specific tools
|
|
158
|
+
for (const langTool of languageSpecificToolNames) {
|
|
159
|
+
const toolConfig = toolVersionsForLanguage[langTool];
|
|
160
|
+
const storedVersion = storedVersions[langTool];
|
|
161
|
+
if (!storedVersion) {
|
|
162
|
+
// Tool not installed - this is a new language being added
|
|
163
|
+
console.log(pc.yellow(`Language-specific tool ${langTool} not found. Installing ${language} toolchain...`));
|
|
164
|
+
newToolsNeeded = true;
|
|
165
|
+
}
|
|
166
|
+
else if (!isSemverSatisfied(storedVersion, toolConfig.range)) {
|
|
167
|
+
// Tool exists but needs update
|
|
168
|
+
console.log(pc.yellow(`Language-specific tool ${langTool} version mismatch: found ${storedVersion}, required ${toolConfig.range}. Reinstalling...`));
|
|
169
|
+
existingToolsNeedUpdate = true;
|
|
170
|
+
break;
|
|
67
171
|
}
|
|
68
172
|
}
|
|
69
|
-
//
|
|
70
|
-
|
|
173
|
+
// Determine if we need to reinstall and cleanup
|
|
174
|
+
const shouldReinstall = commonToolsChanged || existingToolsNeedUpdate || newToolsNeeded;
|
|
175
|
+
if (!shouldReinstall) {
|
|
176
|
+
return [false, false];
|
|
177
|
+
}
|
|
178
|
+
// Only cleanup if common tools changed or existing tools need update, not for new tools
|
|
179
|
+
const shouldCleanup = commonToolsChanged || existingToolsNeedUpdate;
|
|
180
|
+
return [shouldReinstall, shouldCleanup];
|
|
71
181
|
}
|
|
72
182
|
catch {
|
|
73
183
|
// If any error occurs during version checking, assume reinstallation is needed
|
|
74
|
-
return true;
|
|
184
|
+
return [true, true];
|
|
75
185
|
}
|
|
76
186
|
}
|
|
77
187
|
// if we haven't installed the tools yet, we check first if the tools are installed on the host system,
|
|
78
188
|
// and if they are not, we need to install them through the toolchain installation
|
|
79
189
|
try {
|
|
80
|
-
const toolsOnHost = await areToolsInstalledOnHost();
|
|
190
|
+
const toolsOnHost = await areToolsInstalledOnHost(language);
|
|
81
191
|
if (toolsOnHost) {
|
|
82
|
-
return false;
|
|
192
|
+
return [false, false];
|
|
83
193
|
}
|
|
84
|
-
return true;
|
|
194
|
+
return [true, true]; // Fresh install, cleanup needed
|
|
85
195
|
}
|
|
86
196
|
catch {
|
|
87
197
|
// If error checking host tools, installation is needed
|
|
88
|
-
return true;
|
|
198
|
+
return [true, true];
|
|
89
199
|
}
|
|
90
200
|
}
|
|
91
201
|
/**
|
|
92
202
|
* Check if all required tools are installed on the host system with correct versions
|
|
93
203
|
*/
|
|
94
|
-
async function areToolsInstalledOnHost() {
|
|
204
|
+
async function areToolsInstalledOnHost(language) {
|
|
205
|
+
const languageSpecificTools = LanguageSpecificTools[language];
|
|
206
|
+
if (!languageSpecificTools) {
|
|
207
|
+
console.log(pc.yellow(`No toolchain configuration found for language '${language}'.`));
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
95
210
|
try {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// Check Protoc version
|
|
103
|
-
const protocVersion = await getCommandVersion('protoc', '--version');
|
|
104
|
-
if (!isSemverSatisfied(protocVersion, TOOL_VERSIONS.protoc.range)) {
|
|
105
|
-
console.log(pc.yellow(`Protoc version mismatch: found ${protocVersion}, required ${TOOL_VERSIONS.protoc.range}`));
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
// Check protoc-gen-go version
|
|
109
|
-
// The output format is typically "protoc-gen-go v1.36.5"
|
|
110
|
-
const protocGenGoVersion = await getCommandVersion('protoc-gen-go', '--version');
|
|
111
|
-
if (!isSemverSatisfied(protocGenGoVersion, TOOL_VERSIONS.protocGenGo.range)) {
|
|
112
|
-
console.log(pc.yellow(`protoc-gen-go version mismatch: found ${protocGenGoVersion}, required ${TOOL_VERSIONS.protocGenGo.range}`));
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
// Check protoc-gen-go-grpc version
|
|
116
|
-
// The output format is typically "protoc-gen-go-grpc 1.5.1"
|
|
117
|
-
const protocGenGoGrpcVersion = await getCommandVersion('protoc-gen-go-grpc', '--version');
|
|
118
|
-
if (!isSemverSatisfied(protocGenGoGrpcVersion, TOOL_VERSIONS.protocGenGoGrpc.range)) {
|
|
119
|
-
console.log(pc.yellow(`protoc-gen-go-grpc version mismatch: found ${protocGenGoGrpcVersion}, required ${TOOL_VERSIONS.protocGenGoGrpc.range}`));
|
|
120
|
-
return false;
|
|
211
|
+
for (const [toolName, toolConfig] of Object.entries(languageSpecificTools)) {
|
|
212
|
+
const installedVersion = await getCommandVersion(toolConfig.versionCommand, toolConfig.versionFlag);
|
|
213
|
+
if (!isSemverSatisfied(installedVersion, toolConfig.range)) {
|
|
214
|
+
console.log(pc.yellow(`${pc.bold(toolName)} version mismatch on host: found ${installedVersion}, required ${toolConfig.range}`));
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
121
217
|
}
|
|
122
218
|
return true;
|
|
123
219
|
}
|
|
124
220
|
catch (error) {
|
|
125
|
-
console.log(pc.yellow(`Error checking tools: ${error.message}`));
|
|
221
|
+
console.log(pc.yellow(`Error checking tools for language '${language}': ${error.message}`));
|
|
126
222
|
return false;
|
|
127
223
|
}
|
|
128
224
|
}
|
|
@@ -176,11 +272,22 @@ async function getCommandVersion(command, versionFlag) {
|
|
|
176
272
|
throw new Error(`Failed to get version for ${command}: ${error}`);
|
|
177
273
|
}
|
|
178
274
|
}
|
|
275
|
+
export function validateAndGetGoModulePath(language, goModulePath) {
|
|
276
|
+
if (language === 'go') {
|
|
277
|
+
if (goModulePath === undefined) {
|
|
278
|
+
goModulePath = defaultGoModulePath;
|
|
279
|
+
}
|
|
280
|
+
return goModulePath;
|
|
281
|
+
}
|
|
282
|
+
if (goModulePath !== undefined) {
|
|
283
|
+
throw new Error(`Go Module Path not supported for language '${language}'`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
179
286
|
/**
|
|
180
287
|
* Check if tools need installation and ask the user if needed
|
|
181
288
|
*/
|
|
182
|
-
export async function checkAndInstallTools(force = false) {
|
|
183
|
-
const needsReinstall = await shouldReinstallTools(force);
|
|
289
|
+
export async function checkAndInstallTools(force = false, language) {
|
|
290
|
+
const [needsReinstall, shouldCleanup] = await shouldReinstallTools(force, language);
|
|
184
291
|
if (!needsReinstall) {
|
|
185
292
|
return true;
|
|
186
293
|
}
|
|
@@ -188,8 +295,9 @@ export async function checkAndInstallTools(force = false) {
|
|
|
188
295
|
const installMessage = existsSync(TOOLS_DIR)
|
|
189
296
|
? 'Version changes detected. Install required toolchain?'
|
|
190
297
|
: 'Install required toolchain?';
|
|
298
|
+
const toolVersionsForLanguage = LanguageSpecificTools[language];
|
|
191
299
|
// Create a more informative message with simple formatting
|
|
192
|
-
const toolsInfo = Object.entries(
|
|
300
|
+
const toolsInfo = Object.entries(toolVersionsForLanguage)
|
|
193
301
|
.map(([tool, { range: version }]) => ` ${pc.cyan('•')} ${pc.bold(tool)}: ${version}`)
|
|
194
302
|
.join('\n');
|
|
195
303
|
console.log(pc.yellow('\n=== Required Toolchain ===') +
|
|
@@ -212,7 +320,7 @@ export async function checkAndInstallTools(force = false) {
|
|
|
212
320
|
return false;
|
|
213
321
|
}
|
|
214
322
|
try {
|
|
215
|
-
await installTools();
|
|
323
|
+
await installTools(language, shouldCleanup);
|
|
216
324
|
return true;
|
|
217
325
|
}
|
|
218
326
|
catch (error) {
|
|
@@ -236,11 +344,11 @@ function getToolsEnv() {
|
|
|
236
344
|
/**
|
|
237
345
|
* Install tools using the install-proto-tools.sh script
|
|
238
346
|
*/
|
|
239
|
-
async function installTools() {
|
|
347
|
+
async function installTools(language, shouldCleanup) {
|
|
240
348
|
const tmpDir = join(TOOLS_DIR, 'download');
|
|
241
349
|
const scriptPath = join(tmpDir, 'install-proto-tools.sh');
|
|
242
350
|
// Make installation idempotent - remove existing tools directory if it exists
|
|
243
|
-
if (existsSync(TOOLS_DIR)) {
|
|
351
|
+
if (shouldCleanup && existsSync(TOOLS_DIR)) {
|
|
244
352
|
try {
|
|
245
353
|
await rm(TOOLS_DIR, { recursive: true, force: true });
|
|
246
354
|
}
|
|
@@ -269,11 +377,14 @@ async function installTools() {
|
|
|
269
377
|
...process.env,
|
|
270
378
|
INSTALL_DIR: TOOLS_DIR,
|
|
271
379
|
PRINT_INSTRUCTIONS: 'false',
|
|
380
|
+
LANGUAGE: language,
|
|
381
|
+
INSTALL_COMMON_TOOLS: shouldCleanup ? 'true' : 'false',
|
|
272
382
|
};
|
|
273
383
|
// Store exact versions that we install
|
|
274
384
|
const exactVersions = {};
|
|
385
|
+
const toolVersions = LanguageSpecificTools[language];
|
|
275
386
|
// Add version variables to env
|
|
276
|
-
for (const [tool, version] of Object.entries(
|
|
387
|
+
for (const [tool, version] of Object.entries(toolVersions)) {
|
|
277
388
|
env[version.envVar] = version.scriptVersion;
|
|
278
389
|
exactVersions[tool] = version.scriptVersion;
|
|
279
390
|
}
|
|
@@ -295,7 +406,7 @@ async function installTools() {
|
|
|
295
406
|
/**
|
|
296
407
|
* Generate proto and mapping files from schema
|
|
297
408
|
*/
|
|
298
|
-
export async function generateProtoAndMapping(pluginDir,
|
|
409
|
+
export async function generateProtoAndMapping(pluginDir, protoOptions, spinner) {
|
|
299
410
|
const srcDir = resolve(pluginDir, 'src');
|
|
300
411
|
const generatedDir = resolve(pluginDir, 'generated');
|
|
301
412
|
// Ensure a generated directory exists
|
|
@@ -322,7 +433,7 @@ export async function generateProtoAndMapping(pluginDir, goModulePath, spinner)
|
|
|
322
433
|
const proto = compileGraphQLToProto(schema, {
|
|
323
434
|
serviceName,
|
|
324
435
|
packageName: 'service',
|
|
325
|
-
|
|
436
|
+
protoOptions,
|
|
326
437
|
lockData,
|
|
327
438
|
});
|
|
328
439
|
await writeFile(resolve(generatedDir, 'service.proto'), proto.proto);
|
|
@@ -332,18 +443,50 @@ export async function generateProtoAndMapping(pluginDir, goModulePath, spinner)
|
|
|
332
443
|
/**
|
|
333
444
|
* Generate gRPC code using protoc
|
|
334
445
|
*/
|
|
335
|
-
export async function generateGRPCCode(pluginDir, spinner) {
|
|
446
|
+
export async function generateGRPCCode(pluginDir, spinner, language) {
|
|
336
447
|
spinner.text = 'Generating gRPC code...\n';
|
|
337
448
|
const env = getToolsEnv();
|
|
338
449
|
const protocPath = getToolPath('protoc');
|
|
339
450
|
console.log('');
|
|
340
|
-
|
|
341
|
-
'
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
451
|
+
switch (language) {
|
|
452
|
+
case 'go': {
|
|
453
|
+
await execa(protocPath, [
|
|
454
|
+
'--go_out=.',
|
|
455
|
+
'--go_opt=paths=source_relative',
|
|
456
|
+
'--go-grpc_out=.',
|
|
457
|
+
'--go-grpc_opt=paths=source_relative',
|
|
458
|
+
'generated/service.proto',
|
|
459
|
+
], { cwd: pluginDir, stdout: 'inherit', stderr: 'inherit', env });
|
|
460
|
+
break;
|
|
461
|
+
}
|
|
462
|
+
case 'ts': {
|
|
463
|
+
const protocGenTsPath = resolve(pluginDir, 'node_modules/.bin/protoc-gen-ts');
|
|
464
|
+
const protoGenJsPath = resolve(pluginDir, 'node_modules/.bin/protoc-gen-js');
|
|
465
|
+
const protocGenGrpcPath = resolve(pluginDir, 'node_modules/.bin/grpc_tools_node_protoc_plugin');
|
|
466
|
+
const generatedDir = resolve(pluginDir, 'generated');
|
|
467
|
+
const protoFile = resolve(pluginDir, 'generated/service.proto');
|
|
468
|
+
if (!existsSync(protocGenTsPath)) {
|
|
469
|
+
throw new Error(`protoc-gen-ts not found at ${protocGenTsPath}.`);
|
|
470
|
+
}
|
|
471
|
+
if (!existsSync(protocGenGrpcPath)) {
|
|
472
|
+
throw new Error(`grpc_tools_node_protoc_plugin not found at ${protocGenGrpcPath}.`);
|
|
473
|
+
}
|
|
474
|
+
if (!existsSync(protoGenJsPath)) {
|
|
475
|
+
throw new Error(`protoc-gen-js not found at ${protoGenJsPath}.`);
|
|
476
|
+
}
|
|
477
|
+
await execa(protocPath, [
|
|
478
|
+
`--plugin=protoc-gen-ts=${protocGenTsPath}`,
|
|
479
|
+
`--plugin=protoc-gen-grpc=${protocGenGrpcPath}`,
|
|
480
|
+
`--plugin=protoc-gen-js=${protoGenJsPath}`,
|
|
481
|
+
`--ts_out=grpc_js:${generatedDir}`,
|
|
482
|
+
`--js_out=import_style=commonjs,binary:${generatedDir}`,
|
|
483
|
+
`--grpc_out=grpc_js:${generatedDir}`,
|
|
484
|
+
`--proto_path=${generatedDir}`,
|
|
485
|
+
protoFile,
|
|
486
|
+
], { cwd: pluginDir, stdout: 'inherit', stderr: 'inherit', env });
|
|
487
|
+
break;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
347
490
|
}
|
|
348
491
|
/**
|
|
349
492
|
* Run Go tests
|
|
@@ -363,6 +506,18 @@ export function runGoTests(pluginDir, spinner, debug = false) {
|
|
|
363
506
|
env,
|
|
364
507
|
});
|
|
365
508
|
}
|
|
509
|
+
export function runTsTests(pluginDir, spinner) {
|
|
510
|
+
spinner.text = 'Running tests...\n';
|
|
511
|
+
const env = getToolsEnv();
|
|
512
|
+
const bunPath = getToolPath('bun');
|
|
513
|
+
const args = ['test'];
|
|
514
|
+
return execa(bunPath, args, {
|
|
515
|
+
cwd: pluginDir,
|
|
516
|
+
stdout: 'inherit',
|
|
517
|
+
stderr: 'inherit',
|
|
518
|
+
env,
|
|
519
|
+
});
|
|
520
|
+
}
|
|
366
521
|
/**
|
|
367
522
|
* Install Go dependencies
|
|
368
523
|
*/
|
|
@@ -377,10 +532,90 @@ export async function installGoDependencies(pluginDir, spinner) {
|
|
|
377
532
|
env,
|
|
378
533
|
});
|
|
379
534
|
}
|
|
535
|
+
export async function installTsDependencies(pluginDir, spinner) {
|
|
536
|
+
spinner.text = 'Installing dependencies...\n';
|
|
537
|
+
const env = getToolsEnv();
|
|
538
|
+
const bunPath = getToolPath('bun');
|
|
539
|
+
await execa(bunPath, ['install'], {
|
|
540
|
+
cwd: pluginDir,
|
|
541
|
+
stdout: 'inherit',
|
|
542
|
+
stderr: 'inherit',
|
|
543
|
+
env,
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
export function getGoModulePathProtoOption(goModulePath) {
|
|
547
|
+
return {
|
|
548
|
+
name: 'go_package',
|
|
549
|
+
constant: `"${goModulePath}"`,
|
|
550
|
+
};
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Run TypeScript type-check (no emit) to fail build on TS errors
|
|
554
|
+
*/
|
|
555
|
+
export async function typeCheckTs(pluginDir, spinner) {
|
|
556
|
+
spinner.text = 'Type-checking Plugin...\n';
|
|
557
|
+
const env = getToolsEnv();
|
|
558
|
+
const bunPath = getToolPath('bun');
|
|
559
|
+
// Use `bun x tsc` to ensure TypeScript is available without requiring it as a dependency
|
|
560
|
+
await execa(bunPath, ['x', 'tsc', '--noEmit'], {
|
|
561
|
+
cwd: pluginDir,
|
|
562
|
+
stdout: 'inherit',
|
|
563
|
+
stderr: 'inherit',
|
|
564
|
+
env,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
380
567
|
/**
|
|
381
568
|
* Build binaries for specified platforms
|
|
382
569
|
*/
|
|
383
|
-
export async function
|
|
570
|
+
export async function buildTsBinaries(pluginDir, platforms, debug, spinner) {
|
|
571
|
+
spinner.text = 'Building binaries...';
|
|
572
|
+
const binDir = resolve(pluginDir, 'bin');
|
|
573
|
+
await mkdir(binDir, { recursive: true });
|
|
574
|
+
const env = getToolsEnv();
|
|
575
|
+
const bunPath = getToolPath('bun');
|
|
576
|
+
// Ensure grpc-health-check proto is available in bin for runtime
|
|
577
|
+
const healthProtoRelDir = 'grpc-health-check/proto/health/v1';
|
|
578
|
+
const healthProtoFile = 'health.proto';
|
|
579
|
+
await mkdir(resolve(pluginDir, join('bin', healthProtoRelDir)), { recursive: true });
|
|
580
|
+
await copyFile(resolve(pluginDir, join('node_modules', healthProtoRelDir, healthProtoFile)), resolve(pluginDir, join('bin', healthProtoRelDir, healthProtoFile)));
|
|
581
|
+
await Promise.all(platforms.map(async (originalPlatformArch) => {
|
|
582
|
+
const platformArch = ALL_BUN_PLATFORM_MAPPINGS[originalPlatformArch];
|
|
583
|
+
if (!platformArch) {
|
|
584
|
+
throw new Error(`Unsupported platform for Bun: ${originalPlatformArch}`);
|
|
585
|
+
}
|
|
586
|
+
const [platform, arch] = platformArch.split('-');
|
|
587
|
+
if (!platform || !arch) {
|
|
588
|
+
throw new Error(`Invalid platform-architecture format: ${originalPlatformArch}. Use format like 'bun-darwin-arm64'`);
|
|
589
|
+
}
|
|
590
|
+
const binaryName = `${platform}_${arch}`;
|
|
591
|
+
spinner.text = `Building ${originalPlatformArch}...`;
|
|
592
|
+
if (debug) {
|
|
593
|
+
const debugScript = resolve(pluginDir, join('bin', binaryName));
|
|
594
|
+
await writeFile(debugScript, pupa(TsTemplates.debugBuild, {}));
|
|
595
|
+
await chmod(debugScript, 0o755);
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
const flags = [
|
|
599
|
+
'build',
|
|
600
|
+
'src/plugin.ts',
|
|
601
|
+
'--compile',
|
|
602
|
+
'--outfile',
|
|
603
|
+
`bin/${binaryName}`,
|
|
604
|
+
`--target=${originalPlatformArch}`,
|
|
605
|
+
];
|
|
606
|
+
await execa(bunPath, flags, {
|
|
607
|
+
cwd: pluginDir,
|
|
608
|
+
stdout: 'inherit',
|
|
609
|
+
stderr: 'inherit',
|
|
610
|
+
env,
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
}));
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Build binaries for specified platforms
|
|
617
|
+
*/
|
|
618
|
+
export async function buildGoBinaries(pluginDir, platforms, debug, spinner) {
|
|
384
619
|
spinner.text = 'Building binaries...';
|
|
385
620
|
const binDir = resolve(pluginDir, 'bin');
|
|
386
621
|
// Ensure bin directory exists
|
|
@@ -416,11 +651,32 @@ export async function buildBinaries(pluginDir, platforms, debug, spinner) {
|
|
|
416
651
|
/**
|
|
417
652
|
* Normalize a platform list based on options
|
|
418
653
|
*/
|
|
419
|
-
export function normalizePlatforms(platforms, allPlatforms) {
|
|
654
|
+
export function normalizePlatforms(platforms, allPlatforms, language) {
|
|
655
|
+
if (platforms.length === 0) {
|
|
656
|
+
platforms = [getHostPlatform(language)];
|
|
657
|
+
}
|
|
420
658
|
if (!allPlatforms) {
|
|
421
659
|
return platforms;
|
|
422
660
|
}
|
|
423
|
-
|
|
424
|
-
|
|
661
|
+
switch (language) {
|
|
662
|
+
case 'go': {
|
|
663
|
+
return [...new Set([...platforms, ...ALL_GO_PLATFORMS])];
|
|
664
|
+
}
|
|
665
|
+
case 'ts': {
|
|
666
|
+
return [...new Set([...platforms, ...ALL_BUN_PLATFORMS])];
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
throw new Error(`Unsupported language for platform normalization: ${language}`);
|
|
670
|
+
}
|
|
671
|
+
export function getLanguage(pluginDir) {
|
|
672
|
+
const goModFile = resolve(pluginDir, 'go.mod');
|
|
673
|
+
const packageJsonFile = resolve(pluginDir, 'package.json');
|
|
674
|
+
if (existsSync(goModFile)) {
|
|
675
|
+
return 'go';
|
|
676
|
+
}
|
|
677
|
+
if (existsSync(packageJsonFile)) {
|
|
678
|
+
return 'ts';
|
|
679
|
+
}
|
|
680
|
+
return null;
|
|
425
681
|
}
|
|
426
682
|
//# sourceMappingURL=toolchain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../../../../src/commands/router/commands/plugin/toolchain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolchain.js","sourceRoot":"","sources":["../../../../../../src/commands/router/commands/plugin/toolchain.ts"],"names":[],"mappings":"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"}
|