@minecraft/core-build-tasks 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import type { TaskFunction } from 'just-scripts';
1
+ import { TaskFunction } from 'just-scripts';
2
2
  export declare function coreLint(files: string[], fix?: boolean): TaskFunction;
@@ -6,19 +6,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  };
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.coreLint = void 0;
9
+ const child_process_1 = require("child_process");
9
10
  const fs_1 = require("fs");
10
11
  const just_scripts_1 = require("just-scripts");
11
12
  const path_1 = __importDefault(require("path"));
12
13
  const process_1 = __importDefault(require("process"));
14
+ const LEGACY_CONFIG_FILES = ['.eslintrc.js'];
15
+ const FLAT_CONFIG_FILES = ['eslint.config.js', 'eslint.config.mjs', 'eslint.config.cjs'];
16
+ const POSSIBLE_CONFIG_FILES = [...LEGACY_CONFIG_FILES, ...FLAT_CONFIG_FILES];
17
+ function getConfigFilePath() {
18
+ for (const file of POSSIBLE_CONFIG_FILES) {
19
+ const configPath = path_1.default.resolve(process_1.default.cwd(), file);
20
+ if ((0, fs_1.existsSync)(configPath)) {
21
+ return configPath;
22
+ }
23
+ }
24
+ return undefined;
25
+ }
26
+ function eslintTask(files, fix) {
27
+ return () => {
28
+ const configFilePath = getConfigFilePath();
29
+ if (configFilePath) {
30
+ // Setting ESLINT_USE_FLAT_CONFIG environment variable to indicate if the config file is flat or not.
31
+ // ESLint is not able to determine the type in all the cases, so we need to help it.
32
+ process_1.default.env['ESLINT_USE_FLAT_CONFIG'] = FLAT_CONFIG_FILES.some(file => configFilePath.endsWith(file))
33
+ ? 'true'
34
+ : 'false';
35
+ const cmd = ['eslint', ...files, '--config', configFilePath, ...(fix ? ['--fix'] : []), '--color'].join(' ');
36
+ just_scripts_1.logger.info(`Running command: ${cmd}`);
37
+ return (0, child_process_1.execSync)(cmd, { stdio: 'inherit' });
38
+ }
39
+ // no-op if the config file does not exist.
40
+ return Promise.resolve();
41
+ };
42
+ }
13
43
  function coreLint(files, fix) {
14
44
  (0, just_scripts_1.task)('verify-lint', () => {
15
- // If the process working directory does not have an `.eslintrc.js` file, fail the build
16
- const lintConfig = path_1.default.resolve(process_1.default.cwd(), '.eslintrc.js');
17
- if (!(0, fs_1.existsSync)(lintConfig)) {
18
- throw new Error(`.eslintrc.js not found at ${lintConfig}.`);
45
+ // If the process working directory does not have an eslint configuration file, fail the build:
46
+ // https://eslint.org/docs/latest/use/configure/configuration-files-new
47
+ if (!getConfigFilePath()) {
48
+ throw new Error(`ESLint config file not found at ${process_1.default.cwd()}. Possible values: [${POSSIBLE_CONFIG_FILES.join(', ')}]`);
19
49
  }
20
50
  });
21
- (0, just_scripts_1.task)('eslint', (0, just_scripts_1.eslintTask)({ files, fix }));
51
+ (0, just_scripts_1.task)('eslint', eslintTask(files, fix));
22
52
  (0, just_scripts_1.task)('prettier-fix', (0, just_scripts_1.prettierTask)({ files }));
23
53
  (0, just_scripts_1.task)('prettier-check', (0, just_scripts_1.prettierCheckTask)({ files }));
24
54
  return (0, just_scripts_1.series)('verify-lint', 'eslint', (0, just_scripts_1.condition)('prettier-check', () => !fix), (0, just_scripts_1.condition)('prettier-fix', () => !!fix));
@@ -1 +1 @@
1
- {"version":3,"file":"coreLint.js","sourceRoot":"","sources":["../../src/tasks/coreLint.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;AAElC,2BAAgC;AAEhC,+CAAoG;AACpG,gDAAwB;AACxB,sDAA8B;AAE9B,SAAgB,QAAQ,CAAC,KAAe,EAAE,GAAa;IACnD,IAAA,mBAAI,EAAC,aAAa,EAAE,GAAG,EAAE;QACrB,wFAAwF;QACxF,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,GAAG,CAAC,CAAC;SAC/D;IACL,CAAC,CAAC,CAAC;IACH,IAAA,mBAAI,EAAC,QAAQ,EAAE,IAAA,yBAAU,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAA,mBAAI,EAAC,cAAc,EAAE,IAAA,2BAAY,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAA,mBAAI,EAAC,gBAAgB,EAAE,IAAA,gCAAiB,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAErD,OAAO,IAAA,qBAAM,EACT,aAAa,EACb,QAAQ,EACR,IAAA,wBAAS,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACvC,IAAA,wBAAS,EAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACzC,CAAC;AACN,CAAC;AAlBD,4BAkBC"}
1
+ {"version":3,"file":"coreLint.js","sourceRoot":"","sources":["../../src/tasks/coreLint.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;AAElC,iDAAyC;AACzC,2BAAgC;AAChC,+CAA8G;AAC9G,gDAAwB;AACxB,sDAA8B;AAE9B,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,MAAM,iBAAiB,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AACzF,MAAM,qBAAqB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,iBAAiB,CAAC,CAAC;AAE7E,SAAS,iBAAiB;IACtB,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE;QACtC,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YACxB,OAAO,UAAU,CAAC;SACrB;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,GAAa;IAC9C,OAAO,GAAG,EAAE;QACR,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC3C,IAAI,cAAc,EAAE;YAChB,qGAAqG;YACrG,oFAAoF;YACpF,iBAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjG,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC;YACd,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CACnG,GAAG,CACN,CAAC;YACF,qBAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;YACvC,OAAO,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;SAC9C;QAED,2CAA2C;QAC3C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAe,EAAE,GAAa;IACnD,IAAA,mBAAI,EAAC,aAAa,EAAE,GAAG,EAAE;QACrB,+FAA+F;QAC/F,uEAAuE;QACvE,IAAI,CAAC,iBAAiB,EAAE,EAAE;YACtB,MAAM,IAAI,KAAK,CACX,mCAAmC,iBAAO,CAAC,GAAG,EAAE,uBAAuB,qBAAqB,CAAC,IAAI,CAC7F,IAAI,CACP,GAAG,CACP,CAAC;SACL;IACL,CAAC,CAAC,CAAC;IACH,IAAA,mBAAI,EAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,IAAA,mBAAI,EAAC,cAAc,EAAE,IAAA,2BAAY,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9C,IAAA,mBAAI,EAAC,gBAAgB,EAAE,IAAA,gCAAiB,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAErD,OAAO,IAAA,qBAAM,EACT,aAAa,EACb,QAAQ,EACR,IAAA,wBAAS,EAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACvC,IAAA,wBAAS,EAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACzC,CAAC;AACN,CAAC;AAtBD,4BAsBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minecraft/core-build-tasks",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Common build tasks used for minecraft-scripting-libraries",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -18,6 +18,7 @@
18
18
  "@microsoft/api-extractor": "^7.38.3",
19
19
  "esbuild": "^0.20.1",
20
20
  "dotenv": "^16.0.2",
21
+ "just-scripts": "^2.2.1",
21
22
  "prettier": "^2.8.2",
22
23
  "rimraf": "^3.0.2",
23
24
  "vitest": "^0.34.6",
@@ -27,7 +28,6 @@
27
28
  "devDependencies": {
28
29
  "@types/node": "^14.0.0 || ^16.0.0 || ^18.0.0",
29
30
  "@types/rimraf": "^3.0.2",
30
- "just-scripts": "^2.1.3",
31
31
  "ts-node": "^10.9.1",
32
32
  "tsconfig": "*",
33
33
  "typescript": "^5.2.2"