diff --git a/cspell.json b/cspell.json index b88278a5c..a33d89adf 100644 --- a/cspell.json +++ b/cspell.json @@ -117,7 +117,6 @@ "htmlhint", "hugomrdias", "hwba", - "iarna", "icchiman", "ICSS", "ikatyang", @@ -250,6 +249,7 @@ "Simen", "skratchdot", "Skyscanner", + "smol", "softline", "softlines", "Sorin", @@ -283,9 +283,9 @@ "Transloadit", "trippable", "tsep", + "TSES", "tshirt", "tshirts", - "TSES", "TSJS", "typecasted", "typecheck", diff --git a/package.json b/package.json index 7451f52e3..5c152a7bb 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,6 @@ "@babel/parser": "7.24.8", "@babel/types": "7.24.8", "@glimmer/syntax": "0.92.0", - "@iarna/toml": "2.2.5", "@prettier/is-es5-identifier-name": "0.2.0", "@prettier/parse-srcset": "3.1.0", "@typescript-eslint/typescript-estree": "8.0.0-alpha.41", @@ -94,6 +93,7 @@ "remark-math": "3.0.1", "remark-parse": "8.0.3", "sdbm": "2.0.0", + "smol-toml": "1.3.0", "strip-ansi": "7.1.0", "to-fast-properties": "4.0.0", "typescript": "5.5.4", diff --git a/scripts/build/config.js b/scripts/build/config.js index 336d20eef..d966cb684 100644 --- a/scripts/build/config.js +++ b/scripts/build/config.js @@ -582,11 +582,6 @@ const nodejsFiles = [ { input: "src/index.js", replaceModule: [ - { - module: require.resolve("@iarna/toml/lib/toml-parser.js"), - find: "const utilInspect = eval(\"require('util').inspect\")", - replacement: "const utilInspect = require('util').inspect", - }, // `editorconfig` use a older version of `semver` and only uses `semver.gte` { module: require.resolve("editorconfig"), diff --git a/src/config/prettier-config/loaders.js b/src/config/prettier-config/loaders.js index 876113c5c..0a2d95a81 100644 --- a/src/config/prettier-config/loaders.js +++ b/src/config/prettier-config/loaders.js @@ -1,9 +1,9 @@ import { pathToFileURL } from "node:url"; -import parseToml from "@iarna/toml/parse-async.js"; import { load as parseYaml } from "js-yaml"; import json5 from "json5"; import parseJson from "parse-json"; +import { parse as parseToml } from "smol-toml"; import readFile from "../../utils/read-file.js"; @@ -46,7 +46,7 @@ const loaders = { async ".toml"(file) { const content = await readFile(file); try { - return await parseToml(content); + return parseToml(content); } catch (/** @type {any} */ error) { error.message = `TOML Error in ${file}:\n${error.message}`; throw error; diff --git a/tests/integration/__tests__/config-invalid.js b/tests/integration/__tests__/config-invalid.js index 0d93deae5..8d7aa2f6f 100644 --- a/tests/integration/__tests__/config-invalid.js +++ b/tests/integration/__tests__/config-invalid.js @@ -126,17 +126,16 @@ describe("Invalid toml file", () => { stdout: "", write: [], stderr: expect.stringContaining( - /* cSpell:disable */ outdent` - Unexpected character, expecting string, number, datetime, boolean, inline array or inline table at row 1, col 4, pos 3: - 1> a= + Invalid TOML document: incomplete key-value declaration: no value specified + + 1: a= ^ - 2: b!= + 2: b!= ` .split("\n") .map((line) => `[error] ${line}`) .join("\n"), - /* cSpell:enable */ ), }); }); diff --git a/yarn.lock b/yarn.lock index 2b15cae6f..5ed152556 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1260,13 +1260,6 @@ __metadata: languageName: node linkType: hard -"@iarna/toml@npm:2.2.5": - version: 2.2.5 - resolution: "@iarna/toml@npm:2.2.5" - checksum: 10/b61426dc1a3297bbcb24cb8e9c638663866b4bb6f28f2c377b167e4b1f8956d8d208c484b73bb59f4232249903545cc073364c43576d2d5ad66afbd730ad24a9 - languageName: node - linkType: hard - "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -7335,7 +7328,6 @@ __metadata: "@eslint/js": "npm:9.7.0" "@glimmer/reference": "npm:0.92.0" "@glimmer/syntax": "npm:0.92.0" - "@iarna/toml": "npm:2.2.5" "@prettier/is-es5-identifier-name": "npm:0.2.0" "@prettier/parse-srcset": "npm:3.1.0" "@stylistic/eslint-plugin-js": "npm:2.3.0" @@ -7435,6 +7427,7 @@ __metadata: sdbm: "npm:2.0.0" semver: "npm:7.6.2" serialize-javascript: "npm:6.0.2" + smol-toml: "npm:1.3.0" snapshot-diff: "npm:0.10.0" strip-ansi: "npm:7.1.0" tempy: "npm:3.1.0" @@ -8065,6 +8058,13 @@ __metadata: languageName: node linkType: hard +"smol-toml@npm:1.3.0": + version: 1.3.0 + resolution: "smol-toml@npm:1.3.0" + checksum: 10/dc3e49a9202abca4a60c352ff48c8088a0c48886924b81a0fbab8c66d4575aaa1867f4eac783acea00dcfa34047ccd22634040d2282f9ccb05dc73511c1b0e4e + languageName: node + linkType: hard + "snapshot-diff@npm:0.10.0": version: 0.10.0 resolution: "snapshot-diff@npm:0.10.0"