diff --git a/package-lock.json b/package-lock.json index cc5bd88a6..03196c32e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1180,9 +1180,9 @@ "dev": true }, "estree-walker": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.8.1.tgz", - "integrity": "sha512-H6cJORkqvrNziu0KX2hqOMAlA2CiuAxHeGJXSIoKA/KLv229Dw806J3II6mKTm5xiDX1At1EXCfsOQPB+tMB+g==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.9.0.tgz", + "integrity": "sha512-12U47o7XHUX329+x3FzNVjCx3SHEzMF0nkDv7r/HnBzX/xNTKxajBk6gyygaxrAFtLj39219oMfbtxv4KpaOiA==", "dev": true }, "esutils": { diff --git a/package.json b/package.json index a061cdf74..6a82dc083 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "eslint": "^6.3.0", "eslint-plugin-import": "^2.18.2", "eslint-plugin-svelte3": "^2.7.3", - "estree-walker": "^0.8.1", + "estree-walker": "^0.9.0", "is-reference": "^1.1.4", "jsdom": "^15.1.1", "kleur": "^3.0.3", diff --git a/src/compiler/parse/read/style.ts b/src/compiler/parse/read/style.ts index 4a16475d6..00fa1d618 100644 --- a/src/compiler/parse/read/style.ts +++ b/src/compiler/parse/read/style.ts @@ -31,7 +31,7 @@ export default function read_style(parser: Parser, start: number, attributes: No // tidy up AST walk(ast, { - enter: (node: any) => { // `any` because this isn't an ESTree node + enter(node: any) { // `any` because this isn't an ESTree node // replace `ref:a` nodes if (node.type === 'Selector') { for (let i = 0; i < node.children.length; i += 1) { @@ -47,6 +47,10 @@ export default function read_style(parser: Parser, start: number, attributes: No } } + if (node.type === 'Declaration' && node.value.children.length === 0) { + this.remove(); + } + if (node.loc) { node.start = node.loc.start.offset; node.end = node.loc.end.offset; diff --git a/test/css/samples/empty-value/expected.css b/test/css/samples/empty-value/expected.css new file mode 100644 index 000000000..5bdbccf08 --- /dev/null +++ b/test/css/samples/empty-value/expected.css @@ -0,0 +1 @@ +.bar.svelte-xyz{color:blue} \ No newline at end of file diff --git a/test/css/samples/empty-value/input.svelte b/test/css/samples/empty-value/input.svelte new file mode 100644 index 000000000..1262b8e08 --- /dev/null +++ b/test/css/samples/empty-value/input.svelte @@ -0,0 +1,11 @@ +
+ + \ No newline at end of file