diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 2b34450..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -open_collective: docsify diff --git a/.github/workflows/docsify-cli.yml b/.github/workflows/docsify-cli.yml index 2772026..d0f83cf 100644 --- a/.github/workflows/docsify-cli.yml +++ b/.github/workflows/docsify-cli.yml @@ -13,12 +13,13 @@ jobs: strategy: matrix: os: [ macos-latest, ubuntu-latest, windows-latest ] - node-version: [ 12.x, 14.x ] + node-version: [ 'lts/*' ] + fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} diff --git a/README.md b/README.md index 577100d..80f7cc4 100644 --- a/README.md +++ b/README.md @@ -50,12 +50,12 @@ npm i docsify-cli -g Use `init` to generate your docs. ```shell -docsify init [--local false] [--theme vue] [--plugins false] +docsify init [path] [--local false] [--theme vue] [--plugins false] -# docsify i [-l false] [-t vue] [--plugins false] +# docsify i [path] [-l false] [-t vue] [--plugins false] ``` -`` defaults to the current directory. Use relative paths like `./docs` (or `docs`). +`[path]` defaults to the current directory. Use relative paths like `./docs` (or `docs`). - `--local` option: - Shorthand: `-l` @@ -78,9 +78,9 @@ docsify init [--local false] [--theme vue] [--plugins false] Run a server on `localhost` with livereload. ```shell -docsify serve [--open false] [--port 3000] +docsify serve [path] [--open false] [--port 3000] -# docsify s [-o false] [-p 3000] +# docsify s [path] [-o false] [-p 3000] ``` - `--open` option: @@ -99,9 +99,9 @@ docsify serve [--open false] [--port 3000] Docsify's generators. ```shell -docsify generate [--sidebar _sidebar.md] +docsify generate [path] [--sidebar _sidebar.md] [--overwrite] -# docsify g [-s _sidebar.md] +# docsify g [path] [-s _sidebar.md] [-o] ``` - `--sidebar` option: @@ -110,6 +110,12 @@ docsify generate [--sidebar _sidebar.md] - Default: `_sidebar.md` - Description: Generate sidebar file, defaults to `_sidebar.md`. +- `--overwrite` option: + - Shorthand: `-o` + - Type: boolean + - Default: `false` + - Description: Allow overwrite generated files. + ## Contributing Please see the [Contributing Guidelines](./CONTRIBUTING.md) diff --git a/docs/README.md b/docs/README.md index d4772b7..254b691 100644 --- a/docs/README.md +++ b/docs/README.md @@ -35,12 +35,12 @@ npm i docsify-cli -g Use `init` to generate your docs. ```shell -docsify init [--local false] [--theme vue] [--plugins false] +docsify init [path] [--local false] [--theme vue] [--plugins false] -# docsify i [-l false] [-t vue] [--plugins false] +# docsify i [path] [-l false] [-t vue] [--plugins false] ``` -`` defaults to the current directory. Use relative paths like `./docs` (or `docs`). +`[path]` defaults to the current directory. Use relative paths like `./docs` (or `docs`). - `--local` option: - Shorthand: `-l` @@ -63,9 +63,9 @@ docsify init [--local false] [--theme vue] [--plugins false] Run a server on `localhost` with livereload. ```shell -docsify serve [--open false] [--port 3000] +docsify serve [path] [--open false] [--port 3000] -# docsify s [-o false] [-p 3000] +# docsify s [path] [-o false] [-p 3000] ``` - `--open` option: @@ -84,9 +84,9 @@ docsify serve [--open false] [--port 3000] Docsify's generators. ```shell -docsify generate [--sidebar _sidebar.md] +docsify generate [path] [--sidebar _sidebar.md] [--overwrite] -# docsify g [-s _sidebar.md] +# docsify g [path] [-s _sidebar.md] [-o] ``` - `--sidebar` option: @@ -95,6 +95,12 @@ docsify generate [--sidebar _sidebar.md] - Default: `_sidebar.md` - Description: Generate sidebar file, defaults to `_sidebar.md`. +- `--overwrite` option: + - Shorthand: `-o` + - Type: boolean + - Default: `false` + - Description: Allow overwrite generated files. + ## License MIT diff --git a/e2e/cli.test.js.md b/e2e/cli.test.js.md index 1b025b9..007f219 100644 --- a/e2e/cli.test.js.md +++ b/e2e/cli.test.js.md @@ -4,17 +4,17 @@ The actual snapshot is saved in `cli.test.js.snap`. Generated by [AVA](https://avajs.dev). -## rejects promise due to error on passing in an unknown command +## shows up help message without any args > Snapshot 1 - `Usage: docsify ␊ + `Usage: docsify [path]␊ ␊ Commands:␊ docsify init [path] Creates new docs [aliases: i]␊ docsify serve [path] Run local server to preview site. [aliases: s]␊ - docsify start Server for SSR␊ - docsify generate Docsify's generators [aliases: g]␊ + docsify start [path] Server for SSR␊ + docsify generate [path] Docsify's generators [aliases: g]␊ ␊ Global Options␊ --help, -h Show help [boolean]␊ @@ -27,19 +27,19 @@ Generated by [AVA](https://avajs.dev). Development:␊ https://github.com/docsifyjs/docsify-cli/blob/master/CONTRIBUTING.md␊ ␊ - Unknown argument: junkcmd` + [ERROR] 0 arguments passed. Please specify a command` -## shows help with --help flag +## shows help with -h flag > Snapshot 1 - `Usage: docsify ␊ + `Usage: docsify [path]␊ ␊ Commands:␊ docsify init [path] Creates new docs [aliases: i]␊ docsify serve [path] Run local server to preview site. [aliases: s]␊ - docsify start Server for SSR␊ - docsify generate Docsify's generators [aliases: g]␊ + docsify start [path] Server for SSR␊ + docsify generate [path] Docsify's generators [aliases: g]␊ ␊ Global Options␊ --help, -h Show help [boolean]␊ @@ -52,17 +52,17 @@ Generated by [AVA](https://avajs.dev). Development:␊ https://github.com/docsifyjs/docsify-cli/blob/master/CONTRIBUTING.md` -## shows help with -h flag +## shows help with --help flag > Snapshot 1 - `Usage: docsify ␊ + `Usage: docsify [path]␊ ␊ Commands:␊ docsify init [path] Creates new docs [aliases: i]␊ docsify serve [path] Run local server to preview site. [aliases: s]␊ - docsify start Server for SSR␊ - docsify generate Docsify's generators [aliases: g]␊ + docsify start [path] Server for SSR␊ + docsify generate [path] Docsify's generators [aliases: g]␊ ␊ Global Options␊ --help, -h Show help [boolean]␊ @@ -75,17 +75,35 @@ Generated by [AVA](https://avajs.dev). Development:␊ https://github.com/docsifyjs/docsify-cli/blob/master/CONTRIBUTING.md` -## shows up help message without any args +## shows version information with -v flag + +> Snapshot 1 + + `␊ + docsify-cli version:␊ + 4.4.4␊ + ` + +## shows version information with --version flag + +> Snapshot 1 + + `␊ + docsify-cli version:␊ + 4.4.4␊ + ` + +## rejects promise due to error on passing in an unknown command > Snapshot 1 - `Usage: docsify ␊ + `Usage: docsify [path]␊ ␊ Commands:␊ docsify init [path] Creates new docs [aliases: i]␊ docsify serve [path] Run local server to preview site. [aliases: s]␊ - docsify start Server for SSR␊ - docsify generate Docsify's generators [aliases: g]␊ + docsify start [path] Server for SSR␊ + docsify generate [path] Docsify's generators [aliases: g]␊ ␊ Global Options␊ --help, -h Show help [boolean]␊ @@ -98,22 +116,4 @@ Generated by [AVA](https://avajs.dev). Development:␊ https://github.com/docsifyjs/docsify-cli/blob/master/CONTRIBUTING.md␊ ␊ - [ERROR] 0 arguments passed. Please specify a command` - -## shows version information with --version flag - -> Snapshot 1 - - `␊ - docsify-cli version:␊ - 4.4.4␊ - ` - -## shows version information with -v flag - -> Snapshot 1 - - `␊ - docsify-cli version:␊ - 4.4.4␊ - ` + Unknown argument: junkcmd` diff --git a/e2e/cli.test.js.snap b/e2e/cli.test.js.snap index 02e125f..6cb284e 100644 Binary files a/e2e/cli.test.js.snap and b/e2e/cli.test.js.snap differ diff --git a/e2e/commands/generate.test.js b/e2e/commands/generate.test.js index cb60bef..71513d3 100644 --- a/e2e/commands/generate.test.js +++ b/e2e/commands/generate.test.js @@ -10,14 +10,14 @@ const docsPath = path.join(genPath, 'docs') test.before('create temp directory', () => { // Cleanup if the directory already exists if (fs.existsSync(genPath)) { - fs.rmdirSync(genPath, {recursive: true}) + fs.rmSync(genPath, {recursive: true}) } fs.mkdirSync(genPath) }) test.after('cleanup', () => { - fs.rmdirSync(genPath, {recursive: true}) + fs.rmSync(genPath, {recursive: true}) }) test('generate _sidebar.md', t => { diff --git a/e2e/commands/init.test.js b/e2e/commands/init.test.js index 035adf7..5e40967 100644 --- a/e2e/commands/init.test.js +++ b/e2e/commands/init.test.js @@ -11,14 +11,14 @@ const docsPath = path.join(genPath, 'docs') test.before('create temp directory', () => { // Cleanup if the directory already exists if (fs.existsSync(genPath)) { - fs.rmdirSync(genPath, {recursive: true}) + fs.rmSync(genPath, {recursive: true}) } fs.mkdirSync(genPath) }) test.after('cleanup', () => { - fs.rmdirSync(genPath, {recursive: true}) + fs.rmSync(genPath, {recursive: true}) }) test('generates docs directory', t => { diff --git a/lib/cli.js b/lib/cli.js index 11de63d..830d3b4 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -18,7 +18,7 @@ require('yargs') .demandCommand(1, chalk.red('[ERROR] 0 arguments passed. Please specify a command')) .strict() .recommendCommands() - .usage(chalk.bold(y18n.__('usage') + ': docsify ')) + .usage(chalk.bold(y18n.__('usage') + ': docsify [path]')) .command({ command: 'init [path]', aliases: 'i', @@ -94,7 +94,7 @@ require('yargs') handler: argv => run.serve(argv.path, argv.open, argv.port, argv.P, argv.i) }) .command({ - command: 'start ', + command: 'start [path]', desc: chalk.gray(y18n.__('start')), builder: yargs => yargs.options({ @@ -118,21 +118,28 @@ require('yargs') handler: argv => run.start(argv.path, argv.config, argv.port) }) .command({ - command: 'generate ', + command: 'generate [path]', aliases: 'g', desc: chalk.gray(y18n.__('generate')), builder: yargs => yargs.options({ + overwrite: { + alias: 'o', + default: false, + desc: chalk.gray(y18n.__('generate.overwrite')), + nargs: 0, + type: 'boolean' + }, sidebar: { alias: 's', default: '_sidebar.md', - desc: chalk.gray(y18n.__('gen.sidebar')), + desc: chalk.gray(y18n.__('generate.sidebar')), nargs: 1, requiresArg: true, type: 'string' } }), - handler: argv => run.generate(argv.path, argv.sidebar) + handler: argv => run.generate(argv.path, argv.sidebar, {overwrite: argv.overwrite}) }) .help() .option('help', { diff --git a/lib/commands/generate.js b/lib/commands/generate.js index 9326c24..6e4ae46 100644 --- a/lib/commands/generate.js +++ b/lib/commands/generate.js @@ -7,15 +7,14 @@ const path = require('path') const logger = require('../util/logger') const ignoreFiles = ['_navbar', '_coverpage', '_sidebar'] -// eslint-disable-next-line -module.exports = function (path = '', sidebar) { +module.exports = function (path, sidebar, options) { const cwdPath = cwd(path || '.') if (exists(cwdPath)) { if (sidebar) { const sidebarPath = cwdPath + '/' + sidebar || '_sidebar.md' - if (!exists(sidebarPath)) { + if (!exists(sidebarPath) || options.overwrite) { genSidebar(cwdPath, sidebarPath) logger.success(`Successfully generated the sidebar file '${sidebar}'.`) return true @@ -36,7 +35,7 @@ function genSidebar(cwdPath, sidebarPath) { let nodeName = '' getDirFiles(cwdPath, function (pathname) { path.relative(pathname, cwdPath) - pathname = pathname.replace(cwdPath + '/', '') + pathname = pathname.replace(cwdPath + path.sep, '') let filename = path.basename(pathname, '.md') let splitPath = pathname.split(path.sep) @@ -44,7 +43,7 @@ function genSidebar(cwdPath, sidebarPath) { return true } - nodeName = '- [' + toCamelCase(filename) + '](' + pathname + ')' + os.EOL + nodeName = '- [' + toCamelCase(filename) + '](' + pathname.replace(/\\/g, '/') + ')' + os.EOL if (splitPath.length > 1) { if (splitPath[0] !== lastPath) { diff --git a/package-lock.json b/package-lock.json index 8ee3135..f867282 100644 --- a/package-lock.json +++ b/package-lock.json @@ -885,11 +885,21 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" + }, + "dependencies": { + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + } } }, "buffer-from": { @@ -1347,10 +1357,28 @@ "well-known-symbols": "^2.0.0" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -1517,10 +1545,13 @@ } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "yallist": { "version": "4.0.0", @@ -1703,10 +1734,13 @@ }, "dependencies": { "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -1774,9 +1808,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "type-fest": { @@ -2052,9 +2086,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "type-fest": { @@ -2105,10 +2139,13 @@ } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "strip-indent": { "version": "3.0.0", @@ -2640,14 +2677,14 @@ } }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-indent": { "version": "6.0.0", @@ -2679,15 +2716,14 @@ } }, "docsify": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/docsify/-/docsify-4.12.2.tgz", - "integrity": "sha512-hpRez5upcvkYigT2zD8P5kH5t9HpSWL8yn/ZU/g04/WfAfxVNW6CPUVOOF1EsQUDxTRuyNTFOb6uUv+tPij3tg==", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/docsify/-/docsify-4.13.1.tgz", + "integrity": "sha512-BsDypTBhw0mfslw9kZgAspCMZSM+sUIIDg5K/t1hNLkvbem9h64ZQc71e1IpY+iWsi/KdeqfazDfg52y2Lmm0A==", "requires": { - "dompurify": "^2.3.1", "marked": "^1.2.9", "medium-zoom": "^1.0.6", "opencollective-postinstall": "^2.0.2", - "prismjs": "^1.23.0", + "prismjs": "^1.27.0", "strip-indent": "^3.0.0", "tinydate": "^1.3.0", "tweezer.js": "^1.4.0" @@ -2704,20 +2740,20 @@ } }, "docsify-server-renderer": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/docsify-server-renderer/-/docsify-server-renderer-4.10.0.tgz", - "integrity": "sha512-7+BIkpdXDK9q2Q7vX7nKM5hnGra0/8RBYU+eiI5zgPBQwH0jEWrxzSdm8Q3ozZFm1ibwGBJtKIkuTvdd74J4Fg==", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/docsify-server-renderer/-/docsify-server-renderer-4.13.1.tgz", + "integrity": "sha512-XNJeCK3zp+mVO7JZFn0bH4hNBAMMC1MbuCU7CBsjLHYn4NHrjIgCBGmylzEan3/4Qm6kbSzQx8XzUK5T7GQxHw==", "requires": { - "debug": "^4.1.1", - "docsify": "^4.8.0", - "node-fetch": "^2.6.0", + "debug": "^4.3.3", + "docsify": "^4.12.4", + "node-fetch": "^2.6.6", "resolve-pathname": "^3.0.0" }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } @@ -2738,11 +2774,6 @@ "esutils": "^2.0.2" } }, - "dompurify": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz", - "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==" - }, "dot-prop": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", @@ -2941,9 +2972,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -3199,7 +3230,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "execa": { "version": "4.0.0", @@ -3260,20 +3291,10 @@ "micromatch": "^4.0.2" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -3281,8 +3302,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "micromatch": { "version": "4.0.2", @@ -3298,7 +3318,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -3349,14 +3368,6 @@ "flat-cache": "^2.0.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -3411,7 +3422,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "fs-access": { "version": "1.0.1", @@ -3898,10 +3909,13 @@ }, "dependencies": { "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -3969,9 +3983,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "type-fest": { @@ -4205,20 +4219,27 @@ "dev": true }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } } }, "human-signals": { @@ -4323,9 +4344,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "type-fest": { @@ -4737,15 +4758,6 @@ "stringify-object": "^3.3.0" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -4792,7 +4804,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -4800,8 +4811,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-path-inside": { "version": "3.0.2", @@ -4898,7 +4908,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -5362,18 +5371,18 @@ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "minimist-options": { "version": "3.0.2", @@ -5455,9 +5464,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -6324,9 +6333,9 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "semver-compare": { "version": "1.0.0", @@ -6343,29 +6352,42 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -6376,14 +6398,21 @@ "dev": true }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.19.0" + }, + "dependencies": { + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" + } } }, "set-blocking": { @@ -6392,9 +6421,9 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "shebang-command": { "version": "1.2.0", @@ -6673,6 +6702,15 @@ "p-locate": "^4.1.0" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -6689,10 +6727,13 @@ "dev": true }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "string-width": { "version": "4.2.0", @@ -6725,6 +6766,12 @@ "strip-ansi": "^6.0.0" } }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -7021,9 +7068,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tr46": { "version": "0.0.3", @@ -7309,9 +7356,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true }, "wordwrap": { @@ -7412,9 +7459,9 @@ } }, "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==" }, "xdg-basedir": { "version": "4.0.0", diff --git a/package.json b/package.json index 2eb8082..7c905b3 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "connect-livereload": "^0.6.0", "cp-file": "^7.0.0", "docsify": "^4.12.2", - "docsify-server-renderer": ">=4.10.0", + "docsify-server-renderer": ">=4.13.1", "enquirer": "^2.3.6", "fs-extra": "^8.1.0", "get-port": "^5.0.0", diff --git a/tools/locales/en.json b/tools/locales/en.json index 9488e4f..e9cecf3 100644 --- a/tools/locales/en.json +++ b/tools/locales/en.json @@ -13,6 +13,7 @@ "serve.indexname": "Custom filename instead of index.html to serve by default", "generate": "Docsify's generators", "generate.sidebar": "Generate sidebar file", + "generate.overwrite": "Allow overwrite generated files", "livereload.port": "livereload Listen port.", "usage": "Usage", "version": "Show version number" diff --git a/tools/locales/zh.json b/tools/locales/zh.json index 162179e..122d4a0 100644 --- a/tools/locales/zh.json +++ b/tools/locales/zh.json @@ -13,6 +13,7 @@ "serve.indexname": "自定义入口文件名,代替默认的 index.html", "generate": "docsify 的生成器", "generate.sidebar": "生成侧边栏文件", + "generate.overwrite": "允许覆盖生成的文件", "livereload.port": "设置 livereload 端口", "usage": "例子", "version": "当前版本号"