diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index d6579219..00000000 --- a/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules -dist -templates -spec -.eslintrc.json -lib -bin \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs index ca7f1bac..66a14d80 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -2,38 +2,33 @@ import typescriptEslint from "@typescript-eslint/eslint-plugin"; import globals from "globals"; import tsParser from "@typescript-eslint/parser"; -export default [ +export default [ { + files: ["*.ts", "*tsx"], ignores: [ - "**/node_modules", - "**/dist", - "**/templates", - "**/spec", - "**/.eslintrc.json", - "**/lib", - "**/bin", + "node_modules/", + "dist/", + "templates/", + "spec/*/**", + "**/lib/", + "bin/", + "eslint.config.mjs", ], - }, - { plugins: { "@typescript-eslint": typescriptEslint, }, - languageOptions: { globals: { ...globals.node, }, - parser: tsParser, ecmaVersion: 2023, sourceType: "module", - parserOptions: { project: "tsconfig.json", tsconfigRootDir: ".", }, }, - rules: { "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "error", diff --git a/package.json b/package.json index 4db36f9f..4698c958 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "test": "npm run build && npm run clean-tests && npm run lint && npm run jasmine", "jasmine": "node spec/jasmine-runner.js", "jasmine-inspect": "node --inspect spec/jasmine-runner.js", - "lint": "npx eslint . --ext .ts,.tsx", + "lint": "npx eslint .", "clean-tests": "node spec/clean-tests.js", "debug-tests": "npm run clean-tests && npm run lint && npm run jasmine-inspect" }, diff --git a/spec/e2e/pbivizPackageSpec.js b/spec/e2e/pbivizPackageSpec.js index ed8a1e1e..1b024c12 100644 --- a/spec/e2e/pbivizPackageSpec.js +++ b/spec/e2e/pbivizPackageSpec.js @@ -1,4 +1,4 @@ -/* eslint-disable no-useless-escape */ + /* * Power BI Visual CLI * diff --git a/spec/e2e/pbivizWebpackVerSpec.js b/spec/e2e/pbivizWebpackVerSpec.js index 9eb606e9..992229f2 100644 --- a/spec/e2e/pbivizWebpackVerSpec.js +++ b/spec/e2e/pbivizWebpackVerSpec.js @@ -92,9 +92,9 @@ describe("E2E - webpack tools", () => { const packageJson = fs.readJsonSync(path.join(visualPath, 'package.json')); expect(packageJson.dependencies["powerbi-visuals-api"]).toBeDefined(); expect(semver.major(pbivizJson.apiVersion)) - .toBe(semver.major(packageJson.dependencies["powerbi-visuals-api"].replace(/\^|\~/, ""))); // eslint-disable-line no-useless-escape + .toBe(semver.major(packageJson.dependencies["powerbi-visuals-api"].replace(/\^|\~/, ""))); expect(semver.minor(pbivizJson.apiVersion)) - .toBe(semver.minor(packageJson.dependencies["powerbi-visuals-api"].replace(/\^|\~/, ""))); // eslint-disable-line no-useless-escape + .toBe(semver.minor(packageJson.dependencies["powerbi-visuals-api"].replace(/\^|\~/, ""))); }); it("Should skip powerbi-visual-api installation with flag --skip-api", () => { diff --git a/spec/helpers/FileSystem.js b/spec/helpers/FileSystem.js index 12e7d099..61ce5c28 100644 --- a/spec/helpers/FileSystem.js +++ b/spec/helpers/FileSystem.js @@ -115,7 +115,7 @@ export default class FileSystem { * @param {boolean} [verbose = false] - enables verbose output */ static runPbiviz(command, args, flags, verbose) { - let opts = verbose ? undefined : { stdio: [] }; // eslint-disable-line no-undefined + let opts = verbose ? undefined : { stdio: [] }; flags = flags ? ' ' + flags : ''; args = args ? ' ' + args : ''; diff --git a/src/VisualGenerator.ts b/src/VisualGenerator.ts index d3347af8..b5c6540a 100644 --- a/src/VisualGenerator.ts +++ b/src/VisualGenerator.ts @@ -209,7 +209,7 @@ export default class VisualGenerator { */ static checkVisualName(name) { const regexES3ReservedWord = /^(?:do|if|in|for|int|new|try|var|byte|case|char|else|enum|goto|long|null|this|true|void|with|break|catch|class|const|false|final|float|short|super|throw|while|delete|double|export|import|native|public|return|static|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/; - const regexNumber = /^(?![+-])([0-9\+\-\.]+)/; // eslint-disable-line no-useless-escape + const regexNumber = /^(?![+-])([0-9\+\-\.]+)/; const regexZeroWidth = /\u200c|\u200d/; const regexpWrongSymbols = /^[a-zA-Z0-9]+$/; const valueAsUnescapedString = name.replace(/\\u([a-fA-F0-9]{4})|\\u\{([0-9a-fA-F]{1,})\}/g, ($0, $1, $2) => {