diff --git a/scripts/ensure-no-files-changed.js b/scripts/ensure-no-files-changed.js index 4ba39ccec..b9966b48b 100644 --- a/scripts/ensure-no-files-changed.js +++ b/scripts/ensure-no-files-changed.js @@ -4,7 +4,7 @@ import spawn from "nano-spawn"; async function getChangedFiles() { const { stdout } = await spawn("git", ["diff", "--name-only"]); - return stdout.split("\n"); + return stdout ? stdout.split("\n") : []; } async function ensureNoFilesChanged() { @@ -26,6 +26,8 @@ async function ensureNoFilesChanged() { } catch (error) { process.exitCode = error.exitCode; } + + process.exitCode ||= 1; } await ensureNoFilesChanged(); diff --git a/src/language-js/parse/acorn.js b/src/language-js/parse/acorn.js index 429e5e93c..2fe9794b8 100644 --- a/src/language-js/parse/acorn.js +++ b/src/language-js/parse/acorn.js @@ -7,13 +7,12 @@ import createParser from "./utilities/create-parser.js"; import { getSourceType, SOURCE_TYPE_COMBINATIONS, - SOURCE_TYPE_COMMONJS, SOURCE_TYPE_MODULE, - SOURCE_TYPE_SCRIPT, } from "./utilities/source-types.js"; /** -@import {Options} from "acorn"; +@import {Options} from "acorn" +@import {SOURCE_TYPE_COMMONJS} from "./utilities/source-types.js" */ /** @type {Options} */ @@ -70,9 +69,7 @@ function parseWithOptions(text, sourceType) { const ast = parser.parse(text, { ...parseOptions, - // https://github.com/acornjs/acorn/pull/1377 not released yet - sourceType: - sourceType === SOURCE_TYPE_COMMONJS ? SOURCE_TYPE_SCRIPT : sourceType, + sourceType, allowImportExportEverywhere: sourceType === SOURCE_TYPE_MODULE, onComment: comments, }); diff --git a/src/language-js/parse/utilities/source-types.js b/src/language-js/parse/utilities/source-types.js index f69467620..3d1cda81a 100644 --- a/src/language-js/parse/utilities/source-types.js +++ b/src/language-js/parse/utilities/source-types.js @@ -1,5 +1,4 @@ export const SOURCE_TYPE_MODULE = /** @type {const} */ ("module"); -export const SOURCE_TYPE_SCRIPT = /** @type {const} */ ("script"); export const SOURCE_TYPE_COMMONJS = /** @type {const} */ ("commonjs"); /** @type {readonly [SOURCE_TYPE_MODULE, SOURCE_TYPE_COMMONJS]} */ diff --git a/tests/format/js/new-target/__snapshots__/format.test.js.snap b/tests/format/js/new-target/__snapshots__/format.test.js.snap index 30995a0bb..92b75eb73 100644 --- a/tests/format/js/new-target/__snapshots__/format.test.js.snap +++ b/tests/format/js/new-target/__snapshots__/format.test.js.snap @@ -13,14 +13,6 @@ const x = new.target; ================================================================================ `; -exports[`outside-functions.js format[acorn] 1`] = ` -"'new.target' can only be used in functions and class static block (1:11) -> 1 | const x = new.target; - | ^ - 2 | -Cause: 'new.target' can only be used in functions and class static block (1:10)" -`; - exports[`outside-functions.js format[espree] 1`] = ` "'new.target' can only be used in functions and class static block (1:11) > 1 | const x = new.target; @@ -72,14 +64,6 @@ exports[`range.js format 1`] = ` : ================================================================================ `; -exports[`range.js format[acorn] 1`] = ` -"'new.target' can only be used in functions and class static block (2:1) - 1 | const x = -> 2 | new.target; - | ^ -Cause: 'new.target' can only be used in functions and class static block (2:0)" -`; - exports[`range.js format[espree] 1`] = ` "'new.target' can only be used in functions and class static block (2:1) 1 | const x = diff --git a/tests/format/js/new-target/format.test.js b/tests/format/js/new-target/format.test.js index d702699de..85224b552 100644 --- a/tests/format/js/new-target/format.test.js +++ b/tests/format/js/new-target/format.test.js @@ -1,6 +1,5 @@ runFormatTest(import.meta, ["babel", "flow", "typescript"], { errors: { - acorn: true, espree: true, flow: true, hermes: true,