diff --git a/.changeset/happy-coins-count.md b/.changeset/happy-coins-count.md new file mode 100644 index 0000000..49be7ad --- /dev/null +++ b/.changeset/happy-coins-count.md @@ -0,0 +1,5 @@ +--- +"typescript-eslint-parser-for-extra-files": minor +--- + +feat: export meta object diff --git a/src/index.ts b/src/index.ts index 43d793d..c29d449 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,12 +3,12 @@ import type { ProgramOptions } from "./ts"; import { TSServiceManager } from "./ts"; import * as tsEslintParser from "@typescript-eslint/parser"; import { getProjectConfigFiles } from "./utils/get-project-config-files"; +export * as meta from "./meta"; +export { name } from "./meta"; const DEFAULT_EXTRA_FILE_EXTENSIONS = [".vue", ".svelte", ".astro"]; const tsServiceManager = new TSServiceManager(); -export const name = "typescript-eslint-parser-for-extra-files"; - export function parseForESLint( code: string, options: ParserOptions = {} diff --git a/src/meta.ts b/src/meta.ts new file mode 100644 index 0000000..96a0703 --- /dev/null +++ b/src/meta.ts @@ -0,0 +1 @@ +export { name, version } from "../package.json"; diff --git a/tests/src/meta.ts b/tests/src/meta.ts new file mode 100644 index 0000000..d479af7 --- /dev/null +++ b/tests/src/meta.ts @@ -0,0 +1,13 @@ +import assert from "assert"; +import * as parser from "../../src"; +import { version } from "../../package.json"; +const expectedMeta = { + name: "typescript-eslint-parser-for-extra-files", + version, +}; + +describe("Test for meta object", () => { + it("A parser should have a meta object.", () => { + assert.deepStrictEqual(parser.meta, expectedMeta); + }); +}); diff --git a/tsconfig.json b/tsconfig.json index 111792d..ee705be 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "esModuleInterop": true, + "resolveJsonModule": true, "skipLibCheck": true },