Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "nextLint", { | |
| enumerable: true, | |
| get: function() { | |
| return nextLint; | |
| } | |
| }); | |
| const _fs = require("fs"); | |
| const _path = require("path"); | |
| const _config = /*#__PURE__*/ _interop_require_default(require("../server/config")); | |
| const _utils = require("../server/lib/utils"); | |
| const _storage = require("../telemetry/storage"); | |
| const _picocolors = require("../lib/picocolors"); | |
| const _constants = require("../lib/constants"); | |
| const _runLintCheck = require("../lib/eslint/runLintCheck"); | |
| const _compileerror = require("../lib/compile-error"); | |
| const _constants1 = require("../shared/lib/constants"); | |
| const _events = require("../telemetry/events"); | |
| const _getprojectdir = require("../lib/get-project-dir"); | |
| const _findpagesdir = require("../lib/find-pages-dir"); | |
| const _verifytypescriptsetup = require("../lib/verify-typescript-setup"); | |
| function _interop_require_default(obj) { | |
| return obj && obj.__esModule ? obj : { | |
| default: obj | |
| }; | |
| } | |
| const eslintOptions = (options, defaultCacheLocation)=>({ | |
| overrideConfigFile: options.config || null, | |
| extensions: options.ext ?? [], | |
| resolvePluginsRelativeTo: options.resolvePluginsRelativeTo || null, | |
| rulePaths: options.rulesdir ?? [], | |
| fix: options.fix ?? false, | |
| fixTypes: options.fixType ?? null, | |
| ignorePath: options.ignorePath || null, | |
| ignore: options.ignore, | |
| allowInlineConfig: options.inlineConfig, | |
| reportUnusedDisableDirectives: options.reportUnusedDisableDirectivesSeverity || null, | |
| cache: options.cache, | |
| cacheLocation: options.cacheLocation || defaultCacheLocation, | |
| cacheStrategy: options.cacheStrategy, | |
| errorOnUnmatchedPattern: options.errorOnUnmatchedPattern ?? false | |
| }); | |
| const nextLint = async (options, directory)=>{ | |
| var _nextConfig_eslint; | |
| // Show deprecation warning | |
| console.warn((0, _picocolors.yellow)('`next lint` is deprecated and will be removed in Next.js 16.\n') + 'For new projects, use ' + (0, _picocolors.bold)('create-next-app') + ' to choose your preferred linter.\n' + 'For existing projects, migrate to the ESLint CLI:\n' + (0, _picocolors.bold)('npx @next/codemod@canary next-lint-to-eslint-cli .') + '\n'); | |
| const baseDir = (0, _getprojectdir.getProjectDir)(directory); | |
| // Check if the provided directory exists | |
| if (!(0, _fs.existsSync)(baseDir)) { | |
| (0, _utils.printAndExit)(`> No such directory exists as the project root: ${baseDir}`); | |
| } | |
| const nextConfig = await (0, _config.default)(_constants1.PHASE_PRODUCTION_BUILD, baseDir); | |
| const files = options.file ?? []; | |
| const dirs = options.dir ?? ((_nextConfig_eslint = nextConfig.eslint) == null ? void 0 : _nextConfig_eslint.dirs); | |
| const filesToLint = [ | |
| ...dirs ?? [], | |
| ...files | |
| ]; | |
| const pathsToLint = (filesToLint.length ? filesToLint : _constants.ESLINT_DEFAULT_DIRS).reduce((res, d)=>{ | |
| const currDir = (0, _path.isAbsolute)(d) ? d : (0, _path.join)(baseDir, d); | |
| if (!(0, _fs.existsSync)(currDir)) { | |
| return res; | |
| } | |
| res.push(currDir); | |
| return res; | |
| }, []); | |
| const reportErrorsOnly = Boolean(options.quiet); | |
| const maxWarnings = options.maxWarnings; | |
| const formatter = options.format || null; | |
| const strict = Boolean(options.strict); | |
| const outputFile = options.outputFile || null; | |
| const distDir = (0, _path.join)(baseDir, nextConfig.distDir); | |
| const defaultCacheLocation = (0, _path.join)(distDir, 'cache', 'eslint/'); | |
| const { pagesDir, appDir } = (0, _findpagesdir.findPagesDir)(baseDir); | |
| await (0, _verifytypescriptsetup.verifyTypeScriptSetup)({ | |
| dir: baseDir, | |
| distDir: nextConfig.distDir, | |
| intentDirs: [ | |
| pagesDir, | |
| appDir | |
| ].filter(Boolean), | |
| typeCheckPreflight: false, | |
| tsconfigPath: nextConfig.typescript.tsconfigPath, | |
| disableStaticImages: nextConfig.images.disableStaticImages, | |
| hasAppDir: !!appDir, | |
| hasPagesDir: !!pagesDir | |
| }); | |
| (0, _runLintCheck.runLintCheck)(baseDir, pathsToLint, { | |
| lintDuringBuild: false, | |
| eslintOptions: eslintOptions(options, defaultCacheLocation), | |
| reportErrorsOnly, | |
| maxWarnings, | |
| formatter, | |
| outputFile, | |
| strict | |
| }).then(async (lintResults)=>{ | |
| const lintOutput = typeof lintResults === 'string' ? lintResults : lintResults == null ? void 0 : lintResults.output; | |
| if (typeof lintResults !== 'string' && (lintResults == null ? void 0 : lintResults.eventInfo)) { | |
| const telemetry = new _storage.Telemetry({ | |
| distDir | |
| }); | |
| telemetry.record((0, _events.eventLintCheckCompleted)({ | |
| ...lintResults.eventInfo, | |
| buildLint: false | |
| })); | |
| await telemetry.flush(); | |
| } | |
| if (typeof lintResults !== 'string' && (lintResults == null ? void 0 : lintResults.isError) && lintOutput) { | |
| throw Object.defineProperty(new _compileerror.CompileError(lintOutput), "__NEXT_ERROR_CODE", { | |
| value: "E394", | |
| enumerable: false, | |
| configurable: true | |
| }); | |
| } | |
| if (lintOutput) { | |
| (0, _utils.printAndExit)(lintOutput, 0); | |
| } else if (lintResults && !lintOutput) { | |
| (0, _utils.printAndExit)((0, _picocolors.green)('✔ No ESLint warnings or errors'), 0); | |
| } else { | |
| // this makes sure we exit 1 after the error from line 116 | |
| // in packages/next/src/lib/eslint/runLintCheck | |
| process.exit(1); | |
| } | |
| }).catch((err)=>{ | |
| (0, _utils.printAndExit)(err.message); | |
| }); | |
| }; | |
| //# sourceMappingURL=next-lint.js.map |