massimo-cli 0.1.4 → 0.2.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.
- package/index.js +8 -8
- package/lib/frontend-openapi-generator.js +8 -6
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -82,9 +82,9 @@ async function writeOpenAPIClient (
|
|
|
82
82
|
withCredentials,
|
|
83
83
|
propsOptional
|
|
84
84
|
})
|
|
85
|
-
await writeFile(join(folder, `${name}-types.d.
|
|
85
|
+
await writeFile(join(folder, `${name}-types.d.mts`), types)
|
|
86
86
|
if (generateImplementation) {
|
|
87
|
-
const extension = language === 'js' ? '
|
|
87
|
+
const extension = language === 'js' ? 'mjs' : 'mts'
|
|
88
88
|
await writeFile(join(folder, `${name}.${extension}`), implementation)
|
|
89
89
|
}
|
|
90
90
|
} else {
|
|
@@ -98,9 +98,9 @@ async function writeOpenAPIClient (
|
|
|
98
98
|
typesComment,
|
|
99
99
|
propsOptional
|
|
100
100
|
})
|
|
101
|
-
await writeFile(join(folder, `${name}.d.
|
|
101
|
+
await writeFile(join(folder, `${name}.d.mts`), types)
|
|
102
102
|
if (generateImplementation) {
|
|
103
|
-
await writeFile(join(folder, `${name}.
|
|
103
|
+
await writeFile(join(folder, `${name}.mjs`), implementation)
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
if (!typesOnly) {
|
|
@@ -115,9 +115,9 @@ async function writeGraphQLClient (folder, name, schema, url, generateImplementa
|
|
|
115
115
|
const clientSchema = graphql.buildClientSchema(schema)
|
|
116
116
|
const sdl = graphql.printSchema(clientSchema)
|
|
117
117
|
await writeFile(join(folder, `${name}.schema.graphql`), sdl)
|
|
118
|
-
await writeFile(join(folder, `${name}.d.
|
|
118
|
+
await writeFile(join(folder, `${name}.d.mts`), types)
|
|
119
119
|
if (generateImplementation) {
|
|
120
|
-
await writeFile(join(folder, `${name}.
|
|
120
|
+
await writeFile(join(folder, `${name}.mjs`), implementation)
|
|
121
121
|
}
|
|
122
122
|
await writeFile(join(folder, 'package.json'), getPackageJSON({ name, generateImplementation }))
|
|
123
123
|
}
|
|
@@ -427,11 +427,11 @@ async function downloadAndProcess (options) {
|
|
|
427
427
|
function getPackageJSON ({ name, generateImplementation }) {
|
|
428
428
|
const obj = {
|
|
429
429
|
name,
|
|
430
|
-
types: `./${name}.d.
|
|
430
|
+
types: `./${name}.d.mts`
|
|
431
431
|
}
|
|
432
432
|
|
|
433
433
|
if (generateImplementation) {
|
|
434
|
-
obj.main = `./${name}.
|
|
434
|
+
obj.main = `./${name}.mjs`
|
|
435
435
|
}
|
|
436
436
|
|
|
437
437
|
return JSON.stringify(obj, null, 2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { generateOperationId } from 'massimo'
|
|
2
1
|
import camelcase from 'camelcase'
|
|
3
2
|
import CodeBlockWriter from 'code-block-writer'
|
|
3
|
+
import { generateOperationId } from 'massimo'
|
|
4
4
|
import { writeOperations } from './openapi-common.js'
|
|
5
5
|
import {
|
|
6
6
|
capitalize,
|
|
@@ -111,13 +111,13 @@ function generateFrontendImplementationFromOpenAPI ({
|
|
|
111
111
|
writer.write('function sanitizeUrl(url)').block(() => {
|
|
112
112
|
writer.writeLine("if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }")
|
|
113
113
|
})
|
|
114
|
-
writer.writeLine(`/** @type {import('./${name}-types.d.
|
|
114
|
+
writer.writeLine(`/** @type {import('./${name}-types.d.mts').${camelCaseName}['setBaseUrl']} */`)
|
|
115
115
|
writer.writeLine('export const setBaseUrl = (newUrl) => { baseUrl = sanitizeUrl(newUrl) }')
|
|
116
116
|
writer.newLine()
|
|
117
|
-
writer.writeLine(`/** @type {import('./${name}-types.d.
|
|
117
|
+
writer.writeLine(`/** @type {import('./${name}-types.d.mts').${camelCaseName}['setDefaultHeaders']} */`)
|
|
118
118
|
writer.writeLine('export const setDefaultHeaders = (headers) => { defaultHeaders = headers }')
|
|
119
119
|
writer.newLine()
|
|
120
|
-
writer.writeLine(`/** @type {import('./${name}-types.d.
|
|
120
|
+
writer.writeLine(`/** @type {import('./${name}-types.d.mts').${camelCaseName}['setDefaultFetchParams']} */`)
|
|
121
121
|
writer.writeLine('export const setDefaultFetchParams = (fetchParams) => { defaultFetchParams = fetchParams }')
|
|
122
122
|
writer.newLine()
|
|
123
123
|
writer.write('function headersToJSON(headers) ').block(() => {
|
|
@@ -196,7 +196,9 @@ function generateFrontendImplementationFromOpenAPI ({
|
|
|
196
196
|
const quotedParams = queryParams.map(qp => `'${qp}'`)
|
|
197
197
|
let queryParametersType = ''
|
|
198
198
|
if (isTsLang) {
|
|
199
|
-
queryParametersType = `: (keyof NonNullable<Types.${
|
|
199
|
+
queryParametersType = `: (keyof NonNullable<Types.${
|
|
200
|
+
fullRequest ? `${operationRequestName}['query']` : operationRequestName
|
|
201
|
+
}>)[]`
|
|
200
202
|
}
|
|
201
203
|
writer.writeLine(`const queryParameters${queryParametersType} = [${quotedParams.join(', ')}]`)
|
|
202
204
|
writer.writeLine('const searchParams = new URLSearchParams()')
|
|
@@ -352,7 +354,7 @@ function generateFrontendImplementationFromOpenAPI ({
|
|
|
352
354
|
// ```
|
|
353
355
|
//
|
|
354
356
|
writer
|
|
355
|
-
.writeLine(`/** @type {import('./${name}-types.d.
|
|
357
|
+
.writeLine(`/** @type {import('./${name}-types.d.mts').${camelCaseName}['${operationId}']} */`)
|
|
356
358
|
.write(`export const ${operationId} = async (request) =>`)
|
|
357
359
|
.block(() => {
|
|
358
360
|
writer.write(`return await ${underscoredOperationId}(baseUrl, request)`)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "massimo-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A client for HTTP services.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"pino-pretty": "^13.0.0",
|
|
31
31
|
"undici": "^7.0.0",
|
|
32
32
|
"yaml": "^2.4.1",
|
|
33
|
-
"massimo": "0.
|
|
33
|
+
"massimo": "0.2.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@platformatic/composer": "3.0.0-alpha.6",
|