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

fix: bug with lost closing tag (#186)

* fix: closing tag bug

* chore: add changeset thin-crabs-wonder.md

* chore: remove debug code

* chore: add more tests
This commit is contained in:
Nikolay Kost
2023-08-28 15:26:27 +03:00
committed by GitHub
parent 867c1b0710
commit 603c3ead0f
10 changed files with 185 additions and 694 deletions
+14
View File
@@ -0,0 +1,14 @@
---
"fix: lost closing tag in the middle #184": patch
---
Fixes bug where nested tag `quote` lost
```
[color=red]test[/color]
[quote]xxxsdfasdf
sdfasdfasdf
[url=xxx]xxx[/url]
```
Now content not will be lost, but not closed tag will displayed as raw text
-129
View File
@@ -8,8 +8,6 @@
"name": "vue2-example",
"version": "2.8.0",
"dependencies": {
"@bbob/preset-vue": "*",
"@bbob/vue2": "*",
"core-js": "3.26.1",
"vue": "2.7.14"
},
@@ -1670,71 +1668,6 @@
"node": ">=6.9.0"
}
},
"node_modules/@bbob/core": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/core/-/core-2.8.0.tgz",
"integrity": "sha512-gL/qAJt+PGheGnv2dZus8SNAhLjLpDEDUwietocZiAXSK9xmOch+NDVcL0/3CbvbP2Ffg1l4uV83voDfnZeYlA==",
"dependencies": {
"@bbob/parser": "^2.8.0"
}
},
"node_modules/@bbob/html": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/html/-/html-2.8.0.tgz",
"integrity": "sha512-vUGhMKlDKCxDelkeXJXO1TpLGxSOLLOokrsSPoRg+3sUxE+2mM/2oLtsdrOZFw8UiRTORfFjf1g897ZjcQU5EA==",
"dependencies": {
"@bbob/core": "^2.8.0",
"@bbob/plugin-helper": "^2.8.0"
}
},
"node_modules/@bbob/parser": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/parser/-/parser-2.8.0.tgz",
"integrity": "sha512-S6mB7WmfQMcllginLf2KIen12Aswd93hJkxRr2FllDjT+5FGs0cCpDXPm9jVGOJl3TWlZOnj9Vnpvfj0ZejhXQ==",
"dependencies": {
"@bbob/plugin-helper": "^2.8.0"
}
},
"node_modules/@bbob/plugin-helper": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/plugin-helper/-/plugin-helper-2.8.0.tgz",
"integrity": "sha512-uwl7KbHZ3J+APPUAAEHHS6AoyU6iB4wgZo6U+M+99NSykt/TE8APfU1cMs1EzGsOGkPci8In8VwwZZgnXg3qeg=="
},
"node_modules/@bbob/preset": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset/-/preset-2.8.0.tgz",
"integrity": "sha512-ynF8D3+VMTP6Ec3vw2sywgfnoiUEEZ1fFNyS1cRQ+/cg5YVW6TP3gQHnJHhxPax8udF3GikGMpURQKwHaS20QQ=="
},
"node_modules/@bbob/preset-html5": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset-html5/-/preset-html5-2.8.0.tgz",
"integrity": "sha512-Rhb9D4qdL+D/AXRRqGapyTh3mYgyNMbfDHo7XclRyYNDx07aiLG8NFreEragYN/INPk6MI4ohEuBSpOEZxy3dw==",
"dependencies": {
"@bbob/plugin-helper": "^2.8.0",
"@bbob/preset": "^2.8.0"
}
},
"node_modules/@bbob/preset-vue": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset-vue/-/preset-vue-2.8.0.tgz",
"integrity": "sha512-uFs77PIQz1BUJGlc7JWc7ys1tgd4iRPIb2qP/x2vbihslyS6c3geMrQWkBqYVj4P9kVSBqlLZ7w+w+yO7zxL/A==",
"dependencies": {
"@bbob/preset-html5": "^2.8.0"
}
},
"node_modules/@bbob/vue2": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/vue2/-/vue2-2.8.0.tgz",
"integrity": "sha512-bBj5PjddWeQa4Z58WprLZUZWE0M3VOWXiW8ikCGs/uRJ55dvGswDDbbKcSj3a9oHu//2R/bNZZ5BMv2U3DdTDA==",
"dependencies": {
"@bbob/core": "^2.8.0",
"@bbob/html": "^2.8.0",
"@bbob/plugin-helper": "^2.8.0"
},
"peerDependencies": {
"vue": "2.x"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
@@ -11451,68 +11384,6 @@
"to-fast-properties": "^2.0.0"
}
},
"@bbob/core": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/core/-/core-2.8.0.tgz",
"integrity": "sha512-gL/qAJt+PGheGnv2dZus8SNAhLjLpDEDUwietocZiAXSK9xmOch+NDVcL0/3CbvbP2Ffg1l4uV83voDfnZeYlA==",
"requires": {
"@bbob/parser": "^2.8.0"
}
},
"@bbob/html": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/html/-/html-2.8.0.tgz",
"integrity": "sha512-vUGhMKlDKCxDelkeXJXO1TpLGxSOLLOokrsSPoRg+3sUxE+2mM/2oLtsdrOZFw8UiRTORfFjf1g897ZjcQU5EA==",
"requires": {
"@bbob/core": "^2.8.0",
"@bbob/plugin-helper": "^2.8.0"
}
},
"@bbob/parser": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/parser/-/parser-2.8.0.tgz",
"integrity": "sha512-S6mB7WmfQMcllginLf2KIen12Aswd93hJkxRr2FllDjT+5FGs0cCpDXPm9jVGOJl3TWlZOnj9Vnpvfj0ZejhXQ==",
"requires": {
"@bbob/plugin-helper": "^2.8.0"
}
},
"@bbob/plugin-helper": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/plugin-helper/-/plugin-helper-2.8.0.tgz",
"integrity": "sha512-uwl7KbHZ3J+APPUAAEHHS6AoyU6iB4wgZo6U+M+99NSykt/TE8APfU1cMs1EzGsOGkPci8In8VwwZZgnXg3qeg=="
},
"@bbob/preset": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset/-/preset-2.8.0.tgz",
"integrity": "sha512-ynF8D3+VMTP6Ec3vw2sywgfnoiUEEZ1fFNyS1cRQ+/cg5YVW6TP3gQHnJHhxPax8udF3GikGMpURQKwHaS20QQ=="
},
"@bbob/preset-html5": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset-html5/-/preset-html5-2.8.0.tgz",
"integrity": "sha512-Rhb9D4qdL+D/AXRRqGapyTh3mYgyNMbfDHo7XclRyYNDx07aiLG8NFreEragYN/INPk6MI4ohEuBSpOEZxy3dw==",
"requires": {
"@bbob/plugin-helper": "^2.8.0",
"@bbob/preset": "^2.8.0"
}
},
"@bbob/preset-vue": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/preset-vue/-/preset-vue-2.8.0.tgz",
"integrity": "sha512-uFs77PIQz1BUJGlc7JWc7ys1tgd4iRPIb2qP/x2vbihslyS6c3geMrQWkBqYVj4P9kVSBqlLZ7w+w+yO7zxL/A==",
"requires": {
"@bbob/preset-html5": "^2.8.0"
}
},
"@bbob/vue2": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/@bbob/vue2/-/vue2-2.8.0.tgz",
"integrity": "sha512-bBj5PjddWeQa4Z58WprLZUZWE0M3VOWXiW8ikCGs/uRJ55dvGswDDbbKcSj3a9oHu//2R/bNZZ5BMv2U3DdTDA==",
"requires": {
"@bbob/core": "^2.8.0",
"@bbob/html": "^2.8.0",
"@bbob/plugin-helper": "^2.8.0"
}
},
"@jridgewell/gen-mapping": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "bbob",
"name": "BBob",
"lockfileVersion": 2,
"requires": true,
"packages": {
+21 -131
View File
@@ -1,16 +1,14 @@
{
"name": "@bbob/cli",
"version": "2.9.0",
"version": "3.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@bbob/cli",
"version": "2.9.0",
"version": "3.0.0",
"license": "MIT",
"dependencies": {
"@bbob/html": "^2.9.0",
"@bbob/preset-html5": "^2.9.0",
"commander": "^2.15.1"
},
"bin": {
@@ -19,171 +17,63 @@
},
"../bbob-core": {
"name": "@bbob/core",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/parser": "^2.8.2"
"@bbob/parser": "^3.0.0"
}
},
"../bbob-core/node_modules/@bbob/parser": {
"resolved": "../bbob-parser",
"link": true
},
"../bbob-html": {
"name": "@bbob/html",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
"@bbob/core": "^3.0.0",
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-html/node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"../bbob-html/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-parser": {
"name": "@bbob/parser",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-parser/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-plugin-helper": {
"name": "@bbob/plugin-helper",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset": {
"name": "@bbob/preset",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset-html5": {
"name": "@bbob/preset-html5",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0",
"@bbob/preset": "^3.0.0"
},
"devDependencies": {
"@bbob/html": "^2.8.2"
"@bbob/html": "^3.0.0"
}
},
"../bbob-preset-html5/node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/preset": {
"resolved": "../bbob-preset",
"link": true
},
"node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"node_modules/@bbob/preset-html5": {
"resolved": "../bbob-preset-html5",
"link": true
},
"node_modules/commander": {
"version": "2.17.1",
"license": "MIT"
}
},
"dependencies": {
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/preset-html5": {
"version": "file:../bbob-preset-html5",
"requires": {
"@bbob/html": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
},
"dependencies": {
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
},
"@bbob/preset": {
"version": "file:../bbob-preset"
}
}
},
"commander": {
"version": "2.17.1"
}
+41 -17
View File
@@ -6,15 +6,15 @@ import { createList } from './utils';
/**
* @public
* @param {String} input
* @param {string} input
* @param {Object} opts
* @param {Function} opts.createTokenizer
* @param {Array<string>} opts.onlyAllowTags
* @param {Array<string>} opts.contextFreeTags
* @param {Boolean} opts.enableEscapeTags
* @param {String} opts.openTag
* @param {String} opts.closeTag
* @return {Array}
* @param {string} opts.openTag
* @param {string} opts.closeTag
* @return {Array<string|TagNode>}
*/
const parse = (input, opts = {}) => {
const options = opts;
@@ -50,12 +50,12 @@ const parse = (input, opts = {}) => {
/**
* Cache for nested tags checks
* @type Set<string>
*/
const nestedTagsMap = new Set();
/**
*
* @param token
* @param {Token} token
* @returns {boolean}
*/
const isTokenNested = (token) => {
@@ -71,14 +71,15 @@ const parse = (input, opts = {}) => {
};
/**
* @param tagName
* @private
* @param {string} tagName
* @returns {boolean}
*/
const isTagNested = (tagName) => Boolean(nestedTagsMap.has(tagName));
/**
* @private
* @param {String} value
* @param {string} value
* @return {boolean}
*/
const isAllowedTag = (value) => {
@@ -114,6 +115,29 @@ const parse = (input, opts = {}) => {
return nodes.toArray();
};
/**
* @private
* @param {string|TagNode} node
* @param {boolean} isNested
*/
const appendNodeAsString = (node, isNested = true) => {
const items = getNodes();
if (Array.isArray(items)) {
items.push(node.toTagStart({ openTag, closeTag }));
if (node.content.length) {
node.content.forEach((item) => {
items.push(item);
});
if (isNested) {
items.push(node.toTagEnd({ openTag, closeTag }));
}
}
}
};
/**
* @private
* @param {string|TagNode} node
@@ -126,15 +150,7 @@ const parse = (input, opts = {}) => {
if (isAllowedTag(node.tag)) {
items.push(node.toTagNode());
} else {
items.push(node.toTagStart({ openTag, closeTag }));
if (node.content.length) {
node.content.forEach((item) => {
items.push(item);
});
items.push(node.toTagEnd({ openTag, closeTag }));
}
appendNodeAsString(node);
}
} else {
items.push(node);
@@ -269,6 +285,14 @@ const parse = (input, opts = {}) => {
// eslint-disable-next-line no-unused-vars
const tokens = tokenizer.tokenize();
// handles situations where we open tag, but forgot close them
// for ex [q]test[/q][u]some[/u][q]some [u]some[/u] // forgot to close [/q]
// so we need to flush nested content to nodes array
const lastNestedNode = nestedNodes.flushLast();
if (lastNestedNode && isTagNested(lastNestedNode.tag)) {
appendNodeAsString(lastNestedNode, false);
}
return nodes.toArray();
};
+56
View File
@@ -361,6 +361,62 @@ describe('Parser', () => {
]);
});
test('parse with lost closing tag in middle', () => {
const str = `[quote]some[/quote][color=red]test[/color]
[quote]xxxsdfasdf
sdfasdfasdf
[url=xxx]xxx[/url]`
expectOutput(
parse(str),
[
{ tag: 'quote', attrs: {}, content: ['some'] },
{ tag: 'color', attrs: { red: 'red' }, content: ['test'] },
'\n',
'[quote]',
'xxxsdfasdf',
'\n',
'sdfasdfasdf',
'\n',
'\n',
{ tag: 'url', attrs: { xxx: 'xxx' }, content: ['xxx'] }
]
)
})
test('parse with lost closing tag on start', () => {
const str = `[quote]xxxsdfasdf[quote]some[/quote][color=red]test[/color]sdfasdfasdf[url=xxx]xxx[/url]`
expectOutput(
parse(str),
[
'[quote]',
'xxxsdfasdf',
{ tag: 'quote', attrs: {}, content: ['some'] },
{ tag: 'color', attrs: { red: 'red' }, content: ['test'] },
'sdfasdfasdf',
{ tag: 'url', attrs: { xxx: 'xxx' }, content: ['xxx'] }
]
)
})
test('parse with lost closing tag on end', () => {
const str = `[quote]some[/quote][color=red]test[/color]sdfasdfasdf[url=xxx]xxx[/url][quote]xxxsdfasdf`
expectOutput(
parse(str),
[
{ tag: 'quote', attrs: {}, content: ['some'] },
{ tag: 'color', attrs: { red: 'red' }, content: ['test'] },
'sdfasdfasdf',
{ tag: 'url', attrs: { xxx: 'xxx' }, content: ['xxx'] },
'[quote]',
'xxxsdfasdf',
]
)
})
describe('html', () => {
const parseHTML = input => parse(input, { openTag: '<', closeTag: '>' });
+25 -207
View File
@@ -1,20 +1,14 @@
{
"name": "@bbob/react",
"version": "2.9.0",
"version": "3.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@bbob/react",
"version": "2.9.0",
"version": "3.0.0",
"license": "MIT",
"dependencies": {
"@bbob/core": "^2.9.0",
"@bbob/html": "^2.9.0",
"@bbob/plugin-helper": "^2.9.0"
},
"devDependencies": {
"@bbob/preset-react": "^2.9.0",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "13.x",
"react": "18.x",
@@ -27,101 +21,69 @@
},
"../bbob-core": {
"name": "@bbob/core",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/parser": "^2.8.2"
"@bbob/parser": "^3.0.0"
}
},
"../bbob-core/node_modules/@bbob/parser": {
"resolved": "../bbob-parser",
"link": true
},
"../bbob-html": {
"name": "@bbob/html",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
"@bbob/core": "^3.0.0",
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-html/node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"../bbob-html/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-parser": {
"name": "@bbob/parser",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-parser/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-plugin-helper": {
"name": "@bbob/plugin-helper",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset": {
"name": "@bbob/preset",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset-html5": {
"name": "@bbob/preset-html5",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0",
"@bbob/preset": "^3.0.0"
},
"devDependencies": {
"@bbob/html": "^2.8.2"
"@bbob/html": "^3.0.0"
}
},
"../bbob-preset-html5/node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/preset": {
"resolved": "../bbob-preset",
"link": true
},
"../bbob-preset-react": {
"name": "@bbob/preset-react",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/preset-html5": "^2.8.2"
"@bbob/preset-html5": "^3.0.0"
},
"devDependencies": {
"@bbob/core": "^2.8.2"
"@bbob/core": "^3.0.0"
}
},
"../bbob-preset-react/node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"../bbob-preset-react/node_modules/@bbob/preset-html5": {
"resolved": "../bbob-preset-html5",
"link": true
},
"node_modules/@babel/code-frame": {
"version": "7.16.7",
"dev": true,
@@ -221,22 +183,6 @@
"node": ">=6.9.0"
}
},
"node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"node_modules/@bbob/preset-react": {
"resolved": "../bbob-preset-react",
"link": true
},
"node_modules/@testing-library/dom": {
"version": "8.13.0",
"dev": true,
@@ -776,134 +722,6 @@
"regenerator-runtime": "^0.13.4"
}
},
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
},
"@bbob/preset-react": {
"version": "file:../bbob-preset-react",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/preset-html5": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/preset-html5": {
"version": "file:../bbob-preset-html5",
"requires": {
"@bbob/html": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
},
"dependencies": {
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
},
"@bbob/preset": {
"version": "file:../bbob-preset"
}
}
}
}
},
"@testing-library/dom": {
"version": "8.13.0",
"dev": true,
+25 -207
View File
@@ -1,20 +1,14 @@
{
"name": "@bbob/vue2",
"version": "2.9.0",
"version": "3.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@bbob/vue2",
"version": "2.9.0",
"version": "3.0.0",
"license": "MIT",
"dependencies": {
"@bbob/core": "^2.9.0",
"@bbob/html": "^2.9.0",
"@bbob/plugin-helper": "^2.9.0"
},
"devDependencies": {
"@bbob/preset-vue": "^2.9.0",
"@testing-library/vue": "5.8.3",
"vue": "2.7.14",
"vue-template-compiler": "2.7.14"
@@ -25,101 +19,69 @@
},
"../bbob-core": {
"name": "@bbob/core",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/parser": "^2.8.2"
"@bbob/parser": "^3.0.0"
}
},
"../bbob-core/node_modules/@bbob/parser": {
"resolved": "../bbob-parser",
"link": true
},
"../bbob-html": {
"name": "@bbob/html",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
"@bbob/core": "^3.0.0",
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-html/node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"../bbob-html/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-parser": {
"name": "@bbob/parser",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0"
}
},
"../bbob-parser/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-plugin-helper": {
"name": "@bbob/plugin-helper",
"version": "2.8.2",
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset": {
"name": "@bbob/preset",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT"
},
"../bbob-preset-html5": {
"name": "@bbob/preset-html5",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
"@bbob/plugin-helper": "^3.0.0",
"@bbob/preset": "^3.0.0"
},
"devDependencies": {
"@bbob/html": "^2.8.2"
"@bbob/html": "^3.0.0"
}
},
"../bbob-preset-html5/node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"../bbob-preset-html5/node_modules/@bbob/preset": {
"resolved": "../bbob-preset",
"link": true
},
"../bbob-preset-vue": {
"name": "@bbob/preset-vue",
"version": "2.8.2",
"dev": true,
"version": "3.0.0",
"extraneous": true,
"license": "MIT",
"dependencies": {
"@bbob/preset-html5": "^2.8.2"
"@bbob/preset-html5": "^3.0.0"
},
"devDependencies": {
"@bbob/core": "^2.8.2"
"@bbob/core": "^3.0.0"
}
},
"../bbob-preset-vue/node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"../bbob-preset-vue/node_modules/@bbob/preset-html5": {
"resolved": "../bbob-preset-html5",
"link": true
},
"node_modules/@babel/code-frame": {
"version": "7.16.0",
"dev": true,
@@ -199,22 +161,6 @@
"node": ">=6.9.0"
}
},
"node_modules/@bbob/core": {
"resolved": "../bbob-core",
"link": true
},
"node_modules/@bbob/html": {
"resolved": "../bbob-html",
"link": true
},
"node_modules/@bbob/plugin-helper": {
"resolved": "../bbob-plugin-helper",
"link": true
},
"node_modules/@bbob/preset-vue": {
"resolved": "../bbob-preset-vue",
"link": true
},
"node_modules/@jest/types": {
"version": "26.6.2",
"dev": true,
@@ -968,134 +914,6 @@
"regenerator-runtime": "^0.13.4"
}
},
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
},
"@bbob/preset-vue": {
"version": "file:../bbob-preset-vue",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/preset-html5": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/preset-html5": {
"version": "file:../bbob-preset-html5",
"requires": {
"@bbob/html": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2",
"@bbob/preset": "^2.8.2"
},
"dependencies": {
"@bbob/html": {
"version": "file:../bbob-html",
"requires": {
"@bbob/core": "^2.8.2",
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/core": {
"version": "file:../bbob-core",
"requires": {
"@bbob/parser": "^2.8.2"
},
"dependencies": {
"@bbob/parser": {
"version": "file:../bbob-parser",
"requires": {
"@bbob/plugin-helper": "^2.8.2"
},
"dependencies": {
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
}
}
},
"@bbob/plugin-helper": {
"version": "file:../bbob-plugin-helper"
},
"@bbob/preset": {
"version": "file:../bbob-preset"
}
}
}
}
},
"@jest/types": {
"version": "26.6.2",
"dev": true,
+1 -1
View File
@@ -25,7 +25,7 @@
"module": "es/index.js",
"jsnext:main": "es/index.js",
"browser": "dist/index.js",
"browserName": "BbobVue",
"browserName": "BbobVue3",
"homepage": "https://github.com/JiLiZART/bbob",
"author": "Nikolay Kostyurin <jilizart@gmail.com>",
"license": "MIT",
+1 -1
View File
@@ -13,7 +13,7 @@ const pkg = require(`${process.cwd()}/package.json`);
const { NODE_ENV } = process.env;
const baseConfig = {
input: 'es/index.js',
input: pkg.module,
external: ['react', 'vue', 'prop-types'],
output: {
file: pkg.browser,