@eslint-sukka/shared 4.1.10-beta.1 → 4.1.10

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("path"),s=require("fs");const a="?([cm])[jt]s?(x)",t="**/*.json",p="**/*.jsonc",m="**/*.json5",o=[`**/__tests__/**/*.${a}`,`**/*.spec.${a}`,`**/*.test.${a}`];var c=Object.freeze({__proto__:null,GLOB_ALL_JSON:[t,p,m],GLOB_EXCLUDE:["**/node_modules","**/dist","**/output","**/out","**/coverage","**/temp","**/tmp","**/.vitepress/cache","**/.next","**/.nuxt","**/.vercel","**/.changeset","**/.idea","**/.output","**/.vite-inspect","**/*.md","**/*.min.*","**/__snapshots__","**/fixtures","**/auto-import?(s).d.ts","**/components.d.ts"],GLOB_JS:"**/*.?([cm])js",GLOB_JSON:t,GLOB_JSON5:m,GLOB_JSONC:p,GLOB_JSX:"**/*.?([cm])jsx",GLOB_SRC:"**/*.?([cm])[jt]s?(x)",GLOB_SRC_EXT:a,GLOB_TESTS:o,GLOB_TS:"**/*.?([cm])ts",GLOB_TSX:"**/*.?([cm])tsx"});const n=new class{get(e){let s=this.map.get(e),a=Date.now();if(s){if(s.expire>a)return s.expire=a+2e4,s.value;this.map.delete(e)}return null}set(e,s){let a=this.map.get(e),t=Date.now()+2e4;a?(a.value=s,a.expire=t):this.map.set(e,{value:s,expire:t})}constructor(){var e;e=new Map,"map"in this?Object.defineProperty(this,"map",{value:e,enumerable:!0,configurable:!0,writable:!0}):this.map=e}},r=Object.entries({"deep-equal":"https://www.npmjs.com/package/dequal","fast-deep-equal":"https://www.npmjs.com/package/dequal",chalk:"https://www.npmjs.com/package/picocolors",kleur:"https://www.npmjs.com/package/picocolors","mime-db":"https://www.npmjs.com/package/mrmime","mime-types":"https://www.npmjs.com/package/mrmime","tiny-lru":"https://www.npmjs.com/package/flru","lru-cache":"https://www.npmjs.com/package/flru","tmp-cache":"https://www.npmjs.com/package/flru",premove:"Node.js built-in fs.rmdir & fs.rm API",mkdirp:"Node.js built-in fs.mkdir API","make-dir":"Node.js built-in fs.mkdir API","mk-dirs":"Node.js built-in fs.mkdir API",axios:"https://www.npmjs.com/package/ky","node-fetch":"https://www.npmjs.com/package/undici",got:"https://www.npmjs.com/package/undici and https://www.npmjs.com/package/async-retry","react-query":"https://swr.vercel.app","@tanstack/react-query":"https://swr.vercel.app","@tanstack/react-query-devtools":"https://swr.vercel.app",ahooks:"https://foxact.skk.moe and https://swr.vercel.app","clone-deep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","deep-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","fast-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","lodash.clonedeep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",clone:"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",ms:"https://www.npmjs.com/package/@lukeed/ms",classnames:"https://www.npmjs.com/package/clsx","p-limit":"https://www.npmjs.com/package/async-sema","p-retry":"https://www.npmjs.com/package/async-retry"}).map(([e,s])=>({name:e,message:`Use ${s} instead.`})),l=[{name:"date-fns/esm",message:"Please use date-fns/{submodule} instead."},{name:"idb/with-async-ittr-cjs",message:"Please use idb/with-async-ittr instead."},{name:"lodash-unified",message:"Do not import lodash-unified directly"},{name:"react-fast-compare",message:"What's faster than a really fast deep comparison? No deep comparison at all."}],w=[{name:"lodash",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash-es",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"lodash-es",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"uuid",importNames:["v4"],message:"Use https://www.npmjs.com/package/@lukeed/uuid instead"},{name:"react",importNames:["default"],message:"Use named import instead"}],i=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...l,...r,...w],d=[{name:"date-fns",message:"Please use date-fns/{submodule} instead.",allowTypeImports:!0},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead.",allowTypeImports:!0},...l,...r,...w],u=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...l,...r];exports.BETTER_ALTERNATIVES=r,exports.RESTRICTED_IMPORT_JS=i,exports.RESTRICTED_IMPORT_NODE_REQUIRE=u,exports.RESTRICTED_IMPORT_TS=d,exports.constants=c,exports.getPackageJson=function(a="a.js"){let t=e.dirname(e.resolve(a)),p=t,m="",o=null;do{if(o=n.get(p))return p!==t&&n.set(t,o),o;if(o=function(a){let t=e.join(a,"package.json");try{let e=s.readFileSync(t,"utf8"),a=JSON.parse(e);if(a&&"object"==typeof a)return a.filePath=t,a}catch{}return null}(p))return n.set(p,o),n.set(t,o),o;m=p,p=e.resolve(p,"..")}while(p!==m);return n.set(t,null),null};
1
+ "use strict";var e=require("path"),s=require("fs");const a="?([cm])[jt]s?(x)",t="**/*.json",p="**/*.jsonc",o="**/*.json5",m=[`**/__tests__/**/*.${a}`,`**/*.spec.${a}`,`**/*.test.${a}`];var n=Object.freeze({__proto__:null,GLOB_ALL_JSON:[t,p,o],GLOB_EXCLUDE:["**/node_modules","**/dist","**/output","**/out","**/coverage","**/temp","**/tmp","**/.vitepress/cache","**/.next","**/.nuxt","**/.vercel","**/.changeset","**/.idea","**/.output","**/.vite-inspect","**/*.md","**/*.min.*","**/__snapshots__","**/fixtures","**/auto-import?(s).d.ts","**/components.d.ts"],GLOB_JS:"**/*.?([cm])js",GLOB_JSON:t,GLOB_JSON5:o,GLOB_JSONC:p,GLOB_JSX:"**/*.?([cm])jsx",GLOB_SRC:"**/*.?([cm])[jt]s?(x)",GLOB_SRC_EXT:a,GLOB_TESTS:m,GLOB_TS:"**/*.?([cm])ts",GLOB_TSX:"**/*.?([cm])tsx"});const c=new class{get(e){let s=this.map.get(e),a=Date.now();if(s){if(s.expire>a)return s.expire=a+2e4,s.value;this.map.delete(e)}return null}set(e,s){let a=this.map.get(e),t=Date.now()+2e4;a?(a.value=s,a.expire=t):this.map.set(e,{value:s,expire:t})}constructor(){var e;e=new Map,"map"in this?Object.defineProperty(this,"map",{value:e,enumerable:!0,configurable:!0,writable:!0}):this.map=e}},r=Object.entries({"deep-equal":"https://www.npmjs.com/package/dequal","fast-deep-equal":"https://www.npmjs.com/package/dequal",chalk:"https://www.npmjs.com/package/picocolors",kleur:"https://www.npmjs.com/package/picocolors","mime-db":"https://www.npmjs.com/package/mrmime","mime-types":"https://www.npmjs.com/package/mrmime","tiny-lru":"https://www.npmjs.com/package/flru","lru-cache":"https://www.npmjs.com/package/flru","tmp-cache":"https://www.npmjs.com/package/flru",premove:"Node.js built-in fs.rmdir & fs.rm API",mkdirp:"Node.js built-in fs.mkdir API","make-dir":"Node.js built-in fs.mkdir API","mk-dirs":"Node.js built-in fs.mkdir API",axios:"https://www.npmjs.com/package/ky","node-fetch":"https://www.npmjs.com/package/undici",got:"https://www.npmjs.com/package/undici and https://www.npmjs.com/package/async-retry","react-query":"https://swr.vercel.app","@tanstack/react-query":"https://swr.vercel.app","@tanstack/react-query-devtools":"https://swr.vercel.app",ahooks:"https://foxact.skk.moe and https://swr.vercel.app","clone-deep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","deep-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","fast-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","lodash.clonedeep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",clone:"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",ms:"https://www.npmjs.com/package/@lukeed/ms",classnames:"https://www.npmjs.com/package/clsx","p-limit":"https://www.npmjs.com/package/async-sema","p-retry":"https://www.npmjs.com/package/async-retry"}).map(([e,s])=>({name:e,message:`Use ${s} instead.`})),l=[{name:"date-fns/esm",message:"Please use date-fns/{submodule} instead."},{name:"idb/with-async-ittr-cjs",message:"Please use idb/with-async-ittr instead."},{name:"lodash-unified",message:"Do not import lodash-unified directly"},{name:"react-fast-compare",message:"What's faster than a really fast deep comparison? No deep comparison at all."}],w=[{name:"lodash",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash-es",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"lodash-es",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"uuid",importNames:["v4"],message:"Use https://www.npmjs.com/package/@lukeed/uuid instead"},{name:"react",importNames:["default"],message:"Use named import instead"}],i=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...l,...r,...w],d=[{name:"date-fns",message:"Please use date-fns/{submodule} instead.",allowTypeImports:!0},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead.",allowTypeImports:!0},...l,...r,...w],u=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...l,...r];exports.BETTER_ALTERNATIVES=r,exports.RESTRICTED_IMPORT_JS=i,exports.RESTRICTED_IMPORT_NODE_REQUIRE=u,exports.RESTRICTED_IMPORT_TS=d,exports.constants=n,exports.getPackageJson=function(a="a.js"){let t=e.dirname(e.resolve(a)),p=t,o="",m=null;do{if(m=c.get(p))return p!==t&&c.set(t,m),m;if(m=function(a){let t=e.join(a,"package.json");try{let e=s.readFileSync(t,"utf8"),a=JSON.parse(e);if(a&&"object"==typeof a)return a.filePath=t,a}catch{}return null}(p))return c.set(p,m),c.set(t,m),m;o=p,p=e.resolve(p,"..")}while(p!==o);return c.set(t,null),null},exports.memo=(e,s)=>{var a,t,p;let o=s;if(!o){if("function"==typeof e.toString)o=e.toString();else throw TypeError("memo() requires a key!")}return(a=globalThis).__ESLINT_PLUGIN_MEMO__||(a.__ESLINT_PLUGIN_MEMO__={}),(t=globalThis.__ESLINT_PLUGIN_MEMO__)[p=o]||(t[p]=e),globalThis.__ESLINT_PLUGIN_MEMO__[o]};
package/dist/index.d.ts CHANGED
@@ -61,7 +61,23 @@ declare const RESTRICTED_IMPORT_NODE_REQUIRE: {
61
61
  message: string;
62
62
  }[];
63
63
 
64
+ declare global {
65
+ var __ESLINT_PLUGIN_MEMO__: Record<string, unknown> | undefined;
66
+ }
67
+ /**
68
+ * Every package manager has this flaw: Even if a pinned, same version of transive dependency
69
+ * is depended on by multiple packages, all npm/pnpm/yarn/bun will not dedupe it, some package
70
+ * manager even doesn't have dedupe feature (yes, bun. You are literally wasting my disk space
71
+ * for speed).
72
+ *
73
+ * But if there are multiple copy of the same version of transive dependency, they will not have
74
+ * the same referential identity, which causes ESLint to panic and throw error.
75
+ *
76
+ * So we have to memoize the plugins and configs to make sure they are the same referential identity.
77
+ */
78
+ declare const memo: <T>(fn: NonNullable<T>, key?: string) => T;
79
+
64
80
  type FlatESLintConfigItem = Linter.FlatConfig;
65
81
  type SukkaESLintRuleConfig = Pick<FlatESLintConfigItem, 'plugins' | 'rules'>;
66
82
 
67
- export { BETTER_ALTERNATIVES, type FlatESLintConfigItem, RESTRICTED_IMPORT_JS, RESTRICTED_IMPORT_NODE_REQUIRE, RESTRICTED_IMPORT_TS, type SukkaESLintRuleConfig, constants, getPackageJson };
83
+ export { BETTER_ALTERNATIVES, type FlatESLintConfigItem, RESTRICTED_IMPORT_JS, RESTRICTED_IMPORT_NODE_REQUIRE, RESTRICTED_IMPORT_TS, type SukkaESLintRuleConfig, constants, getPackageJson, memo };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import e from"path";import s from"fs";let a="?([cm])[jt]s?(x)",t="**/*.json",p="**/*.jsonc",m="**/*.json5",o=[`**/__tests__/**/*.${a}`,`**/*.spec.${a}`,`**/*.test.${a}`];var c=Object.freeze({__proto__:null,GLOB_ALL_JSON:[t,p,m],GLOB_EXCLUDE:["**/node_modules","**/dist","**/output","**/out","**/coverage","**/temp","**/tmp","**/.vitepress/cache","**/.next","**/.nuxt","**/.vercel","**/.changeset","**/.idea","**/.output","**/.vite-inspect","**/*.md","**/*.min.*","**/__snapshots__","**/fixtures","**/auto-import?(s).d.ts","**/components.d.ts"],GLOB_JS:"**/*.?([cm])js",GLOB_JSON:t,GLOB_JSON5:m,GLOB_JSONC:p,GLOB_JSX:"**/*.?([cm])jsx",GLOB_SRC:"**/*.?([cm])[jt]s?(x)",GLOB_SRC_EXT:a,GLOB_TESTS:o,GLOB_TS:"**/*.?([cm])ts",GLOB_TSX:"**/*.?([cm])tsx"});let n=new class{get(e){let s=this.map.get(e),a=Date.now();if(s){if(s.expire>a)return s.expire=a+2e4,s.value;this.map.delete(e)}return null}set(e,s){let a=this.map.get(e),t=Date.now()+2e4;a?(a.value=s,a.expire=t):this.map.set(e,{value:s,expire:t})}constructor(){var e;e=new Map,"map"in this?Object.defineProperty(this,"map",{value:e,enumerable:!0,configurable:!0,writable:!0}):this.map=e}};function r(a="a.js"){let t=e.dirname(e.resolve(a)),p=t,m="",o=null;do{if(o=n.get(p))return p!==t&&n.set(t,o),o;if(o=function(a){let t=e.join(a,"package.json");try{let e=s.readFileSync(t,"utf8"),a=JSON.parse(e);if(a&&"object"==typeof a)return a.filePath=t,a}catch{}return null}(p))return n.set(p,o),n.set(t,o),o;m=p,p=e.resolve(p,"..")}while(p!==m);return n.set(t,null),null}let l=Object.entries({"deep-equal":"https://www.npmjs.com/package/dequal","fast-deep-equal":"https://www.npmjs.com/package/dequal",chalk:"https://www.npmjs.com/package/picocolors",kleur:"https://www.npmjs.com/package/picocolors","mime-db":"https://www.npmjs.com/package/mrmime","mime-types":"https://www.npmjs.com/package/mrmime","tiny-lru":"https://www.npmjs.com/package/flru","lru-cache":"https://www.npmjs.com/package/flru","tmp-cache":"https://www.npmjs.com/package/flru",premove:"Node.js built-in fs.rmdir & fs.rm API",mkdirp:"Node.js built-in fs.mkdir API","make-dir":"Node.js built-in fs.mkdir API","mk-dirs":"Node.js built-in fs.mkdir API",axios:"https://www.npmjs.com/package/ky","node-fetch":"https://www.npmjs.com/package/undici",got:"https://www.npmjs.com/package/undici and https://www.npmjs.com/package/async-retry","react-query":"https://swr.vercel.app","@tanstack/react-query":"https://swr.vercel.app","@tanstack/react-query-devtools":"https://swr.vercel.app",ahooks:"https://foxact.skk.moe and https://swr.vercel.app","clone-deep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","deep-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","fast-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","lodash.clonedeep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",clone:"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",ms:"https://www.npmjs.com/package/@lukeed/ms",classnames:"https://www.npmjs.com/package/clsx","p-limit":"https://www.npmjs.com/package/async-sema","p-retry":"https://www.npmjs.com/package/async-retry"}).map(([e,s])=>({name:e,message:`Use ${s} instead.`})),w=[{name:"date-fns/esm",message:"Please use date-fns/{submodule} instead."},{name:"idb/with-async-ittr-cjs",message:"Please use idb/with-async-ittr instead."},{name:"lodash-unified",message:"Do not import lodash-unified directly"},{name:"react-fast-compare",message:"What's faster than a really fast deep comparison? No deep comparison at all."}],i=[{name:"lodash",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash-es",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"lodash-es",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"uuid",importNames:["v4"],message:"Use https://www.npmjs.com/package/@lukeed/uuid instead"},{name:"react",importNames:["default"],message:"Use named import instead"}],d=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...w,...l,...i],u=[{name:"date-fns",message:"Please use date-fns/{submodule} instead.",allowTypeImports:!0},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead.",allowTypeImports:!0},...w,...l,...i],f=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...w,...l];export{l as BETTER_ALTERNATIVES,d as RESTRICTED_IMPORT_JS,f as RESTRICTED_IMPORT_NODE_REQUIRE,u as RESTRICTED_IMPORT_TS,c as constants,r as getPackageJson};
1
+ import e from"path";import s from"fs";let a="?([cm])[jt]s?(x)",t="**/*.json",p="**/*.jsonc",m="**/*.json5",o=[`**/__tests__/**/*.${a}`,`**/*.spec.${a}`,`**/*.test.${a}`];var n=Object.freeze({__proto__:null,GLOB_ALL_JSON:[t,p,m],GLOB_EXCLUDE:["**/node_modules","**/dist","**/output","**/out","**/coverage","**/temp","**/tmp","**/.vitepress/cache","**/.next","**/.nuxt","**/.vercel","**/.changeset","**/.idea","**/.output","**/.vite-inspect","**/*.md","**/*.min.*","**/__snapshots__","**/fixtures","**/auto-import?(s).d.ts","**/components.d.ts"],GLOB_JS:"**/*.?([cm])js",GLOB_JSON:t,GLOB_JSON5:m,GLOB_JSONC:p,GLOB_JSX:"**/*.?([cm])jsx",GLOB_SRC:"**/*.?([cm])[jt]s?(x)",GLOB_SRC_EXT:a,GLOB_TESTS:o,GLOB_TS:"**/*.?([cm])ts",GLOB_TSX:"**/*.?([cm])tsx"});let c=new class{get(e){let s=this.map.get(e),a=Date.now();if(s){if(s.expire>a)return s.expire=a+2e4,s.value;this.map.delete(e)}return null}set(e,s){let a=this.map.get(e),t=Date.now()+2e4;a?(a.value=s,a.expire=t):this.map.set(e,{value:s,expire:t})}constructor(){var e;e=new Map,"map"in this?Object.defineProperty(this,"map",{value:e,enumerable:!0,configurable:!0,writable:!0}):this.map=e}};function r(a="a.js"){let t=e.dirname(e.resolve(a)),p=t,m="",o=null;do{if(o=c.get(p))return p!==t&&c.set(t,o),o;if(o=function(a){let t=e.join(a,"package.json");try{let e=s.readFileSync(t,"utf8"),a=JSON.parse(e);if(a&&"object"==typeof a)return a.filePath=t,a}catch{}return null}(p))return c.set(p,o),c.set(t,o),o;m=p,p=e.resolve(p,"..")}while(p!==m);return c.set(t,null),null}let l=Object.entries({"deep-equal":"https://www.npmjs.com/package/dequal","fast-deep-equal":"https://www.npmjs.com/package/dequal",chalk:"https://www.npmjs.com/package/picocolors",kleur:"https://www.npmjs.com/package/picocolors","mime-db":"https://www.npmjs.com/package/mrmime","mime-types":"https://www.npmjs.com/package/mrmime","tiny-lru":"https://www.npmjs.com/package/flru","lru-cache":"https://www.npmjs.com/package/flru","tmp-cache":"https://www.npmjs.com/package/flru",premove:"Node.js built-in fs.rmdir & fs.rm API",mkdirp:"Node.js built-in fs.mkdir API","make-dir":"Node.js built-in fs.mkdir API","mk-dirs":"Node.js built-in fs.mkdir API",axios:"https://www.npmjs.com/package/ky","node-fetch":"https://www.npmjs.com/package/undici",got:"https://www.npmjs.com/package/undici and https://www.npmjs.com/package/async-retry","react-query":"https://swr.vercel.app","@tanstack/react-query":"https://swr.vercel.app","@tanstack/react-query-devtools":"https://swr.vercel.app",ahooks:"https://foxact.skk.moe and https://swr.vercel.app","clone-deep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","deep-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","fast-copy":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser","lodash.clonedeep":"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",clone:"https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser",ms:"https://www.npmjs.com/package/@lukeed/ms",classnames:"https://www.npmjs.com/package/clsx","p-limit":"https://www.npmjs.com/package/async-sema","p-retry":"https://www.npmjs.com/package/async-retry"}).map(([e,s])=>({name:e,message:`Use ${s} instead.`})),w=[{name:"date-fns/esm",message:"Please use date-fns/{submodule} instead."},{name:"idb/with-async-ittr-cjs",message:"Please use idb/with-async-ittr instead."},{name:"lodash-unified",message:"Do not import lodash-unified directly"},{name:"react-fast-compare",message:"What's faster than a really fast deep comparison? No deep comparison at all."}],i=[{name:"lodash",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash-es",message:"Avoid using type unsafe methods.",importNames:["get"]},{name:"lodash",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"lodash-es",message:"Use https://www.npmjs.com/package/rfdc for Node.js / https://www.npmjs.com/package/klona for Browser instead",importNames:["cloneDeep"]},{name:"uuid",importNames:["v4"],message:"Use https://www.npmjs.com/package/@lukeed/uuid instead"},{name:"react",importNames:["default"],message:"Use named import instead"}],d=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...w,...l,...i],u=[{name:"date-fns",message:"Please use date-fns/{submodule} instead.",allowTypeImports:!0},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead.",allowTypeImports:!0},...w,...l,...i],f=[{name:"date-fns",message:"Please use date-fns/{submodule} instead."},{name:"async-call-rpc",message:"Please use async-call-rpc/full instead."},...w,...l],h=(e,s)=>{var a,t,p;let m=s;if(!m){if("function"==typeof e.toString)m=e.toString();else throw TypeError("memo() requires a key!")}return(a=globalThis).__ESLINT_PLUGIN_MEMO__||(a.__ESLINT_PLUGIN_MEMO__={}),(t=globalThis.__ESLINT_PLUGIN_MEMO__)[p=m]||(t[p]=e),globalThis.__ESLINT_PLUGIN_MEMO__[m]};export{l as BETTER_ALTERNATIVES,d as RESTRICTED_IMPORT_JS,f as RESTRICTED_IMPORT_NODE_REQUIRE,u as RESTRICTED_IMPORT_TS,n as constants,r as getPackageJson,h as memo};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-sukka/shared",
3
- "version": "4.1.10-beta.1",
3
+ "version": "4.1.10",
4
4
  "description": "Sukka's ESLint config",
5
5
  "homepage": "https://github.com/SukkaW/eslint-config-sukka",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  "@types/eslint": "^8.44.7"
32
32
  },
33
33
  "devDependencies": {
34
- "@eslint-sukka/rollup-config": "4.1.10-beta.1"
34
+ "@eslint-sukka/rollup-config": "4.1.10"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "rollup -c rollup.config.ts --configPlugin swc3"