mirror of
https://github.com/Redocly/redoc.git
synced 2025-08-07 05:40:19 +03:00
chore: use js-yaml vs yaml-js for demos
This commit is contained in:
parent
823be24b31
commit
dcbe6ba294
|
@ -1,14 +1,12 @@
|
|||
import { renderToString } from 'react-dom/server';
|
||||
import * as React from 'react';
|
||||
import { ServerStyleSheet } from 'styled-components';
|
||||
// @ts-ignore
|
||||
import { Redoc, createStore } from '../../';
|
||||
import { readFileSync } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
|
||||
const yaml = require('yaml-js');
|
||||
const yaml = require('js-yaml');
|
||||
const http = require('http');
|
||||
const url = require('url');
|
||||
const fs = require('fs');
|
||||
|
||||
const PORT = 9999;
|
||||
|
@ -18,8 +16,8 @@ const server = http.createServer(async (request, response) => {
|
|||
if (request.url === '/redoc.standalone.js') {
|
||||
fs.createReadStream('bundles/redoc.standalone.js', 'utf8').pipe(response);
|
||||
} else if (request.url === '/') {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../openapi.yaml')));
|
||||
let store = await createStore(spec, 'path/to/spec.yaml');
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../openapi.yaml'), 'utf-8'));
|
||||
const store = await createStore(spec, 'path/to/spec.yaml');
|
||||
|
||||
const sheet = new ServerStyleSheet();
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// tslint:disable:no-implicit-dependencies
|
||||
import * as yaml from 'yaml-js';
|
||||
import * as yaml from 'js-yaml';
|
||||
|
||||
async function loadSpec(url: string): Promise<any> {
|
||||
const spec = await (await fetch(url)).text();
|
||||
|
|
86
package-lock.json
generated
86
package-lock.json
generated
|
@ -622,6 +622,16 @@
|
|||
"resolve-from": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"resolve-from": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
||||
|
@ -672,6 +682,16 @@
|
|||
"resolve-from": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"resolve-from": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
|
||||
|
@ -1230,7 +1250,6 @@
|
|||
"@types/node": "^14.11.8",
|
||||
"colorette": "^1.2.0",
|
||||
"js-levenshtein": "^1.1.6",
|
||||
"js-yaml": "^3.14.0",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
"minimatch": "^3.0.4",
|
||||
"node-fetch": "^2.6.1",
|
||||
|
@ -2189,6 +2208,7 @@
|
|||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
}
|
||||
|
@ -4029,6 +4049,18 @@
|
|||
"is-directory": "^0.3.1",
|
||||
"js-yaml": "^3.13.1",
|
||||
"parse-json": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"coveralls": {
|
||||
|
@ -4042,6 +4074,18 @@
|
|||
"log-driver": "^1.2.7",
|
||||
"minimist": "^1.2.5",
|
||||
"request": "^2.88.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"create-ecdh": {
|
||||
|
@ -5342,6 +5386,16 @@
|
|||
"resolve-from": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"path-key": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
||||
|
@ -5786,7 +5840,8 @@
|
|||
"esprima": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||
"dev": true
|
||||
},
|
||||
"esquery": {
|
||||
"version": "1.4.0",
|
||||
|
@ -9894,12 +9949,20 @@
|
|||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "^2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsbn": {
|
||||
|
@ -14361,7 +14424,8 @@
|
|||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.16.1",
|
||||
|
@ -17369,12 +17433,6 @@
|
|||
"resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
|
||||
"integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A=="
|
||||
},
|
||||
"yaml-js": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/yaml-js/-/yaml-js-0.2.3.tgz",
|
||||
"integrity": "sha512-6xUQtVKl1qcd0EXtTEzUDVJy9Ji1fYa47LtkDtYKlIjhibPE9knNPmoRyf6SGREFHlOAUyDe9OdYqRP4DuSi5Q==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "15.4.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
"webpack-dev-server": "^3.11.0",
|
||||
"webpack-node-externals": "^2.5.0",
|
||||
"workerize-loader": "^1.3.0",
|
||||
"yaml-js": "^0.2.3"
|
||||
"js-yaml": "^4.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"core-js": "^3.1.4",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import * as React from 'react';
|
||||
import { renderToString } from 'react-dom/server';
|
||||
import * as yaml from 'yaml-js';
|
||||
import * as yaml from 'js-yaml';
|
||||
import { createStore, Redoc } from '../';
|
||||
|
||||
import { readFileSync } from 'fs';
|
||||
|
@ -10,7 +10,7 @@ import { resolve } from 'path';
|
|||
|
||||
describe('SSR', () => {
|
||||
it('should render in SSR mode', async () => {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../demo/openapi.yaml')));
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../demo/openapi.yaml'), 'utf-8'));
|
||||
const store = await createStore(spec, '');
|
||||
expect(() => {
|
||||
renderToString(<Redoc store={store} />);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* tslint:disable:no-implicit-dependencies */
|
||||
import { mount } from 'enzyme';
|
||||
import * as React from 'react';
|
||||
import * as yaml from 'yaml-js';
|
||||
import * as yaml from 'js-yaml';
|
||||
|
||||
import { readFileSync } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
|
@ -11,7 +11,7 @@ import { Loading, RedocStandalone } from '../components/';
|
|||
describe('Components', () => {
|
||||
describe('RedocStandalone', () => {
|
||||
test('should show loading first', () => {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../demo/openapi.yaml')));
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../demo/openapi.yaml'), 'utf-8'));
|
||||
|
||||
const inst = mount(<RedocStandalone spec={spec} options={{}} />);
|
||||
expect(inst.find(Loading)).toHaveLength(1);
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
import * as yaml from 'yaml-js';
|
||||
import * as yaml from 'js-yaml';
|
||||
import { readFileSync } from 'fs';
|
||||
import { resolve } from 'path';
|
||||
import { loadAndBundleSpec } from '../loadAndBundleSpec';
|
||||
|
||||
describe('#loadAndBundleSpec', () => {
|
||||
it('should load And Bundle Spec demo/openapi.yaml', async () => {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/openapi.yaml')));
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/openapi.yaml'), 'utf-8'));
|
||||
const bundledSpec = await loadAndBundleSpec(spec);
|
||||
expect(bundledSpec).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('should load And Bundle Spec demo/openapi-3-1.yaml', async () => {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/openapi-3-1.yaml')));
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/openapi-3-1.yaml'), 'utf-8'));
|
||||
const bundledSpec = await loadAndBundleSpec(spec);
|
||||
expect(bundledSpec).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('should load And Bundle Spec demo/swagger.yaml', async () => {
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/swagger.yaml')));
|
||||
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../demo/swagger.yaml'), 'utf-8'));
|
||||
const bundledSpec = await loadAndBundleSpec(spec);
|
||||
expect(bundledSpec).toMatchSnapshot();
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user