@isentinel/eslint-config 3.2.2 → 3.4.0

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.
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ import { execSync } from "node:child_process";
11
11
 
12
12
  //#region package.json
13
13
  var name = "@isentinel/eslint-config";
14
- var version = "3.2.2";
14
+ var version = "3.4.0";
15
15
  var description = "iSentinel's ESLint config";
16
16
  var keywords = [
17
17
  "eslint-config",
package/dist/index.d.ts CHANGED
@@ -15870,9 +15870,11 @@ interface OptionsProjectType {
15870
15870
  * Type of the project. `package` will enable more strict rules for
15871
15871
  * packages.
15872
15872
  *
15873
+ * `app` and `game` are treated the same.
15874
+ *
15873
15875
  * @default "game"
15874
15876
  */
15875
- type?: "game" | "package";
15877
+ type?: "app" | "game" | "package";
15876
15878
  }
15877
15879
  interface OptionsRoblox {
15878
15880
  /** Enable or disable Roblox-specific rules. */
@@ -16142,7 +16144,7 @@ declare const defaultPluginRenaming: {
16142
16144
  declare function isentinel(options?: OptionsConfig & TypedFlatConfigItem, ...userConfigs: Array<Awaitable<Array<Linter.Config> | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | TypedFlatConfigItem>>): Promise<FlatConfigComposer<TypedFlatConfigItem, ConfigNames>>;
16143
16145
  //#endregion
16144
16146
  //#region src/globs.d.ts
16145
- declare const GLOB_ROOT = "*.?([cm])[jt]s?(x)";
16147
+ declare const GLOB_ROOT: string[];
16146
16148
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
16147
16149
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
16148
16150
  declare const GLOB_LUA = "**/*.lua?(u)";
package/dist/index.js CHANGED
@@ -11,7 +11,15 @@ import { pathToFileURL } from "node:url";
11
11
  import { fixupPluginRules } from "@eslint/compat";
12
12
 
13
13
  //#region src/globs.ts
14
- const GLOB_ROOT = "*.?([cm])[jt]s?(x)";
14
+ const GLOB_ROOT = [
15
+ "*.?([cm])[jt]s?(x)",
16
+ "packages/*/*.?([cm])[jt]s?(x)",
17
+ "apps/*/*.?([cm])[jt]s?(x)",
18
+ "libs/*/*.?([cm])[jt]s?(x)",
19
+ "packages/*/*/*.?([cm])[jt]s?(x)",
20
+ "apps/*/*/*.?([cm])[jt]s?(x)",
21
+ "libs/*/*/*.?([cm])[jt]s?(x)"
22
+ ];
15
23
  const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
16
24
  const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
17
25
  const GLOB_LUA = "**/*.lua?(u)";
@@ -408,6 +416,7 @@ async function disables() {
408
416
  "import/no-duplicates": "off",
409
417
  "max-lines": "off",
410
418
  "no-restricted-syntax": "off",
419
+ "shopify/prefer-class-properties": "off",
411
420
  "sonar/no-duplicate-string": "off",
412
421
  "unused-imports/no-unused-vars": "off"
413
422
  }
@@ -4791,6 +4800,11 @@ async function isentinel(options = {}, ...userConfigs) {
4791
4800
  isInEditor = isInEditorEnvironment();
4792
4801
  if (isInEditor) console.log("[@isentinel/eslint-config] Detected running in editor, some rules are disabled.");
4793
4802
  }
4803
+ const projectType = (() => {
4804
+ if (options.type === "app") return "game";
4805
+ if (options.type !== void 0) return options.type;
4806
+ return enableRoblox ? "game" : "package";
4807
+ })();
4794
4808
  const stylisticOptions = (() => {
4795
4809
  if (options.stylistic === false) return false;
4796
4810
  if (typeof options.stylistic === "object") return options.stylistic;
@@ -4823,10 +4837,10 @@ async function isentinel(options = {}, ...userConfigs) {
4823
4837
  stylistic: stylisticOptions
4824
4838
  }), ignores(options.ignores), imports({
4825
4839
  stylistic: stylisticOptions,
4826
- type: options.type
4840
+ type: projectType
4827
4841
  }), packageJson({
4828
4842
  roblox: enableRoblox,
4829
- type: options.type
4843
+ type: projectType
4830
4844
  }), javascript({
4831
4845
  ...getOverrides(options, "javascript"),
4832
4846
  isInEditor,
@@ -4841,9 +4855,9 @@ async function isentinel(options = {}, ...userConfigs) {
4841
4855
  if (options.flawless === true) configs.push(flawless({ ...getOverrides(options, "flawless") }));
4842
4856
  if (enableJsdoc !== false) configs.push(jsdoc({
4843
4857
  stylistic: stylisticOptions,
4844
- type: options.type
4858
+ type: projectType
4845
4859
  }));
4846
- if (options.type === "package" && !enableRoblox) configs.push(node());
4860
+ if (projectType === "package" && !enableRoblox) configs.push(node());
4847
4861
  if (enableJsx) configs.push(jsx());
4848
4862
  if (enableEslintPlugin !== false) configs.push(eslintPlugin({ ...getOverrides(options, "eslintPlugin") }));
4849
4863
  if (enableRoblox) {
@@ -4857,7 +4871,7 @@ async function isentinel(options = {}, ...userConfigs) {
4857
4871
  }
4858
4872
  if (stylisticOptions !== false) configs.push(stylistic(stylisticOptions, prettierSettings), perfectionist({
4859
4873
  ...resolveSubOptions(options, "perfectionist"),
4860
- type: options.type
4874
+ type: projectType
4861
4875
  }));
4862
4876
  if (options.test !== void 0 && options.test !== false) {
4863
4877
  const testOptions = typeof options.test === "object" ? options.test : {};
@@ -4865,7 +4879,7 @@ async function isentinel(options = {}, ...userConfigs) {
4865
4879
  ...getOverrides(options, "test"),
4866
4880
  isInEditor,
4867
4881
  roblox: enableRoblox,
4868
- type: options.type,
4882
+ type: projectType,
4869
4883
  ...testOptions
4870
4884
  }));
4871
4885
  }
@@ -4896,7 +4910,7 @@ async function isentinel(options = {}, ...userConfigs) {
4896
4910
  if (options.markdown !== false) configs.push(markdown({
4897
4911
  ...getOverrides(options, "markdown"),
4898
4912
  componentExts: componentExtensions,
4899
- type: options.type
4913
+ type: projectType
4900
4914
  }));
4901
4915
  if (enableSpellCheck !== false) configs.push(spelling({
4902
4916
  ...resolveSubOptions(options, "spellCheck"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "3.2.2",
3
+ "version": "3.4.0",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -119,7 +119,7 @@
119
119
  "tsdown": "0.14.2",
120
120
  "type-fest": "4.41.0",
121
121
  "typescript": "5.9.2",
122
- "@isentinel/eslint-config": "3.2.2"
122
+ "@isentinel/eslint-config": "3.4.0"
123
123
  },
124
124
  "peerDependencies": {
125
125
  "@eslint-react/eslint-plugin": "^1.45.0",