@kubb/plugin-redoc 3.0.0-alpha.1 → 3.0.0-alpha.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/dist/index.cjs +1 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -7
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/plugin.ts +1 -8
package/dist/index.cjs
CHANGED
|
@@ -81,15 +81,9 @@ var pluginRedoc = _core.createPlugin.call(void 0, (options) => {
|
|
|
81
81
|
resolveName(name, type) {
|
|
82
82
|
return _transformers.camelCase.call(void 0, name, { isFile: type === "file" });
|
|
83
83
|
},
|
|
84
|
-
async writeFile(path3, source) {
|
|
85
|
-
if (!path3.endsWith(".ts") || !source) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
return this.fileManager.write(path3, source, { sanity: false });
|
|
89
|
-
},
|
|
90
84
|
async buildStart() {
|
|
91
85
|
const [swaggerPlugin] = _core.PluginManager.getDependedPlugins(this.plugins, [_pluginoas.pluginOasName]);
|
|
92
|
-
const oas = await swaggerPlugin.
|
|
86
|
+
const oas = await swaggerPlugin.context.getOas();
|
|
93
87
|
await oas.dereference();
|
|
94
88
|
const root = _path2.default.resolve(this.config.root, this.config.output.path);
|
|
95
89
|
const pageHTML = await getPageHTML(oas.api);
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-redoc/dist/index.cjs","../src/plugin.ts","../src/redoc.tsx"],"names":["path"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-redoc/dist/index.cjs","../src/plugin.ts","../src/redoc.tsx"],"names":["path"],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/plugin-redoc/dist/index.cjs","sourcesContent":[null,"import path from 'node:path'\n\nimport { PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, trimExtName } from '@kubb/core/transformers'\nimport { pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { getPageHTML } from './redoc.tsx'\nimport type { PluginRedoc } from './types.ts'\n\nexport const pluginRedocName = 'plugin-redoc' satisfies PluginRedoc['name']\n\nexport const pluginRedoc = createPlugin<PluginRedoc>((options) => {\n const { output = { path: 'docs.html' } } = options\n\n return {\n name: pluginRedocName,\n options: {\n name: trimExtName(output.path),\n baseURL: undefined,\n },\n pre: [pluginOasName],\n resolvePath(baseName) {\n const root = path.resolve(this.config.root, this.config.output.path)\n\n return path.resolve(root, baseName)\n },\n resolveName(name, type) {\n return camelCase(name, { isFile: type === 'file' })\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n const oas = await swaggerPlugin.context.getOas()\n\n await oas.dereference()\n\n const root = path.resolve(this.config.root, this.config.output.path)\n const pageHTML = await getPageHTML(oas.api)\n\n await this.fileManager.write(path.resolve(root, output.path || './docs.html'), pageHTML)\n },\n }\n})\n","import fs from 'node:fs'\nimport path from 'node:path'\nimport type { OasTypes } from '@kubb/oas'\nimport pkg from 'handlebars'\nimport { renderToString } from 'react-dom/server'\nimport { ServerStyleSheet } from 'styled-components'\nimport redoc from 'redoc'\n\ntype BuildDocsOptions = {\n title?: string\n disableGoogleFont?: boolean\n templateOptions?: any\n redocOptions?: any\n}\n\n// see http://www.thespanner.co.uk/2011/07/25/the-json-specification-is-now-wrong/\nfunction escapeClosingScriptTag(str: string): string {\n return str.replace(/<\\/script>/g, '<\\\\/script>')\n}\n\n// see http://www.thespanner.co.uk/2011/07/25/the-json-specification-is-now-wrong/\nfunction escapeUnicode(str: string): string {\n // biome-ignore lint/style/useTemplate: <explanation>\n return str.replace(/\\u2028|\\u2029/g, (m) => '\\\\u202' + (m === '\\u2028' ? '8' : '9'))\n}\n\nfunction sanitizeJSONString(str: string): string {\n return escapeClosingScriptTag(escapeUnicode(str))\n}\n\nexport async function getPageHTML(api: OasTypes.OASDocument, { title, disableGoogleFont, templateOptions, redocOptions = {} }: BuildDocsOptions = {}) {\n const apiUrl = redocOptions.specUrl\n const { Redoc, createStore } = redoc || require('redoc')\n const store = await createStore(api, apiUrl, redocOptions)\n const sheet = new ServerStyleSheet()\n\n const error = console.error\n console.error = (...args: any) => {\n if (/defaultProps/.test(args[0])) return\n error(...args)\n }\n\n const html = renderToString(sheet.collectStyles(<Redoc store={store} />))\n const state = await store.toJS()\n const css = sheet.getStyleTags()\n\n const templateFileName = path.join(__dirname, '../static/redoc.hbs')\n const template = pkg.compile(fs.readFileSync(templateFileName).toString())\n return template({\n redocHTML: `\n <div id=\"redoc\">${html || ''}</div>\n <script>\n ${`const __redoc_state = ${sanitizeJSONString(JSON.stringify(state))};` || ''}\n\n var container = document.getElementById('redoc');\n Redoc.${'hydrate(__redoc_state, container)'};\n\n </script>`,\n redocHead:\n // biome-ignore lint/style/useTemplate: <explanation>\n `<script src=\"https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js\"></script>` + css,\n title: title || api.info.title || 'ReDoc documentation',\n disableGoogleFont,\n templateOptions,\n })\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -88,15 +88,9 @@ var pluginRedoc = createPlugin((options) => {
|
|
|
88
88
|
resolveName(name, type) {
|
|
89
89
|
return camelCase(name, { isFile: type === "file" });
|
|
90
90
|
},
|
|
91
|
-
async writeFile(path4, source) {
|
|
92
|
-
if (!path4.endsWith(".ts") || !source) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
return this.fileManager.write(path4, source, { sanity: false });
|
|
96
|
-
},
|
|
97
91
|
async buildStart() {
|
|
98
92
|
const [swaggerPlugin] = PluginManager.getDependedPlugins(this.plugins, [pluginOasName]);
|
|
99
|
-
const oas = await swaggerPlugin.
|
|
93
|
+
const oas = await swaggerPlugin.context.getOas();
|
|
100
94
|
await oas.dereference();
|
|
101
95
|
const root = path3.resolve(this.config.root, this.config.output.path);
|
|
102
96
|
const pageHTML = await getPageHTML(oas.api);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.7_@types+node@20.16.1__jiti@1.21.6_postcss@8.4.41_typescript@5.5.4_yaml@2.4.5/node_modules/tsup/assets/esm_shims.js","../src/plugin.ts","../src/redoc.tsx"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import path from 'node:path'\n\nimport { PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, trimExtName } from '@kubb/core/transformers'\nimport { pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { getPageHTML } from './redoc.tsx'\nimport type { PluginRedoc } from './types.ts'\n\nexport const pluginRedocName = 'plugin-redoc' satisfies PluginRedoc['name']\n\nexport const pluginRedoc = createPlugin<PluginRedoc>((options) => {\n const { output = { path: 'docs.html' } } = options\n\n return {\n name: pluginRedocName,\n options: {\n name: trimExtName(output.path),\n baseURL: undefined,\n },\n pre: [pluginOasName],\n resolvePath(baseName) {\n const root = path.resolve(this.config.root, this.config.output.path)\n\n return path.resolve(root, baseName)\n },\n resolveName(name, type) {\n return camelCase(name, { isFile: type === 'file' })\n },\n async
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.2.4_@microsoft+api-extractor@7.47.7_@types+node@20.16.1__jiti@1.21.6_postcss@8.4.41_typescript@5.5.4_yaml@2.4.5/node_modules/tsup/assets/esm_shims.js","../src/plugin.ts","../src/redoc.tsx"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import path from 'node:path'\n\nimport { PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, trimExtName } from '@kubb/core/transformers'\nimport { pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas } from '@kubb/plugin-oas'\nimport { getPageHTML } from './redoc.tsx'\nimport type { PluginRedoc } from './types.ts'\n\nexport const pluginRedocName = 'plugin-redoc' satisfies PluginRedoc['name']\n\nexport const pluginRedoc = createPlugin<PluginRedoc>((options) => {\n const { output = { path: 'docs.html' } } = options\n\n return {\n name: pluginRedocName,\n options: {\n name: trimExtName(output.path),\n baseURL: undefined,\n },\n pre: [pluginOasName],\n resolvePath(baseName) {\n const root = path.resolve(this.config.root, this.config.output.path)\n\n return path.resolve(root, baseName)\n },\n resolveName(name, type) {\n return camelCase(name, { isFile: type === 'file' })\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])\n const oas = await swaggerPlugin.context.getOas()\n\n await oas.dereference()\n\n const root = path.resolve(this.config.root, this.config.output.path)\n const pageHTML = await getPageHTML(oas.api)\n\n await this.fileManager.write(path.resolve(root, output.path || './docs.html'), pageHTML)\n },\n }\n})\n","import fs from 'node:fs'\nimport path from 'node:path'\nimport type { OasTypes } from '@kubb/oas'\nimport pkg from 'handlebars'\nimport { renderToString } from 'react-dom/server'\nimport { ServerStyleSheet } from 'styled-components'\nimport redoc from 'redoc'\n\ntype BuildDocsOptions = {\n title?: string\n disableGoogleFont?: boolean\n templateOptions?: any\n redocOptions?: any\n}\n\n// see http://www.thespanner.co.uk/2011/07/25/the-json-specification-is-now-wrong/\nfunction escapeClosingScriptTag(str: string): string {\n return str.replace(/<\\/script>/g, '<\\\\/script>')\n}\n\n// see http://www.thespanner.co.uk/2011/07/25/the-json-specification-is-now-wrong/\nfunction escapeUnicode(str: string): string {\n // biome-ignore lint/style/useTemplate: <explanation>\n return str.replace(/\\u2028|\\u2029/g, (m) => '\\\\u202' + (m === '\\u2028' ? '8' : '9'))\n}\n\nfunction sanitizeJSONString(str: string): string {\n return escapeClosingScriptTag(escapeUnicode(str))\n}\n\nexport async function getPageHTML(api: OasTypes.OASDocument, { title, disableGoogleFont, templateOptions, redocOptions = {} }: BuildDocsOptions = {}) {\n const apiUrl = redocOptions.specUrl\n const { Redoc, createStore } = redoc || require('redoc')\n const store = await createStore(api, apiUrl, redocOptions)\n const sheet = new ServerStyleSheet()\n\n const error = console.error\n console.error = (...args: any) => {\n if (/defaultProps/.test(args[0])) return\n error(...args)\n }\n\n const html = renderToString(sheet.collectStyles(<Redoc store={store} />))\n const state = await store.toJS()\n const css = sheet.getStyleTags()\n\n const templateFileName = path.join(__dirname, '../static/redoc.hbs')\n const template = pkg.compile(fs.readFileSync(templateFileName).toString())\n return template({\n redocHTML: `\n <div id=\"redoc\">${html || ''}</div>\n <script>\n ${`const __redoc_state = ${sanitizeJSONString(JSON.stringify(state))};` || ''}\n\n var container = document.getElementById('redoc');\n Redoc.${'hydrate(__redoc_state, container)'};\n\n </script>`,\n redocHead:\n // biome-ignore lint/style/useTemplate: <explanation>\n `<script src=\"https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js\"></script>` + css,\n title: title || api.info.title || 'ReDoc documentation',\n disableGoogleFont,\n templateOptions,\n })\n}\n"],"mappings":"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","names":["path","path","path"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/plugin-redoc",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.2",
|
|
4
4
|
"description": "Beautiful docs with Redoc",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -47,21 +47,21 @@
|
|
|
47
47
|
"react-dom": "^18.3.1",
|
|
48
48
|
"redoc": "^2.1.5",
|
|
49
49
|
"styled-components": "^6.1.12",
|
|
50
|
-
"@kubb/core": "3.0.0-alpha.
|
|
51
|
-
"@kubb/oas": "3.0.0-alpha.
|
|
52
|
-
"@kubb/plugin-oas": "3.0.0-alpha.
|
|
50
|
+
"@kubb/core": "3.0.0-alpha.2",
|
|
51
|
+
"@kubb/oas": "3.0.0-alpha.2",
|
|
52
|
+
"@kubb/plugin-oas": "3.0.0-alpha.2"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/react": "^18.3.4",
|
|
56
56
|
"@types/react-dom": "^18.3.0",
|
|
57
57
|
"tsup": "^8.2.4",
|
|
58
58
|
"typescript": "^5.5.4",
|
|
59
|
-
"@kubb/config-biome": "3.0.0-alpha.
|
|
60
|
-
"@kubb/config-ts": "3.0.0-alpha.
|
|
61
|
-
"@kubb/config-tsup": "3.0.0-alpha.
|
|
59
|
+
"@kubb/config-biome": "3.0.0-alpha.2",
|
|
60
|
+
"@kubb/config-ts": "3.0.0-alpha.2",
|
|
61
|
+
"@kubb/config-tsup": "3.0.0-alpha.2"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@kubb/react": "3.0.0-alpha.
|
|
64
|
+
"@kubb/react": "3.0.0-alpha.2"
|
|
65
65
|
},
|
|
66
66
|
"engines": {
|
|
67
67
|
"node": ">=20"
|
package/src/plugin.ts
CHANGED
|
@@ -29,16 +29,9 @@ export const pluginRedoc = createPlugin<PluginRedoc>((options) => {
|
|
|
29
29
|
resolveName(name, type) {
|
|
30
30
|
return camelCase(name, { isFile: type === 'file' })
|
|
31
31
|
},
|
|
32
|
-
async writeFile(path, source) {
|
|
33
|
-
if (!path.endsWith('.ts') || !source) {
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return this.fileManager.write(path, source, { sanity: false })
|
|
38
|
-
},
|
|
39
32
|
async buildStart() {
|
|
40
33
|
const [swaggerPlugin]: [Plugin<PluginOas>] = PluginManager.getDependedPlugins<PluginOas>(this.plugins, [pluginOasName])
|
|
41
|
-
const oas = await swaggerPlugin.
|
|
34
|
+
const oas = await swaggerPlugin.context.getOas()
|
|
42
35
|
|
|
43
36
|
await oas.dereference()
|
|
44
37
|
|