@visulima/jsdoc-open-api 1.2.2 → 1.3.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/CHANGELOG.md +7 -0
- package/README.md +17 -0
- package/bin/index.js +5 -211
- package/cli/commander/package.json +17 -0
- package/cli/package.json +17 -0
- package/dist/chunk-5JAJAHLD.js +39 -0
- package/dist/chunk-5JAJAHLD.js.map +1 -0
- package/dist/chunk-7NWDLEC5.js +9 -0
- package/dist/chunk-7NWDLEC5.js.map +1 -0
- package/dist/chunk-PLANANJA.mjs +9 -0
- package/dist/chunk-PLANANJA.mjs.map +1 -0
- package/dist/chunk-SQZONOYX.mjs +39 -0
- package/dist/chunk-SQZONOYX.mjs.map +1 -0
- package/dist/cli/commander/index.d.ts +7 -0
- package/dist/cli/commander/index.js +2 -0
- package/dist/cli/commander/index.js.map +1 -0
- package/dist/cli/commander/index.mjs +2 -0
- package/dist/cli/commander/index.mjs.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/index.mjs +2 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/index.js +1 -686
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -686
- package/dist/index.mjs.map +1 -1
- package/package.json +27 -9
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{a as g,c,d as f,e as p}from"./chunk-PLANANJA.mjs";import{existsSync as b,writeFileSync as v}from"fs";var k=o=>{if(b(o))throw new Error("Config file already exists");v(o,`module.exports = {
|
|
2
|
+
exclude: [
|
|
3
|
+
'coverage/**',
|
|
4
|
+
'.github/**',
|
|
5
|
+
'packages/*/test{,s}/**',
|
|
6
|
+
'**/*.d.ts',
|
|
7
|
+
'test{,s}/**',
|
|
8
|
+
'test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',
|
|
9
|
+
'**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',
|
|
10
|
+
'**/__tests__/**',
|
|
11
|
+
'**/{ava,babel,nyc}.config.{js,cjs,mjs}',
|
|
12
|
+
'**/jest.config.{js,cjs,mjs,ts}',
|
|
13
|
+
'**/{karma,rollup,webpack}.config.js',
|
|
14
|
+
'**/.{eslint,mocha}rc.{js,cjs}',
|
|
15
|
+
'**/.{travis,yarnrc}.yml',
|
|
16
|
+
'**/{docker-compose,docker}.yml',
|
|
17
|
+
'**/.yamllint.{yaml,yml}',
|
|
18
|
+
'**/node_modules/**',
|
|
19
|
+
'**/pnpm-lock.yaml',
|
|
20
|
+
'**/pnpm-workspace.yaml',
|
|
21
|
+
'**/{package,package-lock}.json',
|
|
22
|
+
'**/yarn.lock',
|
|
23
|
+
'**/package.json5',
|
|
24
|
+
'**/.next/**',
|
|
25
|
+
],
|
|
26
|
+
followSymlinks: false,
|
|
27
|
+
swaggerDefinition: {
|
|
28
|
+
openapi: '3.0.0',
|
|
29
|
+
info: {
|
|
30
|
+
title: 'API',
|
|
31
|
+
version: '1.0.0',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
`),console.log(`Created "${o}"`)},$=k;import x from"@apidevtools/swagger-parser";import{collect as h}from"@visulima/readdir";import d from"cli-progress";import{lstatSync as S,mkdirSync as D,writeFileSync as C}from"fs";import{dirname as O,resolve as B}from"path";var J=async(o,y,e)=>{let s={exclude:[],swaggerDefinition:{}};try{s=await import(B(e.config||o))}catch{throw new Error(`No config file found, on: ${e.config||".openapirc.js"}
|
|
36
|
+
`)}let m=new d.MultiBar({clearOnComplete:!1,hideCursor:!0,format:"{value}/{total} | {bar} | {filename}"},d.Presets.shades_grey),r=new g(s.swaggerDefinition);for await(let i of y){S(i).isDirectory();let n=await h(i,{skip:[...s.exclude,"node_modules/**"],extensions:s.extensions||[".js",".cjs",".mjs",".ts",".tsx",".jsx",".yaml",".yml"],followSymlinks:s.followSymlinks||!1,match:s.include,minimatchOptions:{match:{debug:e.verbose,matchBase:!0},skip:{debug:e.verbose,matchBase:!0}}});(e.verbose||e.veryVerbose)&&console.log(`
|
|
37
|
+
Found ${n.length} files in ${i}`),e.veryVerbose&&console.log(n);let u=m.create(n.length,0);n.forEach(a=>{e.verbose&&console.log(`Parsing file ${a}`),u.increment(1,{filename:i});let w=c(a,f,e.verbose);r.addData(w.map(l=>l.spec));let j=c(a,p,e.verbose);r.addData(j.map(l=>l.spec))})}e.verbose&&console.log("Validating swagger spec"),e.veryVerbose&&console.log(JSON.stringify(r,null,2)),await x.validate(JSON.parse(JSON.stringify(r)));let t=e.output||"swagger.json";m.stop(),e.verbose&&console.log(`Written swagger spec to "${t}" file`),D(O(t),{recursive:!0}),C(t,JSON.stringify(r,null,2)),console.log(`
|
|
38
|
+
Swagger specification is ready, check the${t}file.`)},q=J;export{$ as a,q as b};
|
|
39
|
+
//# sourceMappingURL=chunk-SQZONOYX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/command/init-command.ts","../src/cli/command/generate-command.ts"],"sourcesContent":["import { existsSync, writeFileSync } from \"node:fs\";\n\nconst initCommand = (configName: string) => {\n if (existsSync(configName)) {\n throw new Error(\"Config file already exists\");\n }\n\n writeFileSync(\n configName,\n `module.exports = {\n exclude: [\n 'coverage/**',\n '.github/**',\n 'packages/*/test{,s}/**',\n '**/*.d.ts',\n 'test{,s}/**',\n 'test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',\n '**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',\n '**/__tests__/**',\n '**/{ava,babel,nyc}.config.{js,cjs,mjs}',\n '**/jest.config.{js,cjs,mjs,ts}',\n '**/{karma,rollup,webpack}.config.js',\n '**/.{eslint,mocha}rc.{js,cjs}',\n '**/.{travis,yarnrc}.yml',\n '**/{docker-compose,docker}.yml',\n '**/.yamllint.{yaml,yml}',\n '**/node_modules/**',\n '**/pnpm-lock.yaml',\n '**/pnpm-workspace.yaml',\n '**/{package,package-lock}.json',\n '**/yarn.lock',\n '**/package.json5',\n '**/.next/**',\n ],\n followSymlinks: false,\n swaggerDefinition: {\n openapi: '3.0.0',\n info: {\n title: 'API',\n version: '1.0.0',\n },\n },\n};\n`,\n );\n\n // eslint-disable-next-line no-console\n console.log(`Created \"${configName}\"`);\n};\n\nexport default initCommand;\n","import SwaggerParser from \"@apidevtools/swagger-parser\";\nimport { collect } from \"@visulima/readdir\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport cliProgress from \"cli-progress\";\nimport { lstatSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\n\nimport type { BaseDefinition } from \"../../exported\";\nimport jsDocumentCommentsToOpenApi from \"../../jsdoc/comments-to-open-api\";\nimport parseFile from \"../../parse-file\";\nimport SpecBuilder from \"../../spec-builder\";\nimport swaggerJsDocumentCommentsToOpenApi from \"../../swagger-jsdoc/comments-to-open-api\";\n\nconst generateCommand = async (configName: string, paths: string[], options: {\n config?: string;\n output?: string;\n verbose?: boolean;\n veryVerbose?: boolean;\n // eslint-disable-next-line radar/cognitive-complexity\n}) => {\n let openapiConfig: {\n exclude: string[];\n followSymlinks?: boolean;\n swaggerDefinition: BaseDefinition;\n extensions?: string[];\n include?: string | readonly string[];\n } = {\n exclude: [],\n swaggerDefinition: {} as BaseDefinition,\n };\n\n try {\n // eslint-disable-next-line unicorn/prefer-module,import/no-dynamic-require\n openapiConfig = await import(resolve(options.config || configName));\n } catch {\n throw new Error(`No config file found, on: ${options.config || \".openapirc.js\"}\\n`);\n }\n\n const multibar = new cliProgress.MultiBar(\n {\n clearOnComplete: false,\n hideCursor: true,\n format: \"{value}/{total} | {bar} | {filename}\",\n },\n cliProgress.Presets.shades_grey,\n );\n const spec = new SpecBuilder(openapiConfig.swaggerDefinition);\n\n // eslint-disable-next-line no-restricted-syntax,unicorn/prevent-abbreviations\n for await (const dir of paths) {\n // Check if the path is a directory\n lstatSync(dir).isDirectory();\n\n const files = await collect(dir, {\n // eslint-disable-next-line @rushstack/security/no-unsafe-regexp\n skip: [...openapiConfig.exclude, \"node_modules/**\"],\n extensions: openapiConfig.extensions || [\".js\", \".cjs\", \".mjs\", \".ts\", \".tsx\", \".jsx\", \".yaml\", \".yml\"],\n followSymlinks: openapiConfig.followSymlinks || false,\n match: openapiConfig.include,\n minimatchOptions: {\n match: {\n debug: options.verbose,\n matchBase: true,\n },\n skip: {\n debug: options.verbose,\n matchBase: true,\n },\n },\n });\n\n if (options.verbose || options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(`\\nFound ${files.length} files in ${dir}`);\n }\n\n if (options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(files);\n }\n\n const bar = multibar.create(files.length, 0);\n\n files.forEach((file) => {\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(`Parsing file ${file}`);\n }\n\n bar.increment(1, { filename: dir });\n\n const parsedJsDocumentFile = parseFile(file, jsDocumentCommentsToOpenApi, options.verbose);\n\n spec.addData(parsedJsDocumentFile.map((item) => item.spec));\n\n const parsedSwaggerJsDocumentFile = parseFile(file, swaggerJsDocumentCommentsToOpenApi, options.verbose);\n\n spec.addData(parsedSwaggerJsDocumentFile.map((item) => item.spec));\n });\n }\n\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(\"Validating swagger spec\");\n }\n\n if (options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(JSON.stringify(spec, null, 2));\n }\n\n await SwaggerParser.validate(JSON.parse(JSON.stringify(spec)));\n\n const output = options.output || \"swagger.json\";\n\n multibar.stop();\n\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(`Written swagger spec to \"${output}\" file`);\n }\n\n // eslint-disable-next-line consistent-return\n mkdirSync(dirname(output), { recursive: true });\n writeFileSync(output, JSON.stringify(spec, null, 2));\n\n // eslint-disable-next-line no-console\n console.log(`\\nSwagger specification is ready, check the${output}file.`);\n};\n\nexport default generateCommand;\n"],"mappings":"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","names":["existsSync","writeFileSync","initCommand","configName","init_command_default","SwaggerParser","collect","cliProgress","lstatSync","mkdirSync","writeFileSync","dirname","resolve","generateCommand","configName","paths","options","openapiConfig","resolve","multibar","cliProgress","spec","spec_builder_default","dir","lstatSync","files","collect","bar","file","parsedJsDocumentFile","parse_file_default","comments_to_open_api_default","item","parsedSwaggerJsDocumentFile","SwaggerParser","output","mkdirSync","dirname","writeFileSync","generate_command_default"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
|
|
3
|
+
declare const initCommand: (program: Command, commandName?: string, description?: string, configName?: string) => void;
|
|
4
|
+
|
|
5
|
+
declare const generateCommand: (program: Command, commandName?: string, configName?: string) => void;
|
|
6
|
+
|
|
7
|
+
export { generateCommand, initCommand };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5JAJAHLDjs = require('../../chunk-5JAJAHLD.js');require('../../chunk-7NWDLEC5.js');var _process = require('process');var p=(o,e="init",t="Inits a pre-configured @visulima/jsdoc-open-api config file.",r=".openapirc.js")=>{o.command(e).description(t).action(()=>{try{_chunk5JAJAHLDjs.a.call(void 0, r)}catch(n){console.error(n),_process.exit.call(void 0, 1)}})},c= exports.initCommand =p;var f=(o,e="generate",t=".openapirc.js")=>{o.command(e).description("Generates OpenAPI (Swagger) documentation from JSDoc's").usage("[options] <path ...>").argument("[path ...]","Paths to files or directories to parse").option("-c, --config [.openapirc.js]","@visulima/jsdoc-open-api config file path.").option("-o, --output [swaggerSpec.json]","Output swagger specification.").option("-v, --verbose","Verbose output.").option("-vv, --very-verbose","Very verbose output.").action(async(r,n)=>{try{await _chunk5JAJAHLDjs.b.call(void 0, t,r,n)}catch(m){console.error(m),_process.exit.call(void 0, 1)}})},g= exports.generateCommand =f;exports.generateCommand = g; exports.initCommand = c;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commander/command/init-command.ts","../../../src/cli/commander/command/generate-command.ts"],"names":["exit","initCommand","program","commandName","description","configName","init_command_default","error","generateCommand","paths","options","generate_command_default"],"mappings":"mFAEA,OAAS,QAAAA,MAAY,UAIrB,IAAMC,EAAc,CAChBC,EACAC,EAAsB,OACtBC,EAAsB,+DACtBC,EAAqB,kBACpB,CACDH,EACK,QAAQC,CAAW,EACnB,YAAYC,CAAW,EACvB,OAAO,IAAM,CACV,GAAI,CACAE,EAAgBD,CAAU,CAC9B,OAASE,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBP,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOM,EAAQL,ECxBf,OAAS,QAAAD,MAAY,UAIrB,IAAMQ,EAAkB,CAACN,EAAkBC,EAAsB,WAAYE,EAAqB,kBAAoB,CAClHH,EACK,QAAQC,CAAW,EACnB,YAAY,wDAAwD,EACpE,MAAM,sBAAsB,EAC5B,SAAS,aAAc,wCAAwC,EAC/D,OAAO,+BAAgC,4CAA4C,EACnF,OAAO,kCAAmC,+BAA+B,EACzE,OAAO,gBAAiB,iBAAiB,EACzC,OAAO,sBAAuB,sBAAsB,EAEpD,OAAO,MAAOM,EAAOC,IAAY,CAC9B,GAAI,CACA,MAAMC,EAAoBN,EAAYI,EAAOC,CAAO,CACxD,OAASH,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBP,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOW,EAAQH","sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseInitCommand from \"../../command/init-command\";\n\nconst initCommand = (\n program: Command,\n commandName: string = \"init\",\n description: string = \"Inits a pre-configured @visulima/jsdoc-open-api config file.\",\n configName: string = \".openapirc.js\",\n) => {\n program\n .command(commandName)\n .description(description)\n .action(() => {\n try {\n baseInitCommand(configName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default initCommand;\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseGenerateCommand from \"../../command/generate-command\";\n\nconst generateCommand = (program: Command, commandName: string = \"generate\", configName: string = \".openapirc.js\") => {\n program\n .command(commandName)\n .description(\"Generates OpenAPI (Swagger) documentation from JSDoc's\")\n .usage(\"[options] <path ...>\")\n .argument(\"[path ...]\", \"Paths to files or directories to parse\")\n .option(\"-c, --config [.openapirc.js]\", \"@visulima/jsdoc-open-api config file path.\")\n .option(\"-o, --output [swaggerSpec.json]\", \"Output swagger specification.\")\n .option(\"-v, --verbose\", \"Verbose output.\")\n .option(\"-vv, --very-verbose\", \"Very verbose output.\")\n // eslint-disable-next-line radar/cognitive-complexity\n .action(async (paths, options) => {\n try {\n await baseGenerateCommand(configName, paths, options);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default generateCommand;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i,b as a}from"../../chunk-SQZONOYX.mjs";import"../../chunk-PLANANJA.mjs";import{exit as s}from"process";var p=(o,e="init",t="Inits a pre-configured @visulima/jsdoc-open-api config file.",r=".openapirc.js")=>{o.command(e).description(t).action(()=>{try{i(r)}catch(n){console.error(n),s(1)}})},c=p;import{exit as d}from"process";var f=(o,e="generate",t=".openapirc.js")=>{o.command(e).description("Generates OpenAPI (Swagger) documentation from JSDoc's").usage("[options] <path ...>").argument("[path ...]","Paths to files or directories to parse").option("-c, --config [.openapirc.js]","@visulima/jsdoc-open-api config file path.").option("-o, --output [swaggerSpec.json]","Output swagger specification.").option("-v, --verbose","Verbose output.").option("-vv, --very-verbose","Very verbose output.").action(async(r,n)=>{try{await a(t,r,n)}catch(m){console.error(m),d(1)}})},g=f;export{g as generateCommand,c as initCommand};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commander/command/init-command.ts","../../../src/cli/commander/command/generate-command.ts"],"sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseInitCommand from \"../../command/init-command\";\n\nconst initCommand = (\n program: Command,\n commandName: string = \"init\",\n description: string = \"Inits a pre-configured @visulima/jsdoc-open-api config file.\",\n configName: string = \".openapirc.js\",\n) => {\n program\n .command(commandName)\n .description(description)\n .action(() => {\n try {\n baseInitCommand(configName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default initCommand;\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseGenerateCommand from \"../../command/generate-command\";\n\nconst generateCommand = (program: Command, commandName: string = \"generate\", configName: string = \".openapirc.js\") => {\n program\n .command(commandName)\n .description(\"Generates OpenAPI (Swagger) documentation from JSDoc's\")\n .usage(\"[options] <path ...>\")\n .argument(\"[path ...]\", \"Paths to files or directories to parse\")\n .option(\"-c, --config [.openapirc.js]\", \"@visulima/jsdoc-open-api config file path.\")\n .option(\"-o, --output [swaggerSpec.json]\", \"Output swagger specification.\")\n .option(\"-v, --verbose\", \"Verbose output.\")\n .option(\"-vv, --very-verbose\", \"Very verbose output.\")\n // eslint-disable-next-line radar/cognitive-complexity\n .action(async (paths, options) => {\n try {\n await baseGenerateCommand(configName, paths, options);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default generateCommand;\n"],"mappings":"qFAEA,OAAS,QAAAA,MAAY,UAIrB,IAAMC,EAAc,CAChBC,EACAC,EAAsB,OACtBC,EAAsB,+DACtBC,EAAqB,kBACpB,CACDH,EACK,QAAQC,CAAW,EACnB,YAAYC,CAAW,EACvB,OAAO,IAAM,CACV,GAAI,CACAE,EAAgBD,CAAU,CAC9B,OAASE,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBC,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOF,EAAQL,ECxBf,OAAS,QAAAQ,MAAY,UAIrB,IAAMC,EAAkB,CAACC,EAAkBC,EAAsB,WAAYC,EAAqB,kBAAoB,CAClHF,EACK,QAAQC,CAAW,EACnB,YAAY,wDAAwD,EACpE,MAAM,sBAAsB,EAC5B,SAAS,aAAc,wCAAwC,EAC/D,OAAO,+BAAgC,4CAA4C,EACnF,OAAO,kCAAmC,+BAA+B,EACzE,OAAO,gBAAiB,iBAAiB,EACzC,OAAO,sBAAuB,sBAAsB,EAEpD,OAAO,MAAOE,EAAOC,IAAY,CAC9B,GAAI,CACA,MAAMC,EAAoBH,EAAYC,EAAOC,CAAO,CACxD,OAASE,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBC,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOF,EAAQN","names":["exit","initCommand","program","commandName","description","configName","init_command_default","error","exit","exit","generateCommand","program","commandName","configName","paths","options","generate_command_default","error","exit"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const initCommand: (configName: string) => void;
|
|
2
|
+
|
|
3
|
+
declare const generateCommand: (configName: string, paths: string[], options: {
|
|
4
|
+
config?: string;
|
|
5
|
+
output?: string;
|
|
6
|
+
verbose?: boolean;
|
|
7
|
+
veryVerbose?: boolean;
|
|
8
|
+
}) => Promise<void>;
|
|
9
|
+
|
|
10
|
+
export { generateCommand, initCommand };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5JAJAHLDjs = require('../chunk-5JAJAHLD.js');require('../chunk-7NWDLEC5.js');exports.generateCommand = _chunk5JAJAHLDjs.b; exports.initCommand = _chunk5JAJAHLDjs.a;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|