diff --git a/packages/eslint-scope/lib/index.js b/packages/eslint-scope/lib/index.js index 85f8b510..808a7e46 100644 --- a/packages/eslint-scope/lib/index.js +++ b/packages/eslint-scope/lib/index.js @@ -53,8 +53,6 @@ import Referencer from "./referencer.js"; import Reference from "./reference.js"; import Variable from "./variable.js"; -import eslintScopeVersion from "./version.js"; - /** * Set the default options * @returns {Object} options @@ -138,10 +136,10 @@ function analyze(tree, providedOptions) { return scopeManager; } -export { +/** @name module:escope.version */ +export const version = "9.0.0"; // x-release-please-version - /** @name module:escope.version */ - eslintScopeVersion as version, +export { /** @name module:escope.Reference */ Reference, diff --git a/packages/eslint-scope/lib/version.js b/packages/eslint-scope/lib/version.js deleted file mode 100644 index 9e460f71..00000000 --- a/packages/eslint-scope/lib/version.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @fileoverview Contains the current version number. This file is checked in - * to source control and should always return "main". During the release - * process, this file is overwritten with a new on that returns the actual - * version number. The file with the actual version number is *not* checked - * back into the repo. This is only necessary until Node.js supports import - * assertions, at which time we can just import package.json for this info. - * @author Nicholas C. Zakas - */ -const version = "main"; - -export default version; diff --git a/packages/eslint-scope/package.json b/packages/eslint-scope/package.json index 764de6f1..f8ddf6a4 100644 --- a/packages/eslint-scope/package.json +++ b/packages/eslint-scope/package.json @@ -30,8 +30,6 @@ "license": "BSD-2-Clause", "scripts": { "build": "rollup -c", - "build:update-version": "node tools/update-version.js", - "prepublishOnly": "npm run build:update-version && npm run build", "pretest": "npm run build", "test": "node Makefile.js test" }, diff --git a/packages/eslint-scope/tests/commonjs.test.cjs b/packages/eslint-scope/tests/commonjs.test.cjs index ccd4e4a2..2135e6eb 100644 --- a/packages/eslint-scope/tests/commonjs.test.cjs +++ b/packages/eslint-scope/tests/commonjs.test.cjs @@ -11,7 +11,7 @@ const assert = require("node:assert"); const eslintScope = require("../dist/eslint-scope.cjs"); - +const { version } = require("../package.json"); //------------------------------------------------------------------------------ // Tests @@ -22,9 +22,11 @@ describe("commonjs", () => { assert.strictEqual(typeof eslintScope, "object"); }); - it("has exports", () => { - assert.strictEqual(typeof eslintScope.version, "string"); + it("has version equal to the version in package.json", () => { + assert.strictEqual(eslintScope.version, version); + }); + it("has exports", () => { [ "analyze", "Definition", diff --git a/packages/eslint-scope/tests/version.test.js b/packages/eslint-scope/tests/version.test.js new file mode 100644 index 00000000..52410ea4 --- /dev/null +++ b/packages/eslint-scope/tests/version.test.js @@ -0,0 +1,24 @@ +/** + * @fileoverview Tests for version. + * @author Milos Djermanovic + */ + +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +import { expect } from "chai"; +import * as eslintScope from "../lib/index.js"; +import packageJson from "../package.json" with { type: "json" }; + +const { version } = packageJson; + +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + +describe("version", () => { + it("should be equal to the version in package.json", () => { + expect(eslintScope.version).to.be.equal(version); + }); +}); diff --git a/packages/eslint-scope/tools/update-version.js b/packages/eslint-scope/tools/update-version.js deleted file mode 100644 index f25f05e0..00000000 --- a/packages/eslint-scope/tools/update-version.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @fileoverview Script to update lib/version.js to the value in package.json - * @author Nicholas C. Zakas - */ - -import fs from "node:fs"; - -/* - * IMPORTANT: This must be run *before* Rollup so the built package will have - * the correct version number exported. - * - * This is necessary because ESM can't import JSON files directly and we want - * this value to be available in the browser as well as in Node.js. - */ - -const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")); - -fs.writeFileSync("lib/version.js", `const version = "${pkg.version}";\n\nexport default version;\n`); diff --git a/packages/espree/espree.js b/packages/espree/espree.js index 15e0ce52..1f33c4a4 100644 --- a/packages/espree/espree.js +++ b/packages/espree/espree.js @@ -59,7 +59,6 @@ import * as acorn from "acorn"; import jsx from "acorn-jsx"; import espree from "./lib/espree.js"; -import espreeVersion from "./lib/version.js"; import * as visitorKeys from "eslint-visitor-keys"; import { getLatestEcmaVersion, getSupportedEcmaVersions } from "./lib/options.js"; @@ -138,7 +137,7 @@ export function parse(code, options) { // Public //------------------------------------------------------------------------------ -export const version = espreeVersion; +export const version = "11.0.0"; // x-release-please-version export const name = "espree"; /* istanbul ignore next */ diff --git a/packages/espree/lib/version.js b/packages/espree/lib/version.js deleted file mode 100644 index 7176acb0..00000000 --- a/packages/espree/lib/version.js +++ /dev/null @@ -1,3 +0,0 @@ -const version = "main"; - -export default version; diff --git a/packages/espree/package.json b/packages/espree/package.json index cec64e59..5bbed446 100644 --- a/packages/espree/package.json +++ b/packages/espree/package.json @@ -59,8 +59,6 @@ "build": "rollup -c rollup.config.js", "build:debug": "npm run build -- -m", "build:docs": "node tools/sync-docs.js", - "build:update-version": "node tools/update-version.js", - "prepublishOnly": "npm run build:update-version && npm run build", "pretest": "npm run build", "test": "npm run test:cjs && npm run test:esm", "test:cjs": "mocha --color --reporter progress --timeout 30000 \"tests/**/*.test.cjs\"", diff --git a/packages/espree/tests/lib/commonjs.test.cjs b/packages/espree/tests/lib/commonjs.test.cjs index 42e6560a..8ecdade6 100644 --- a/packages/espree/tests/lib/commonjs.test.cjs +++ b/packages/espree/tests/lib/commonjs.test.cjs @@ -11,6 +11,7 @@ const assert = require("node:assert"); const espree = require("../../dist/espree.cjs"); +const { version } = require("../../package.json"); //------------------------------------------------------------------------------ @@ -56,8 +57,8 @@ describe("commonjs", () => { assert.strictEqual(typeof espree.tokenize, "function"); }); - it("has version", () => { - assert.strictEqual(typeof espree.version, "string"); + it("has version equal to the version in package.json", () => { + assert.strictEqual(espree.version, version); }); it("has Syntax", () => { diff --git a/packages/espree/tests/lib/version.test.js b/packages/espree/tests/lib/version.test.js new file mode 100644 index 00000000..70a2f9d3 --- /dev/null +++ b/packages/espree/tests/lib/version.test.js @@ -0,0 +1,24 @@ +/** + * @fileoverview Tests for version. + * @author Milos Djermanovic + */ + +//------------------------------------------------------------------------------ +// Requirements +//------------------------------------------------------------------------------ + +import * as espree from "../../espree.js"; +import assert from "node:assert"; +import packageJson from "../../package.json" with { type: "json" }; + +const { version } = packageJson; + +//------------------------------------------------------------------------------ +// Tests +//------------------------------------------------------------------------------ + +describe("version", () => { + it("should be equal to the version in package.json", () => { + assert.strictEqual(espree.version, version); + }); +}); diff --git a/packages/espree/tools/update-version.js b/packages/espree/tools/update-version.js deleted file mode 100644 index f25f05e0..00000000 --- a/packages/espree/tools/update-version.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @fileoverview Script to update lib/version.js to the value in package.json - * @author Nicholas C. Zakas - */ - -import fs from "node:fs"; - -/* - * IMPORTANT: This must be run *before* Rollup so the built package will have - * the correct version number exported. - * - * This is necessary because ESM can't import JSON files directly and we want - * this value to be available in the browser as well as in Node.js. - */ - -const pkg = JSON.parse(fs.readFileSync("./package.json", "utf8")); - -fs.writeFileSync("lib/version.js", `const version = "${pkg.version}";\n\nexport default version;\n`); diff --git a/release-please-config.json b/release-please-config.json index d21c0155..72080e20 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -4,10 +4,12 @@ "bump-minor-pre-major": true, "packages": { "packages/espree": { - "release-type": "node" + "release-type": "node", + "extra-files": ["espree.js"] }, "packages/eslint-scope": { - "release-type": "node" + "release-type": "node", + "extra-files": ["lib/index.js"] }, "packages/eslint-visitor-keys": { "release-type": "node"