@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 +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +22 -8
- package/package.json +2 -2
package/dist/cli.js
CHANGED
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
|
|
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 =
|
|
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:
|
|
4840
|
+
type: projectType
|
|
4827
4841
|
}), packageJson({
|
|
4828
4842
|
roblox: enableRoblox,
|
|
4829
|
-
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:
|
|
4858
|
+
type: projectType
|
|
4845
4859
|
}));
|
|
4846
|
-
if (
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
122
|
+
"@isentinel/eslint-config": "3.4.0"
|
|
123
123
|
},
|
|
124
124
|
"peerDependencies": {
|
|
125
125
|
"@eslint-react/eslint-plugin": "^1.45.0",
|