Skip to content

Commit ad08fca

Browse files
renovate[bot]renovate-botota-meshi
authored
fix(deps): update dependency postcss-scss to v4 (#137)
* fix(deps): update dependency postcss-scss to v4 * fix Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: yosuke ota <otameshiyo23@gmail.com>
1 parent 13d9581 commit ad08fca

File tree

3 files changed

+81
-36
lines changed

3 files changed

+81
-36
lines changed

package-lock.json

Lines changed: 51 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"test:base": "mocha --require ts-node/register \"tests/**/*.ts\" --reporter dot --timeout 60000",
1414
"test": "npm run test:nyc",
1515
"test:nyc": "nyc --reporter=lcov npm run test:base",
16-
"test:debug": "mocha --require ts-node/register --inspect \"tests/**/*.ts\" --reporter dot",
16+
"test:debug": "mocha --require ts-node/register/transpile-only \"tests/**/*.ts\" --reporter dot",
1717
"test:watch": "npm run test:base -- --watch",
1818
"update": "ts-node ./tools/update.ts && npm run eslint-fix && npm run test:nyc",
1919
"new": "ts-node ./tools/new-rule.ts",
@@ -91,7 +91,7 @@
9191
"lodash": "^4.17.19",
9292
"postcss": "^8.2.4",
9393
"postcss-safe-parser": "^6.0.0",
94-
"postcss-scss": "^3.0.0",
94+
"postcss-scss": "^4.0.0",
9595
"postcss-selector-parser": "^6.0.2",
9696
"postcss-styl": "^0.9.0"
9797
},

tests/lib/styles/parser/index.ts

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@ import assert from "assert"
33
import fs from "fs"
44
import path from "path"
55

6-
// @ts-expect-error -- ignore
7-
import CSSStringifier from "postcss/lib/stringifier"
8-
// @ts-expect-error -- ignore
9-
import SCSSStringifier from "postcss-scss/lib/scss-stringifier"
10-
// @ts-expect-error -- ignore
11-
import StylusStringifier from "postcss-styl/lib/stringifier"
6+
import css from "postcss"
7+
import scss from "postcss-scss"
8+
import stylus from "postcss-styl"
129

1310
import { getStyleFixtureResults, writeFixture } from "../test-utils"
1411
import type {
@@ -17,30 +14,27 @@ import type {
1714
VCSSAtRule,
1815
} from "../../../../lib/styles/ast"
1916

20-
function stringify(node: any, stringifier: any) {
21-
let semicolon = true
22-
if (node.parent && node.parent.last === node) {
23-
semicolon = node.parent.raws.semicolon
24-
}
25-
const beforeText = node.raws.before && /[^\s/]$/u.exec(node.raws.before)
26-
if (beforeText) {
27-
stringifier.builder(beforeText[0])
28-
}
29-
stringifier.stringify(node, semicolon)
30-
}
17+
// function stringify(node: any, stringifier: any) {
18+
// let semicolon = true
19+
// if (node.parent && node.parent.last === node) {
20+
// semicolon = node.parent.raws.semicolon
21+
// }
22+
// const beforeText = node.raws.before && /[^\s/]$/u.exec(node.raws.before)
23+
// if (beforeText) {
24+
// stringifier.builder(beforeText[0])
25+
// }
26+
// stringifier.stringify(node, semicolon)
27+
// }
3128

3229
const STRINGIFYS = {
3330
scss(node: any, builder: any) {
34-
const stringifier = new SCSSStringifier(builder)
35-
stringify(node, stringifier)
31+
scss.stringify(node, builder)
3632
},
3733
css(node: any, builder: any) {
38-
const stringifier = new CSSStringifier(builder)
39-
stringify(node, stringifier)
34+
css.stringify(node, builder)
4035
},
4136
stylus(node: any, builder: any) {
42-
const stringifier = new StylusStringifier(builder)
43-
stringify(node, stringifier)
37+
stylus.stringify(node, builder)
4438
},
4539
}
4640

@@ -130,7 +124,7 @@ function checkCSSNodeLocations(
130124
lang: string,
131125
) {
132126
if (node.node) {
133-
let rangeText = `${node.type}:\n${code.slice(...node.range)}`
127+
let rangeText = code.slice(...node.range)
134128
let postcssText = (node.node as any).toString((STRINGIFYS as any)[lang])
135129
if (node.type === "VCSSSelector" || node.type === "VCSSClassSelector") {
136130
postcssText = postcssText.replace(
@@ -162,10 +156,19 @@ function checkCSSNodeLocations(
162156
postcssText = postcssText.trim()
163157
} else if (node.type === "VCSSStyleSheet") {
164158
// noop
159+
} else if (node.type === "VCSSDeclarationProperty") {
160+
rangeText = rangeText.replace(/^\*|\s*;\s*$/g, "")
161+
postcssText = postcssText.trim()
162+
} else if (node.type === "VCSSAtRule") {
163+
rangeText = rangeText.replace(/\s*;\s*$/g, "")
164+
postcssText = postcssText.trim()
165165
} else {
166166
postcssText = postcssText.trim()
167167
}
168-
assert.strictEqual(rangeText, `${node.type}:\n${postcssText}`)
168+
assert.strictEqual(
169+
`${node.type}:\n${rangeText}`,
170+
`${node.type}:\n${postcssText}`,
171+
)
169172
}
170173
if (node.type === "VCSSStyleSheet") {
171174
if (node.errors.length) {

0 commit comments

Comments
 (0)