2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-05-15 11:59:37 +03:00

feat: update core deps (#120)

* feat: use swc.rs instead of babel

* BREAKING CHANGE: now we use swc.rs as main bundler and transpiler instead of babel
  - jest now uses swc
  - rollup now uses swc

* feat: benchmark now separate package with `npm start` and colored output
  - benchmark as separate package with error throw if package drops performance

* feat: all lerna packages now using scripts/pkg-task

* feat(github): publish to npm and github registry
  - when release was created this action automaticly publish packages to npm and github

* feat(github): move all from Travis CI to Github Actions
  - code analysis and tests now using github actions

* test: increase tests coverage
  - add more tests for @bbob/react, @bbob/vue2 and @bbob/parser
This commit is contained in:
Nikolay Kostyurin
2021-11-29 00:33:06 +02:00
committed by GitHub
parent 86d1dde106
commit da6709d437
66 changed files with 12410 additions and 20669 deletions
+3 -5
View File
@@ -1,11 +1,9 @@
{
"extends": "airbnb",
"plugins": [
"jest"
"extends": [
"airbnb"
],
"env": {
"node": true,
"jest/globals": true
"node": true
},
"rules": {
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]
+19
View File
@@ -0,0 +1,19 @@
name: Benchmark
on:
push:
pull_request:
jobs:
benchmark:
name: Benchmark
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v2
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: cd benchmark && npm ci
- name: Run benchmark
run: cd benchmark && npm start
-5
View File
@@ -36,11 +36,6 @@ jobs:
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
+50
View File
@@ -0,0 +1,50 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
name: Node.js Package
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
- run: npm ci
- run: npm test
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
publish-gpr:
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
+41
View File
@@ -0,0 +1,41 @@
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 2
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install Codecov
run: npm install -g codecov
- name: Install dependencies
run: npm ci
- name: Bootstrap packages
run: npm run bootstrap
- name: Run the lint
run: npm run lint
- name: Run the coverage
run: npm run cover
- name: Run the coverage
run: codecov
+32
View File
@@ -0,0 +1,32 @@
{
"module": {
"type": "es6"
},
"env": {
"loose": true,
"targets": "> 0.25%, not dead"
},
"jsc": {
"loose": true,
"parser": {
"syntax": "ecmascript",
"jsx": true,
"numericSeparator": false,
"classPrivateProperty": false,
"privateMethod": false,
"classProperty": false,
"functionBind": false,
"decorators": false,
"decoratorsBeforeExport": false
},
"transform": {
"react": {
"pragma": "React.createElement",
"pragmaFrag": "React.Fragment",
"throwIfNamespace": true,
"development": false,
"useBuiltins": false
}
}
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"module": {
"type": "commonjs",
"strict": false,
"strictMode": true,
"lazy": false,
"noInterop": false,
"ignoreDynamic": false
},
"jsc": {
"loose": true
}
}
-18
View File
@@ -1,18 +0,0 @@
language: node_js
node_js:
- 'lts/*'
script:
- 'npm install -g codecov'
- 'npm run bootstrap'
- 'set -e'
- 'npm run lint'
- 'npm run test'
after_success:
- 'npm run cover'
- 'codecov'
notifications:
email: false
-56
View File
@@ -1,56 +0,0 @@
module.exports = {
presets: [
'@babel/preset-react',
],
env: {
test: {
presets: [
[
'@babel/preset-env',
{
modules: 'commonjs',
targets: {
node: true,
},
},
],
],
},
// src/index.js ==> lib/index.js
commonjs: {
presets: [
[
'@babel/preset-env',
{ loose: true, modules: 'commonjs' },
],
],
},
// src/index.js ==> es/index.js
es: {
presets: [
[
'@babel/preset-env',
{
loose: true,
targets: {
esmodules: true,
},
},
],
],
},
// src/index.js ==> dist/index.js
rollup: {
presets: [
[
'@babel/preset-env',
{
modules: false,
loose: true,
targets: '> 0.25%, not dead',
},
],
],
},
},
};
+24 -7
View File
@@ -1,7 +1,15 @@
/* eslint-disable global-require */
const Benchmark = require('benchmark');
const pico = require('picocolors');
const stub = require('./test/stub');
function formatNumber(number) {
return String(number)
// .replace(/\d{3}$/, ',$&')
.replace(/^(\d|\d\d)(\d{3},)/, '$1,$2');
}
const suite = new Benchmark.Suite();
suite
@@ -40,27 +48,36 @@ suite
});
})
.add('@bbob/parser lexer old', () => {
const lexer1 = require('../packages/bbob-parser/lib/lexer_old');
const lexer1 = require('@bbob/parser/lib/lexer_old');
return require('../packages/bbob-parser/lib/index').parse(stub, {
return require('@bbob/parser/lib/index').parse(stub, {
onlyAllowTags: ['ch'],
createTokenizer: lexer1.createLexer,
});
})
.add('@bbob/parser lexer', () => {
const lexer2 = require('../packages/bbob-parser/lib/lexer');
const lexer2 = require('@bbob/parser/lib/lexer');
return require('../packages/bbob-parser/lib/index').parse(stub, {
return require('@bbob/parser/lib/index').parse(stub, {
onlyAllowTags: ['ch'],
createTokenizer: lexer2.createLexer,
});
})
// add listeners
.on('cycle', (event) => {
console.log(String(event.target));
const name = event.target.name.padEnd('@bbob/parser lexer old'.length);
const hz = formatNumber(event.target.hz.toFixed(0)).padStart(10);
process.stdout.write(`${name}${pico.bold(hz)}${pico.dim(' ops/sec')}\n`);
})
.on('complete', function onComplete() {
console.log(`Fastest is ${this.filter('fastest').map('name')}`);
const name = this.filter('fastest').map('name').toString();
process.stdout.write(`Fastest is ${pico.bold(name)}`);
if (name.indexOf('@bbob') === -1) {
process.exit(1);
}
})
// run async
.run({ async: false });
.run();
+53
View File
@@ -0,0 +1,53 @@
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"@bbob/parser": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/@bbob/parser/-/parser-2.7.1.tgz",
"integrity": "sha512-tpfkbxXU4klszMjXGWrq9N8v2FdsakPMjj9nPEDVg15j0GRnhRSkWetwFSa31t6uXQ7cSTA6N/IdgMN9EDB5tw==",
"requires": {
"@bbob/plugin-helper": "^2.7.1"
}
},
"@bbob/plugin-helper": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/@bbob/plugin-helper/-/plugin-helper-2.7.1.tgz",
"integrity": "sha512-84DfXx7yQ0OJZN6bf/54q6RPhLFImLnMtCpCAlJO8ExNpWQuOJv0aTJJ4vRRRiyuPJ2uCECSalgOZv2t8j/M0g=="
},
"benchmark": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz",
"integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=",
"requires": {
"lodash": "^4.17.4",
"platform": "^1.3.3"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"platform": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
"integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
},
"xbbcode-parser": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/xbbcode-parser/-/xbbcode-parser-0.1.2.tgz",
"integrity": "sha1-Bs5gpA9WagZz6rIR024jgpJgdGc="
},
"ya-bbcode": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/ya-bbcode/-/ya-bbcode-1.0.12.tgz",
"integrity": "sha512-CI/2AmfmRDv/qxIpaTFymrzpnEn4VUa8Jsnoad6eidkhjQ8UTyim+XwPhDu/r9IZh9uzJugXZV0iyJQgX1FSCA=="
}
}
}
+22
View File
@@ -0,0 +1,22 @@
{
"name": "benchmark",
"main": "index.js",
"private": true,
"directories": {
"test": "test"
},
"scripts": {
"start": "node index.js"
},
"author": {
"name": "Nikolay Kostyurin <jilizart@gmail.com>",
"url": "https://artkost.ru/"
},
"dependencies": {
"@bbob/parser": "^2.7.1",
"benchmark": "2.1.4",
"picocolors": "1.0.0",
"xbbcode-parser": "0.1.2",
"ya-bbcode": "1.0.12"
}
}
+1181 -1165
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -9,13 +9,13 @@
"dependencies": {
"@bbob/preset-vue": "^2.7.1",
"@bbob/vue2": "^2.7.1",
"core-js": "^3.6.5",
"vue": "^2.6.11"
"core-js": "^3.18.2",
"vue": "^2.6.14"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"vue-template-compiler": "^2.6.11"
"@vue/cli-plugin-babel": "~4.5.13",
"@vue/cli-service": "~4.5.13",
"vue-template-compiler": "^2.6.14"
},
"browserslist": [
"> 1%",
+7 -3
View File
@@ -1,8 +1,12 @@
const fs = require('fs');
const config = JSON.parse(fs.readFileSync(`${__dirname}/.swcrc`, 'utf-8'));
module.exports = {
verbose: true,
coverageDirectory: './coverage/',
collectCoverage: true,
// transform: {
// '^.+\\.[t|j]sx?$': 'babel-jest',
// },
transform: {
'\\.[jt]sx?$': ['@swc/jest', { ...config }],
},
};
+2
View File
@@ -2,6 +2,8 @@
"lerna": "2.11.0",
"version": "2.7.1",
"packages": [
"benchmark",
"scripts",
"examples/*",
"packages/bbob-cli",
"packages/bbob-core",
+9547 -18298
View File
File diff suppressed because it is too large Load Diff
+37 -35
View File
@@ -18,42 +18,35 @@
},
"license": "MIT",
"devDependencies": {
"@babel/cli": "7.7.7",
"@babel/core": "7.7.7",
"@babel/plugin-external-helpers": "7.7.4",
"@babel/plugin-transform-modules-commonjs": "7.7.5",
"@babel/preset-env": "7.7.7",
"@babel/preset-react": "7.7.4",
"@commitlint/cli": "8.3.4",
"@commitlint/config-conventional": "8.3.4",
"@rollup/plugin-commonjs": "11.0.1",
"@rollup/plugin-node-resolve": "7.0.0",
"@rollup/plugin-replace": "2.3.0",
"@size-limit/preset-small-lib": "3.0.0",
"babel-jest": "24.9.0",
"benchmark": "2.1.4",
"bundlesize": "0.18.0",
"cross-env": "6.0.3",
"eslint": "6.8.0",
"eslint-config-airbnb": "18.0.1",
"eslint-plugin-import": "2.19.1",
"eslint-plugin-jest": "23.4.0",
"eslint-plugin-jsx-a11y": "6.2.3",
"eslint-plugin-react": "7.17.0",
"husky": "4.0.6",
"jest": "24.9.0",
"jsdoc-to-markdown": "5.0.3",
"lerna": "3.20.2",
"lint-staged": "9.5.0",
"@commitlint/cli": "13.2.1",
"@commitlint/config-conventional": "13.2.0",
"@rollup/plugin-commonjs": "21.0.0",
"@rollup/plugin-node-resolve": "13.0.5",
"@rollup/plugin-replace": "3.0.0",
"@size-limit/preset-small-lib": "6.0.1",
"@swc/cli": "0.1.51",
"@swc/core": "1.2.98",
"@swc/jest": "0.2.4",
"bundlesize": "0.18.1",
"cross-env": "7.0.3",
"eslint": "7.32.0",
"eslint-config-airbnb": "18.2.1",
"eslint-plugin-import": "2.24.2",
"eslint-plugin-jest": "25.0.1",
"eslint-plugin-jsx-a11y": "6.4.1",
"eslint-plugin-react": "7.26.1",
"husky": "7.0.2",
"jest": "27.2.5",
"lerna": "4.0.0",
"lint-staged": "11.2.3",
"microtime": "3.0.0",
"posthtml-render": "^1.1.5",
"rimraf": "^2.7.1",
"rollup": "1.29.0",
"rollup-plugin-babel": "4.3.3",
"rollup-plugin-terser": "5.2.0",
"size-limit": "3.0.0",
"xbbcode-parser": "0.1.2",
"ya-bbcode": "1.0.12"
"posthtml-render": "^3.0.0",
"rimraf": "^3.0.2",
"rollup": "2.58.0",
"rollup-plugin-gzip": "2.5.0",
"rollup-plugin-swc": "0.2.0",
"rollup-plugin-terser": "7.0.2",
"size-limit": "6.0.1"
},
"publishConfig": {
"access": "public",
@@ -63,5 +56,14 @@
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"pkgTasks": {
"build-commonjs": "@/cross-env BABEL_ENV=commonjs NODE_ENV=production @/swc --config-file ../../.swcrc-commonjs --out-dir lib src",
"build-es": "@/cross-env BABEL_ENV=es NODE_ENV=production @/swc --out-dir es src",
"build-umd": "@/cross-env BABEL_ENV=rollup NODE_ENV=production @/rollup --config ../../rollup.config.js",
"test": "@/jest",
"cover": "@/jest --config ../../jest.config.js --coverage .",
"lint": "@/eslint .",
"bundlesize": "@/cross-env NODE_ENV=production @/bundlesize ."
}
}
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+3 -3
View File
@@ -29,9 +29,9 @@
},
"homepage": "https://github.com/JiLiZART/bbob#readme",
"scripts": {
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint ."
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint"
},
"author": "Nikolay Kostyurin <jilizart@gmail.com>",
"license": "MIT",
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -38,15 +38,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
@@ -56,7 +56,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "3.8 KB"
"maxSize": "4.5 KB"
}
],
"publishConfig": {
+3 -8
View File
@@ -2,7 +2,7 @@
const isObj = (value) => (typeof value === 'object');
const isBool = (value) => (typeof value === 'boolean');
function iterate(t, cb) {
export function iterate(t, cb) {
const tree = t;
if (Array.isArray(tree)) {
@@ -16,7 +16,7 @@ function iterate(t, cb) {
return tree;
}
function same(expected, actual) {
export function same(expected, actual) {
if (typeof expected !== typeof actual) {
return false;
}
@@ -45,7 +45,7 @@ function same(expected, actual) {
});
}
function match(expression, cb) {
export function match(expression, cb) {
return Array.isArray(expression)
? iterate(this, (node) => {
for (let idx = 0; idx < expression.length; idx++) {
@@ -58,8 +58,3 @@ function match(expression, cb) {
})
: iterate(this, (node) => (same(expression, node) ? cb(node) : node));
}
export {
iterate,
match,
};
+19 -1
View File
@@ -1,4 +1,4 @@
import { iterate, match } from '../src/utils';
import { iterate, match, same } from '../src/utils';
const stringify = val => JSON.stringify(val);
@@ -62,4 +62,22 @@ describe('@bbob/core utils', () => {
expect(stringify(resultArr)).toEqual(stringify(expected))
})
describe('same', () => {
test('same not same typeof', () => {
expect(same(1, {})).toBe(false)
})
test('same boolean', () => {
expect(same(true, true)).toBe(true)
})
test('same null', () => {
expect(same(null, null)).toBe(true)
})
test('same array', () => {
expect(same([1, 2, 3], [1, 2, 3, 4])).toBe(true)
})
test('same object', () => {
expect(same({ foo: true, bar: 'test' }, { foo: true, bar: 'test', ext: true })).toBe(true)
})
})
});
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -28,15 +28,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --debug",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
@@ -46,7 +46,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "4.1 KB"
"maxSize": "4.6 KB"
}
],
"publishConfig": {
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+8 -8
View File
@@ -31,15 +31,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize",
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize",
"prepublishOnly": "npm run build"
},
"size-limit": [
+13
View File
@@ -84,6 +84,19 @@ describe('lexer', () => {
expect(tokens).toBeMantchOutput(output);
});
test('paired tag with single param', () => {
const input = '[url=someval]GET[/url]';
const tokens = tokenize(input);
const output = [
[TYPE.TAG, 'url', '0', '0'],
[TYPE.ATTR_VALUE, 'someval', '0', '0'],
[TYPE.WORD, 'GET', '0', '0'],
[TYPE.TAG, '/url', '0', '0'],
];
expect(tokens).toBeMantchOutput(output);
});
test('single fake tag', () => {
const input = '[ user=111]';
const tokens = tokenize(input);
+1 -1
View File
@@ -1,5 +1,5 @@
import {parse} from '../src'
import render from 'posthtml-render'
import { render } from 'posthtml-render'
describe('posthtml-render', () => {
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -23,15 +23,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize",
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize",
"prepublishOnly": "npm run build"
},
"size-limit": [
@@ -42,7 +42,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "650 B"
"maxSize": "850 B"
}
],
"publishConfig": {
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -30,15 +30,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
@@ -48,7 +48,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "1.8 KB"
"maxSize": "2.6 KB"
}
],
"publishConfig": {
+7 -15
View File
@@ -65,19 +65,13 @@ const toNode = (tag, attrs, content) => ({
content,
});
const toStyle = (style) => ({ style });
export default {
b: (node) => toNode('span', {
style: 'font-weight: bold;',
}, node.content),
i: (node) => toNode('span', {
style: 'font-style: italic;',
}, node.content),
u: (node) => toNode('span', {
style: 'text-decoration: underline;',
}, node.content),
s: (node) => toNode('span', {
style: 'text-decoration: line-through;',
}, node.content),
b: (node) => toNode('span', toStyle('font-weight: bold;'), node.content),
i: (node) => toNode('span', toStyle('font-style: italic;'), node.content),
u: (node) => toNode('span', toStyle('text-decoration: underline;'), node.content),
s: (node) => toNode('span', toStyle('text-decoration: line-through;'), node.content),
url: (node, { render }, options) => toNode('a', {
href: renderUrl(node, render, options),
}, node.content),
@@ -86,9 +80,7 @@ export default {
}, null),
quote: (node) => toNode('blockquote', {}, [toNode('p', {}, node.content)]),
code: (node) => toNode('pre', {}, node.content),
style: (node) => toNode('span', {
style: getStyleFromAttrs(node.attrs),
}, node.content),
style: (node) => toNode('span', toStyle(getStyleFromAttrs(node.attrs)), node.content),
list: (node) => {
const type = getUniqAttr(node.attrs);
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -29,15 +29,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
@@ -47,7 +47,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "2 KB"
"maxSize": "2.5 KB"
}
],
"publishConfig": {
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+9 -9
View File
@@ -29,15 +29,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
@@ -47,7 +47,7 @@
"bundlesize": [
{
"path": "./dist/index.min.js",
"maxSize": "2 KB"
"maxSize": "2.5 KB"
}
],
"publishConfig": {
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+8 -8
View File
@@ -23,15 +23,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup NODE_ENV=production ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+977 -805
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -41,15 +41,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
+1 -2
View File
@@ -1,8 +1,7 @@
import React from 'react';
import preset from '@bbob/preset-react';
import { shallow } from 'enzyme';
import Enzyme from 'enzyme';
import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';
import BBCode from '../src';
+20
View File
@@ -0,0 +1,20 @@
import React from 'react'
import { render } from "../src";
describe('@bbob/react render', () => {
test('render simple b tag', () => {
const html = render('[b]boldedtext[/b]');
expect(html[0].type).toStrictEqual('b')
})
test('render self closed b tag', () => {
const html = render('[b][/b]');
expect(html[0].type).toBe('b')
})
test('render simple text nodes', () => {
const html = render('some example words');
expect(html[0]).toStrictEqual("some")
})
})
-1
View File
@@ -1 +0,0 @@
module.exports = require('../../babel.config');
+1
View File
@@ -0,0 +1 @@
module.exports = require('../../jest.config');
+122 -129
View File
@@ -5,34 +5,34 @@
"requires": true,
"dependencies": {
"@babel/code-frame": {
"version": "7.12.13",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@babel/code-frame/-/code-frame-7.12.13.tgz",
"integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
"integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
"dev": true,
"requires": {
"@babel/highlight": "^7.12.13"
"@babel/highlight": "^7.16.0"
}
},
"@babel/helper-validator-identifier": {
"version": "7.12.11",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"version": "7.15.7",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
"integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
"dev": true
},
"@babel/highlight": {
"version": "7.13.10",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@babel/highlight/-/highlight-7.13.10.tgz",
"integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
"integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.12.11",
"@babel/helper-validator-identifier": "^7.15.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/chalk/-/chalk-2.4.2.tgz",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
@@ -44,27 +44,27 @@
}
},
"@babel/runtime": {
"version": "7.13.10",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@babel/runtime/-/runtime-7.13.10.tgz",
"integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
"version": "7.16.3",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz",
"integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@babel/runtime-corejs3": {
"version": "7.13.10",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz",
"integrity": "sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg==",
"version": "7.16.3",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz",
"integrity": "sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ==",
"dev": true,
"requires": {
"core-js-pure": "^3.0.0",
"core-js-pure": "^3.19.0",
"regenerator-runtime": "^0.13.4"
}
},
"@jest/types": {
"version": "26.6.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@jest/types/-/types-26.6.2.tgz",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
"dev": true,
"requires": {
@@ -76,9 +76,9 @@
}
},
"@testing-library/dom": {
"version": "7.30.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@testing-library/dom/-/dom-7.30.3.tgz",
"integrity": "sha512-7JhIg2MW6WPwyikH2iL3o7z+FTVgSOd2jqCwTAHqK7Qal2gRRYiUQyURAxtbK9VXm/UTyG9bRihv8C5Tznr2zw==",
"version": "7.31.2",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.2.tgz",
"integrity": "sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
@@ -86,14 +86,14 @@
"@types/aria-query": "^4.2.0",
"aria-query": "^4.2.2",
"chalk": "^4.1.0",
"dom-accessibility-api": "^0.5.4",
"dom-accessibility-api": "^0.5.6",
"lz-string": "^1.4.4",
"pretty-format": "^26.6.2"
}
},
"@testing-library/vue": {
"version": "5.6.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@testing-library/vue/-/vue-5.6.2.tgz",
"resolved": "https://registry.npmjs.org/@testing-library/vue/-/vue-5.6.2.tgz",
"integrity": "sha512-GcbKYmID7NMcpQllMRw+op/oUFA6dp4zzaYOz7fsv+lNKC1G4RQCjkBWo9vYRQyt40imbFSNYb7JgEZnPYvrXg==",
"dev": true,
"requires": {
@@ -103,20 +103,20 @@
}
},
"@types/aria-query": {
"version": "4.2.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/aria-query/-/aria-query-4.2.1.tgz",
"integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz",
"integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==",
"dev": true
},
"@types/istanbul-lib-coverage": {
"version": "2.0.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
"integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
"dev": true
},
"@types/istanbul-lib-report": {
"version": "3.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
"dev": true,
"requires": {
@@ -124,39 +124,39 @@
}
},
"@types/istanbul-reports": {
"version": "3.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
"integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
"integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
"dev": true,
"requires": {
"@types/istanbul-lib-report": "*"
}
},
"@types/node": {
"version": "14.14.41",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/node/-/node-14.14.41.tgz",
"integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==",
"version": "16.11.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
"integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
"dev": true
},
"@types/yargs": {
"version": "15.0.13",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/yargs/-/yargs-15.0.13.tgz",
"integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==",
"version": "15.0.14",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
"integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
}
},
"@types/yargs-parser": {
"version": "20.2.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
"integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
"version": "20.2.1",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
"integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
"dev": true
},
"@vue/test-utils": {
"version": "1.1.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/@vue/test-utils/-/test-utils-1.1.4.tgz",
"integrity": "sha512-9BeL8IqGvJKy553lq/07rhYURQkpS/k+j19rJ/4eDpGJk7z872M0YrBWFhjS14yMKlvYVYOCfWnVIXyrAx0xNw==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.3.0.tgz",
"integrity": "sha512-Xk2Xiyj2k5dFb8eYUKkcN9PzqZSppTlx7LaQWBbdA8tqh3jHr/KHX2/YLhNFc/xwDrgeLybqd+4ZCPJSGPIqeA==",
"dev": true,
"requires": {
"dom-event-types": "^1.0.0",
@@ -166,19 +166,19 @@
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/abbrev/-/abbrev-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/ansi-styles/-/ansi-styles-3.2.1.tgz",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
@@ -187,7 +187,7 @@
},
"aria-query": {
"version": "4.2.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/aria-query/-/aria-query-4.2.2.tgz",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
"integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
"dev": true,
"requires": {
@@ -197,13 +197,13 @@
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/balanced-match/-/balanced-match-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/brace-expansion/-/brace-expansion-1.1.11.tgz",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
@@ -212,9 +212,9 @@
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -223,7 +223,7 @@
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/ansi-styles/-/ansi-styles-4.3.0.tgz",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
@@ -232,7 +232,7 @@
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-convert/-/color-convert-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
@@ -241,19 +241,19 @@
},
"color-name": {
"version": "1.1.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-name/-/color-name-1.1.4.tgz",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/has-flag/-/has-flag-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/supports-color/-/supports-color-7.2.0.tgz",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
@@ -264,7 +264,7 @@
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-convert/-/color-convert-1.9.3.tgz",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
@@ -273,25 +273,25 @@
},
"color-name": {
"version": "1.1.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-name/-/color-name-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"commander": {
"version": "2.20.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/commander/-/commander-2.20.3.tgz",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/concat-map/-/concat-map-0.0.1.tgz",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"condense-newlines": {
"version": "0.2.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/condense-newlines/-/condense-newlines-0.2.1.tgz",
"resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz",
"integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=",
"dev": true,
"requires": {
@@ -301,9 +301,9 @@
}
},
"config-chain": {
"version": "1.1.12",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/config-chain/-/config-chain-1.1.12.tgz",
"integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
"integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
"dev": true,
"requires": {
"ini": "^1.3.4",
@@ -311,32 +311,32 @@
}
},
"core-js-pure": {
"version": "3.10.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/core-js-pure/-/core-js-pure-3.10.1.tgz",
"integrity": "sha512-PeyJH2SE0KuxY5eCGNWA+W+CeDpB6M1PN3S7Am7jSv/Ttuxz2SnWbIiVQOn/TDaGaGtxo8CRWHkXwJscbUHtVw==",
"version": "3.19.1",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz",
"integrity": "sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==",
"dev": true
},
"de-indent": {
"version": "1.0.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/de-indent/-/de-indent-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
"dev": true
},
"dom-accessibility-api": {
"version": "0.5.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz",
"integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==",
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz",
"integrity": "sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g==",
"dev": true
},
"dom-event-types": {
"version": "1.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/dom-event-types/-/dom-event-types-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz",
"integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==",
"dev": true
},
"editorconfig": {
"version": "0.15.3",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/editorconfig/-/editorconfig-0.15.3.tgz",
"resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
"integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
"dev": true,
"requires": {
@@ -348,13 +348,13 @@
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/extend-shallow/-/extend-shallow-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
@@ -363,14 +363,14 @@
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/fs.realpath/-/fs.realpath-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"glob": {
"version": "7.1.6",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -383,19 +383,19 @@
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/has-flag/-/has-flag-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"he": {
"version": "1.2.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/he/-/he-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/inflight/-/inflight-1.0.6.tgz",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
@@ -405,56 +405,55 @@
},
"inherits": {
"version": "2.0.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/inherits/-/inherits-2.0.4.tgz",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"ini": {
"version": "1.3.8",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/ini/-/ini-1.3.8.tgz",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/is-buffer/-/is-buffer-1.1.6.tgz",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/is-extendable/-/is-extendable-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-whitespace": {
"version": "0.3.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/is-whitespace/-/is-whitespace-0.3.0.tgz",
"resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz",
"integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=",
"dev": true
},
"js-beautify": {
"version": "1.13.13",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/js-beautify/-/js-beautify-1.13.13.tgz",
"integrity": "sha512-oH+nc0U5mOAqX8M5JO1J0Pw/7Q35sAdOsM5W3i87pir9Ntx6P/5Gx1xLNoK+MGyvHk4rqqRCE4Oq58H6xl2W7A==",
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz",
"integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==",
"dev": true,
"requires": {
"config-chain": "^1.1.12",
"editorconfig": "^0.15.3",
"glob": "^7.1.3",
"mkdirp": "^1.0.4",
"nopt": "^5.0.0"
}
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/js-tokens/-/js-tokens-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/kind-of/-/kind-of-3.2.2.tgz",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
@@ -463,13 +462,13 @@
},
"lodash": {
"version": "4.17.21",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/lodash/-/lodash-4.17.21.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
},
"lru-cache": {
"version": "4.1.5",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/lru-cache/-/lru-cache-4.1.5.tgz",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dev": true,
"requires": {
@@ -479,28 +478,22 @@
},
"lz-string": {
"version": "1.4.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/lz-string/-/lz-string-1.4.4.tgz",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
"integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=",
"dev": true
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/minimatch/-/minimatch-3.0.4.tgz",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
"nopt": {
"version": "5.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/nopt/-/nopt-5.0.0.tgz",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
"dev": true,
"requires": {
@@ -509,7 +502,7 @@
},
"once": {
"version": "1.4.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/once/-/once-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
@@ -518,13 +511,13 @@
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"pretty": {
"version": "2.0.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/pretty/-/pretty-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
"integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=",
"dev": true,
"requires": {
@@ -535,7 +528,7 @@
},
"pretty-format": {
"version": "26.6.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/pretty-format/-/pretty-format-26.6.2.tgz",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
"integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
"dev": true,
"requires": {
@@ -547,7 +540,7 @@
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/ansi-styles/-/ansi-styles-4.3.0.tgz",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
@@ -556,7 +549,7 @@
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-convert/-/color-convert-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
@@ -565,7 +558,7 @@
},
"color-name": {
"version": "1.1.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/color-name/-/color-name-1.1.4.tgz",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
}
@@ -573,43 +566,43 @@
},
"proto-list": {
"version": "1.2.4",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/proto-list/-/proto-list-1.2.4.tgz",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
"integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/pseudomap/-/pseudomap-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"react-is": {
"version": "17.0.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/react-is/-/react-is-17.0.2.tgz",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
"regenerator-runtime": {
"version": "0.13.7",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
"version": "0.13.9",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
"dev": true
},
"semver": {
"version": "5.7.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/semver/-/semver-5.7.1.tgz",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/sigmund/-/sigmund-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/supports-color/-/supports-color-5.5.0.tgz",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
@@ -618,13 +611,13 @@
},
"vue": {
"version": "2.6.12",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/vue/-/vue-2.6.12.tgz",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
"integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==",
"dev": true
},
"vue-template-compiler": {
"version": "2.6.12",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
"integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==",
"dev": true,
"requires": {
@@ -634,13 +627,13 @@
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/wrappy/-/wrappy-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://nexus.wsmgroup.ru/repository/npm-wsm-stable-group/yallist/-/yallist-2.1.2.tgz",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
}
+11 -11
View File
@@ -17,10 +17,10 @@
"vue": "2.x"
},
"devDependencies": {
"@bbob/preset-vue": "^2.7.1",
"@testing-library/vue": "^5.6.2",
"@bbob/preset-vue": "2.7.1",
"@testing-library/vue": "5.6.2",
"vue": "2.6.12",
"vue-template-compiler": "^2.6.12"
"vue-template-compiler": "2.6.12"
},
"main": "lib/index.js",
"module": "es/index.js",
@@ -38,15 +38,15 @@
"url": "git://github.com/JiLiZART/bbob.git"
},
"scripts": {
"build:commonjs": "../../node_modules/.bin/cross-env BABEL_ENV=commonjs NODE_ENV=production ../../node_modules/.bin/babel src --out-dir lib",
"build:es": "../../node_modules/.bin/cross-env BABEL_ENV=es NODE_ENV=production ../../node_modules/.bin/babel src --out-dir es",
"build:umd": "../../node_modules/.bin/cross-env BABEL_ENV=rollup ../../node_modules/.bin/rollup --config ../../rollup.config.js",
"build:commonjs": "../../scripts/pkg-task build-commonjs",
"build:es": "../../scripts/pkg-task build-es",
"build:umd": "../../scripts/pkg-task build-umd",
"build": "npm run build:commonjs && npm run build:es && npm run build:umd",
"test": "../../node_modules/.bin/jest --",
"cover": "../../node_modules/.bin/jest --coverage",
"lint": "../../node_modules/.bin/eslint .",
"size": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/size-limit",
"bundlesize": "../../node_modules/.bin/cross-env NODE_ENV=production ../../node_modules/.bin/bundlesize"
"test": "../../scripts/pkg-task test",
"cover": "../../scripts/pkg-task cover",
"lint": "../../scripts/pkg-task lint",
"size": "../../scripts/pkg-task size",
"bundlesize": "../../scripts/pkg-task bundlesize"
},
"size-limit": [
{
+4
View File
@@ -1,3 +1,7 @@
/**
* @jest-environment jsdom
*/
import preset from '@bbob/preset-vue';
import { render, fireEvent } from '@testing-library/vue'
import Component from '../src/Component'
+38
View File
@@ -0,0 +1,38 @@
import { render } from "../src";
describe('@bbob/vue2 render', () => {
const createElement = (tagName, props, children) => {
return { tagName, props, children }
}
test('render simple b tag', () => {
const html = render(createElement, '[b]bolded text[/b]');
expect(html).toStrictEqual([
{
"children": ["bolded", " ", "text"],
"props": { "class": undefined, "domProps": {}, "key": 0, "style": undefined },
"tagName": "b"
}
])
})
test('render self closed b tag', () => {
const html = render(createElement, '[b][/b]');
expect(html).toStrictEqual([
{
"children": null,
"props": { "class": undefined, "domProps": {}, "key": 0, "style": undefined },
"tagName": "b"
}
])
})
test('render simple text nodes', () => {
const html = render(createElement, 'some example words');
expect(html).toStrictEqual([
"some", " ", "example", " ", "words"
])
})
})
+7 -8
View File
@@ -1,5 +1,4 @@
import resolve from '@rollup/plugin-node-resolve';
import babel from 'rollup-plugin-babel';
import replace from '@rollup/plugin-replace';
import commonjs from '@rollup/plugin-commonjs';
import { terser } from 'rollup-plugin-terser';
@@ -8,26 +7,26 @@ const pkg = require(`${process.cwd()}/package.json`);
const { NODE_ENV } = process.env;
const baseConfig = {
input: 'src/index.js',
external: ['react', 'vue'],
input: 'es/index.js',
external: ['react', 'vue', 'prop-types'],
output: {
file: pkg.browser,
format: 'umd',
name: pkg.browserName,
format: 'umd',
exports: 'named',
globals: {
react: 'React',
vue: 'Vue',
'prop-types': 'PropTypes',
},
},
plugins: [
resolve(),
babel({
exclude: '**/node_modules/**',
}),
commonjs(),
replace({
preventAssignment: true,
'process.env.NODE_ENV': JSON.stringify(NODE_ENV),
}),
commonjs(),
],
};
+11
View File
@@ -0,0 +1,11 @@
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"commander": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz",
"integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA=="
}
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"name": "scripts",
"main": "index.js",
"private": true,
"author": {
"name": "Nikolay Kostyurin <jilizart@gmail.com>",
"url": "https://artkost.ru/"
},
"dependencies": {
"commander": "8.2.0"
}
}
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env node
'use strict';
const { resolve } = require('path')
const { spawn } = require('child_process')
const { Command } = require('commander');
const pkg = require(resolve(__dirname, '../package.json'))
const program = new Command();
const nmBinDir = resolve(__dirname, '../node_modules/.bin/')
const shell = { cmd: 'sh', arg: '-c' }
const replaceTokens = str => String(str).replace(new RegExp('@\\/', 'gi'), `${nmBinDir}/`)
const actionCommand = (command) => () => {
const proc = spawn(shell.cmd, [shell.arg, replaceTokens(command)], {
env: process.env,
cwd: process.cwd(),
stdio: 'inherit',
})
proc.on('close', (code) => {
if (code !== 0) {
console.log(`command:"${command}" exited with code ${code}`);
}
process.exit(code)
});
}
program.version('1.0.0')
for (const [key, command] of Object.entries(pkg.pkgTasks)) {
program.command(key).action(actionCommand(command))
}
program.parse();