@scaleway/generate-react-sdk 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/buildAPI.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { generateAPI } from './generateAPI/index.js';
|
|
3
3
|
import { parseArgsCLI } from './parseArgsCLI.js';
|
|
4
|
-
const requiresValueArgs = [
|
|
5
|
-
'dir-gen-name',
|
|
6
|
-
'sdk-factory-path',
|
|
7
|
-
'package-name-filter',
|
|
8
|
-
];
|
|
4
|
+
const requiresValueArgs = ['dir-gen-name', 'sdk-factory-path', 'package-name-filter'];
|
|
9
5
|
// Parse CLI arguments
|
|
10
6
|
const { cliArgs } = parseArgsCLI({ requiresValueArgs });
|
|
11
7
|
const dirGenName = cliArgs['dir-gen-name'] || 'src/__generated__';
|
|
12
|
-
const sdkFactoryPath = cliArgs['sdk-factory-path'] ||
|
|
13
|
-
'../contexts/SDKCacheProvider/sdkFactory';
|
|
8
|
+
const sdkFactoryPath = cliArgs['sdk-factory-path'] || '../contexts/SDKCacheProvider/sdkFactory';
|
|
14
9
|
const packageNameFilter = cliArgs['package-name-filter'] || '@scaleway/sdk-';
|
|
15
10
|
await generateAPI({
|
|
16
11
|
dirGenName,
|
|
@@ -39,9 +39,7 @@ async function loadVersions(packageName) {
|
|
|
39
39
|
try {
|
|
40
40
|
const resolvedPath = require.resolve(`${packageName}/metadata`);
|
|
41
41
|
const metadataModule = await import(__rewriteRelativeImportExtension(resolvedPath));
|
|
42
|
-
const versions = metadataModule?.pkgMetadata?.versions ||
|
|
43
|
-
metadataModule?.default?.versions ||
|
|
44
|
-
[];
|
|
42
|
+
const versions = metadataModule?.pkgMetadata?.versions || metadataModule?.default?.versions || [];
|
|
45
43
|
return versions;
|
|
46
44
|
}
|
|
47
45
|
catch (error) {
|
|
@@ -4,5 +4,5 @@ type getContentProps = {
|
|
|
4
4
|
packageName: string;
|
|
5
5
|
sdkFactoryPath: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const getFileContent: ({ packageName, name, api, sdkFactoryPath
|
|
7
|
+
export declare const getFileContent: ({ packageName, name, api, sdkFactoryPath }: getContentProps) => string;
|
|
8
8
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { lowerCaseFirstLetter } from './helpers.js';
|
|
2
|
-
export const getFileContent = ({ packageName, name, api, sdkFactoryPath
|
|
2
|
+
export const getFileContent = ({ packageName, name, api, sdkFactoryPath }) => {
|
|
3
3
|
const capitalizedName = name.charAt(0).toUpperCase() + name.slice(1);
|
|
4
4
|
const apiName = capitalizedName + api;
|
|
5
5
|
const keyValue = name + api.replace('API', '');
|
|
@@ -9,8 +9,8 @@ export const getFileContent = ({ packageName, name, api, sdkFactoryPath, }) => {
|
|
|
9
9
|
'',
|
|
10
10
|
'// This file is generated by scripts placed in `@scaleway/sdk:tools/generate-react-sdk` all modifications will be erased',
|
|
11
11
|
`export const use${apiName} = createSDKFactory(`,
|
|
12
|
-
|
|
13
|
-
`'${lowerCaseFirstLetter(keyValue)}'`,
|
|
12
|
+
` ${capitalizedName}.${api},`,
|
|
13
|
+
` '${lowerCaseFirstLetter(keyValue)}'`,
|
|
14
14
|
')',
|
|
15
15
|
].join('\n');
|
|
16
16
|
return template.toString();
|
package/dist/parseArgsCLI.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const parseArgsCLI: <T extends string[]>({ requiresValueArgs
|
|
2
|
-
requiresValueArgs?: T
|
|
1
|
+
export declare const parseArgsCLI: <T extends string[]>({ requiresValueArgs }: {
|
|
2
|
+
requiresValueArgs?: T;
|
|
3
3
|
}) => {
|
|
4
4
|
cliArgs: Record<string, string | boolean>;
|
|
5
5
|
};
|
package/dist/parseArgsCLI.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Parse CLI arguments
|
|
2
|
-
export const parseArgsCLI = ({ requiresValueArgs
|
|
2
|
+
export const parseArgsCLI = ({ requiresValueArgs }) => {
|
|
3
3
|
const args = process.argv.slice(2);
|
|
4
4
|
const cliArgs = {};
|
|
5
5
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -9,17 +9,13 @@ export const parseArgsCLI = ({ requiresValueArgs, }) => {
|
|
|
9
9
|
const key = parts[0];
|
|
10
10
|
let value = parts.length > 1 ? parts[1] : true;
|
|
11
11
|
// Check if the next argument is a value for this flag (handles --arg value format)
|
|
12
|
-
if (value === true &&
|
|
13
|
-
i + 1 < args.length &&
|
|
14
|
-
args[i + 1] &&
|
|
15
|
-
!args[i + 1]?.startsWith('--')) {
|
|
12
|
+
if (value === true && i + 1 < args.length && args[i + 1] && !args[i + 1]?.startsWith('--')) {
|
|
16
13
|
value = args[i + 1];
|
|
17
14
|
i++; // Skip the next argument since we've consumed it
|
|
18
15
|
}
|
|
19
16
|
if (key) {
|
|
20
17
|
// For arguments that require values, if no value is provided, skip them or use default
|
|
21
|
-
if (requiresValueArgs?.includes(key) &&
|
|
22
|
-
(value === true || value === undefined)) {
|
|
18
|
+
if (requiresValueArgs?.includes(key) && (value === true || value === undefined)) {
|
|
23
19
|
console.log(`⚠️ Warning: --${key} requires a value, using default`);
|
|
24
20
|
continue;
|
|
25
21
|
}
|
package/package.json
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scaleway/generate-react-sdk",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "generate react sdk",
|
|
5
|
-
"type": "module",
|
|
3
|
+
"version": "0.2.6",
|
|
6
4
|
"private": false,
|
|
5
|
+
"description": "generate react sdk",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"directory": "tools/generate-react-sdk"
|
|
9
|
+
},
|
|
7
10
|
"bin": {
|
|
8
11
|
"generate-react-sdk": "./dist/buildAPI.js"
|
|
9
12
|
},
|
|
10
13
|
"files": [
|
|
11
14
|
"dist"
|
|
12
15
|
],
|
|
13
|
-
"
|
|
14
|
-
"node": ">=20.19.6"
|
|
15
|
-
},
|
|
16
|
+
"type": "module",
|
|
16
17
|
"exports": {
|
|
17
18
|
"./*": {
|
|
18
19
|
"types": "./dist/*.d.ts",
|
|
19
20
|
"default": "./dist/*.js"
|
|
20
21
|
}
|
|
21
22
|
},
|
|
22
|
-
"repository": {
|
|
23
|
-
"type": "git",
|
|
24
|
-
"directory": "tools/generate-react-sdk"
|
|
25
|
-
},
|
|
26
23
|
"devDependencies": {
|
|
27
|
-
"@types/node": "20.19.
|
|
24
|
+
"@types/node": "20.19.41"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=20.20.2"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "tsgo -p tsconfig.build.json",
|