@useinsider/eslint-config 1.4.1 → 1.5.0-beta.2
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/main.cjs +2 -4
- package/dist/main.js +31 -41
- package/dist/utils/ensureDependencies.d.ts +1 -1
- package/package.json +2 -1
package/dist/main.cjs
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("node:fs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("node:fs"),m=require("node:path"),w=require("node:url"),h=require("@antfu/install-pkg"),y=require("ts-deepmerge"),b=require("node:console");var l=typeof document<"u"?document.currentScript:null;let u=!1;const d=new Set;function f(e){const n=m.resolve(e,"package.json"),r=g.readFileSync(n,"utf8");if(!r)throw new Error(`Unable to locate package.json: ${n}`);return JSON.parse(r)}function v(){const e=f(process.cwd());return{...e.dependencies,...e.devDependencies}}function R(){return f(w.fileURLToPath(new URL("../",typeof document>"u"?require("url").pathToFileURL(__filename).href:l&&l.src||new URL("main.cjs",document.baseURI).href))).dependencies}async function S(){if(u)return;const e=v(),r=Object.entries(R()).filter(([t,o])=>!d.has(t)&&(!e[t]||e[t]!==o));if(!r.length)return;const s=r.map(([t,o])=>`${t}@${o.replace(/^\W+/,"")}`);console.info("Missing dependencies detected:"),console.info(s.map(t=>` - ${t}`).join(`
|
|
2
2
|
`)),console.info(`
|
|
3
|
-
|
|
4
|
-
${S()} ${s.join(" ")}
|
|
5
|
-
`),process.exit(1)}function q(e){if(typeof e=="boolean"){d=!0;return}e.forEach(n=>p.add(String(n)))}function l(...e){return h.merge.withOptions({mergeArrays:!1},...e)}const m=new Set;function k(e){e.forEach(n=>{m.add(n)})}function P(e){if(!Array.isArray(e))return"warn";const[,...n]=e;return["warn",...n]}function a(e,n){let r=n||m;return Array.isArray(r)&&(r=new Set(r)),!e||!r.size?e:(n&&r.forEach(s=>{e[s]||b.warn(`Unknown rule "${s}". Please remove it from the silenced rules list.`)}),Object.entries(e).reduce((s,[t,o])=>(o&&(s[t]=r.has(t)?P(o):o),s),{}))}function j(...e){return e.flat().reduce((n,r)=>l(n,r),{})}const u={async config(){return Promise.resolve().then(()=>require("./index-CAuGyIr4.cjs"))},async javascript(){return Promise.resolve().then(()=>require("./index-DI_UoSW4.cjs"))},async"javascript-node"(){return Promise.resolve().then(()=>require("./index-COJ71EEW.cjs"))},async"javascript-dom"(){return Promise.resolve().then(()=>require("./index-B45cvr6O.cjs"))},async typescript(){return Promise.resolve().then(()=>require("./index-CCngt07f.cjs"))},async"typescript-node"(){return Promise.resolve().then(()=>require("./index-CZG4LLz1.cjs"))},async"typescript-dom"(){return Promise.resolve().then(()=>require("./index-ZUN0xFSs.cjs"))},async vue3(){return Promise.resolve().then(()=>require("./index-BPS1S4-r.cjs"))},async"vue3-typescript"(){return Promise.resolve().then(()=>require("./index-Brj-OnR2.cjs"))},async vue2(){return Promise.resolve().then(()=>require("./index-DLjVlGbl.cjs"))}};async function D(e){x();const n=e.preset.map(async t=>typeof u[t]=="function"&&(await u[t]()).default).filter(Boolean),r=await Promise.all(n),s=l(r.reduce((t,o)=>l(t,o),{}),e.config);return s?(e.silenceRules?s.rules=a(s.rules,e.silenceRules):s.rules=a(s.rules),s):Promise.reject(new Error("No config found"))}exports.merge=l;exports.mergeAll=j;exports.silenceDependencyWarning=q;exports.silenceRules=k;exports.useInsider=D;
|
|
3
|
+
Installing dependencies:`),await h.installPackage(s,{dev:!0,additionalArgs:["-E"]}),process.exit(1)}function k(e){if(typeof e=="boolean"){u=!0;return}e.forEach(n=>d.add(String(n)))}function i(...e){return y.merge.withOptions({mergeArrays:!1},...e)}const p=new Set;function q(e){e.forEach(n=>{p.add(n)})}function x(e){if(!Array.isArray(e))return"warn";const[,...n]=e;return["warn",...n]}function c(e,n){let r=n||p;return Array.isArray(r)&&(r=new Set(r)),!e||!r.size?e:(n&&r.forEach(s=>{e[s]||b.warn(`Unknown rule "${s}". Please remove it from the silenced rules list.`)}),Object.entries(e).reduce((s,[t,o])=>(o&&(s[t]=r.has(t)?x(o):o),s),{}))}function P(...e){return e.flat().reduce((n,r)=>i(n,r),{})}const a={async config(){return Promise.resolve().then(()=>require("./index-CAuGyIr4.cjs"))},async javascript(){return Promise.resolve().then(()=>require("./index-DI_UoSW4.cjs"))},async"javascript-node"(){return Promise.resolve().then(()=>require("./index-COJ71EEW.cjs"))},async"javascript-dom"(){return Promise.resolve().then(()=>require("./index-B45cvr6O.cjs"))},async typescript(){return Promise.resolve().then(()=>require("./index-CCngt07f.cjs"))},async"typescript-node"(){return Promise.resolve().then(()=>require("./index-CZG4LLz1.cjs"))},async"typescript-dom"(){return Promise.resolve().then(()=>require("./index-ZUN0xFSs.cjs"))},async vue3(){return Promise.resolve().then(()=>require("./index-BPS1S4-r.cjs"))},async"vue3-typescript"(){return Promise.resolve().then(()=>require("./index-Brj-OnR2.cjs"))},async vue2(){return Promise.resolve().then(()=>require("./index-DLjVlGbl.cjs"))}};async function j(e){await S();const n=e.preset.map(async t=>typeof a[t]=="function"&&(await a[t]()).default).filter(Boolean),r=await Promise.all(n),s=i(r.reduce((t,o)=>i(t,o),{}),e.config);return s?(e.silenceRules?s.rules=c(s.rules,e.silenceRules):s.rules=c(s.rules),s):Promise.reject(new Error("No config found"))}exports.merge=i;exports.mergeAll=P;exports.silenceDependencyWarning=k;exports.silenceRules=q;exports.useInsider=j;
|
package/dist/main.js
CHANGED
|
@@ -1,58 +1,48 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { fileURLToPath as
|
|
1
|
+
import g from "node:fs";
|
|
2
|
+
import y from "node:path";
|
|
3
|
+
import { fileURLToPath as h } from "node:url";
|
|
4
|
+
import { installPackage as b } from "@antfu/install-pkg";
|
|
4
5
|
import { merge as v } from "ts-deepmerge";
|
|
5
6
|
import { warn as S } from "node:console";
|
|
6
|
-
let
|
|
7
|
-
const
|
|
8
|
-
function
|
|
9
|
-
const t =
|
|
7
|
+
let d = !1;
|
|
8
|
+
const f = /* @__PURE__ */ new Set();
|
|
9
|
+
function m(e) {
|
|
10
|
+
const t = y.resolve(e, "package.json"), r = g.readFileSync(t, "utf8");
|
|
10
11
|
if (!r)
|
|
11
12
|
throw new Error(`Unable to locate package.json: ${t}`);
|
|
12
13
|
return JSON.parse(r);
|
|
13
14
|
}
|
|
14
|
-
function
|
|
15
|
-
const e =
|
|
15
|
+
function k() {
|
|
16
|
+
const e = m(process.cwd());
|
|
16
17
|
return {
|
|
17
18
|
...e.dependencies,
|
|
18
19
|
...e.devDependencies
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
-
return
|
|
22
|
+
function j() {
|
|
23
|
+
return m(h(new URL(
|
|
23
24
|
/* @vite-ignore */
|
|
24
25
|
"../",
|
|
25
26
|
import.meta.url
|
|
26
27
|
))).dependencies;
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
pnpm: "pnpm add -E -D",
|
|
31
|
-
npm: "npm i -E -D"
|
|
32
|
-
};
|
|
33
|
-
function E() {
|
|
34
|
-
const e = (process.env.npm_config_user_agent || "").replace(/\W.*/, "");
|
|
35
|
-
return p[e] || p.npm;
|
|
36
|
-
}
|
|
37
|
-
function D() {
|
|
38
|
-
if (f)
|
|
29
|
+
async function E() {
|
|
30
|
+
if (d)
|
|
39
31
|
return;
|
|
40
|
-
const e =
|
|
32
|
+
const e = k(), r = Object.entries(j()).filter(([s, o]) => !f.has(s) && (!e[s] || e[s] !== o));
|
|
41
33
|
if (!r.length)
|
|
42
34
|
return;
|
|
43
|
-
const n = r.map(([
|
|
44
|
-
console.info("Missing dependencies detected:"), console.info(n.map((
|
|
35
|
+
const n = r.map(([s, o]) => `${s}@${o.replace(/^\W+/, "")}`);
|
|
36
|
+
console.info("Missing dependencies detected:"), console.info(n.map((s) => ` - ${s}`).join(`
|
|
45
37
|
`)), console.info(`
|
|
46
|
-
|
|
47
|
-
${E()} ${n.join(" ")}
|
|
48
|
-
`), process.exit(1);
|
|
38
|
+
Installing dependencies:`), await b(n, { dev: !0, additionalArgs: ["-E"] }), process.exit(1);
|
|
49
39
|
}
|
|
50
40
|
function O(e) {
|
|
51
41
|
if (typeof e == "boolean") {
|
|
52
|
-
|
|
42
|
+
d = !0;
|
|
53
43
|
return;
|
|
54
44
|
}
|
|
55
|
-
e.forEach((t) =>
|
|
45
|
+
e.forEach((t) => f.add(String(t)));
|
|
56
46
|
}
|
|
57
47
|
function u(...e) {
|
|
58
48
|
return v.withOptions({ mergeArrays: !1 }, ...e);
|
|
@@ -63,7 +53,7 @@ function c(e) {
|
|
|
63
53
|
l.add(t);
|
|
64
54
|
});
|
|
65
55
|
}
|
|
66
|
-
function
|
|
56
|
+
function D(e) {
|
|
67
57
|
if (!Array.isArray(e))
|
|
68
58
|
return "warn";
|
|
69
59
|
const [, ...t] = e;
|
|
@@ -73,13 +63,13 @@ function a(e, t) {
|
|
|
73
63
|
let r = t || l;
|
|
74
64
|
return Array.isArray(r) && (r = new Set(r)), !e || !r.size ? e : (t && r.forEach((n) => {
|
|
75
65
|
e[n] || S(`Unknown rule "${n}". Please remove it from the silenced rules list.`);
|
|
76
|
-
}), Object.entries(e).reduce((n, [
|
|
66
|
+
}), Object.entries(e).reduce((n, [s, o]) => (o && (n[s] = r.has(s) ? D(o) : o), n), {}));
|
|
77
67
|
}
|
|
78
68
|
if (import.meta.vitest) {
|
|
79
|
-
const { vi: e, describe: t, test: r, expect: n, afterEach:
|
|
69
|
+
const { vi: e, describe: t, test: r, expect: n, afterEach: s } = import.meta.vitest, o = e.hoisted(() => ({
|
|
80
70
|
warn: e.fn()
|
|
81
71
|
}));
|
|
82
|
-
e.mock("node:console", () =>
|
|
72
|
+
e.mock("node:console", () => o), s(() => {
|
|
83
73
|
l.clear();
|
|
84
74
|
}), t("silenceRules", () => {
|
|
85
75
|
r("should register given rule keys as silenced", () => {
|
|
@@ -124,13 +114,13 @@ if (import.meta.vitest) {
|
|
|
124
114
|
"no-console": "error",
|
|
125
115
|
"no-debugger": "warn",
|
|
126
116
|
"no-alert": "error"
|
|
127
|
-
}), n(
|
|
117
|
+
}), n(o.warn).not.toHaveBeenCalled(), n(o.warn).not.toHaveBeenCalled();
|
|
128
118
|
}), r("should warn about unknown rules", () => {
|
|
129
119
|
a({
|
|
130
120
|
"no-console": "error",
|
|
131
121
|
"no-debugger": "warn",
|
|
132
122
|
"no-alert": "error"
|
|
133
|
-
}, ["no-console", "no-bitwise"]), n(
|
|
123
|
+
}, ["no-console", "no-bitwise"]), n(o.warn).toHaveBeenCalledTimes(1), n(o.warn).toHaveBeenCalledWith('Unknown rule "no-bitwise". Please remove it from the silenced rules list.');
|
|
134
124
|
}), r.each([
|
|
135
125
|
[["@typescript-eslint/no-unsafe-call"], "warn"],
|
|
136
126
|
[/* @__PURE__ */ new Set(["@typescript-eslint/no-unsafe-call"]), "warn"],
|
|
@@ -148,10 +138,10 @@ if (import.meta.vitest) {
|
|
|
148
138
|
});
|
|
149
139
|
});
|
|
150
140
|
}
|
|
151
|
-
function
|
|
141
|
+
function $(...e) {
|
|
152
142
|
return e.flat().reduce((t, r) => u(t, r), {});
|
|
153
143
|
}
|
|
154
|
-
const
|
|
144
|
+
const p = {
|
|
155
145
|
async config() {
|
|
156
146
|
return import("./index-CixUmpPQ.js");
|
|
157
147
|
},
|
|
@@ -184,13 +174,13 @@ const d = {
|
|
|
184
174
|
}
|
|
185
175
|
};
|
|
186
176
|
async function U(e) {
|
|
187
|
-
|
|
188
|
-
const t = e.preset.map(async (
|
|
177
|
+
await E();
|
|
178
|
+
const t = e.preset.map(async (s) => typeof p[s] == "function" && (await p[s]()).default).filter(Boolean), r = await Promise.all(t), n = u(r.reduce((s, o) => u(s, o), {}), e.config);
|
|
189
179
|
return n ? (e.silenceRules ? n.rules = a(n.rules, e.silenceRules) : n.rules = a(n.rules), n) : Promise.reject(new Error("No config found"));
|
|
190
180
|
}
|
|
191
181
|
export {
|
|
192
182
|
u as merge,
|
|
193
|
-
|
|
183
|
+
$ as mergeAll,
|
|
194
184
|
O as silenceDependencyWarning,
|
|
195
185
|
c as silenceRules,
|
|
196
186
|
U as useInsider
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0-beta.2",
|
|
5
5
|
"description": "A collection of ESLint configurations provided by @useinsider, offering support for various environments including Vanilla JS, TypeScript, and framework-specific setups such as Vue 3.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"useinsider",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"typescript-eslint": "8.14.0"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
+
"@antfu/install-pkg": "1.0.0",
|
|
92
93
|
"@rollup/plugin-typescript": "11.1.6",
|
|
93
94
|
"@semantic-release/changelog": "6.0.3",
|
|
94
95
|
"@semantic-release/git": "10.0.1",
|