Socket
Socket
Sign inDemoInstall

unplugin-auto-import

Package Overview
Dependencies
Maintainers
1
Versions
123
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

unplugin-auto-import - npm Package Compare versions

Comparing version 0.4.6 to 0.4.7

dist/chunk-C5SSLQ4N.mjs

483

dist/index.js

@@ -1,7 +0,482 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var _chunk53WUUOKYjs = require('./chunk-53WUUOKY.js');
require('./chunk-F22VW6A6.js');
// src/index.ts
__export(exports, {
default: () => src_default
});
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
exports.default = _chunk53WUUOKYjs.src_default;
// src/index.ts
var import_fs = __toModule(require("fs"));
var import_unplugin = __toModule(require("unplugin"));
var import_utils2 = __toModule(require("@antfu/utils"));
// src/core/options.ts
var import_path = __toModule(require("path"));
var import_utils = __toModule(require("@antfu/utils"));
var import_pluginutils = __toModule(require("@rollup/pluginutils"));
var import_has_pkg = __toModule(require("has-pkg"));
// src/presets/vue.ts
var CommonCompositionAPI = [
"onActivated",
"onBeforeMount",
"onBeforeUnmount",
"onBeforeUpdate",
"onMounted",
"onUnmounted",
"onUpdated",
"computed",
"customRef",
"isReadonly",
"isRef",
"markRaw",
"reactive",
"readonly",
"ref",
"shallowReactive",
"shallowReadonly",
"shallowRef",
"triggerRef",
"toRaw",
"toRef",
"toRefs",
"unref",
"watch",
"watchEffect",
"defineComponent",
"defineAsyncComponent",
"getCurrentInstance",
"h",
"inject",
"nextTick",
"provide",
"useCssModule",
"createApp"
];
var vue_default = {
vue: [
...CommonCompositionAPI,
"onDeactivated",
"onServerPrefetch",
"onErrorCaptured",
"onRenderTracked",
"onRenderTriggered"
]
};
// src/presets/nuxt-composition-api.ts
var nuxt_composition_api_default = {
"@nuxtjs/composition-api": [
...CommonCompositionAPI,
"onGlobalSetup",
"useFetch",
"useAsync",
"useContext",
"ssrRef",
"shallowSsrRef",
"ssrPromise",
"useMeta",
"useStore",
"useRouter",
"useRoute"
]
};
// src/presets/preact.ts
var preact_default = {
preact: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/react.ts
var react_default = {
react: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/svelte.ts
var svelteAnimate = {
"svelte/animate": [
"flip"
]
};
var svelteEasing = {
"svelte/easing": [
"back",
"bounce",
"circ",
"cubic",
"elastic",
"expo",
"quad",
"quart",
"quint",
"sine"
].reduce((acc, e) => {
acc.push(`${e}In`, `${e}Out`, `${e}InOut`);
return acc;
}, ["linear"])
};
var svelteStore = {
"svelte/store": [
"writable",
"readable",
"derived",
"get"
]
};
var svelteMotion = {
"svelte/motion": [
"tweened",
"spring"
]
};
var svelteTransition = {
"svelte/transition": [
"fade",
"blur",
"fly",
"slide",
"scale",
"draw",
"crossfade"
]
};
var svelte = {
svelte: [
"onMount",
"beforeUpdate",
"afterUpdate",
"onDestroy",
"tick",
"setContext",
"getContext",
"hasContext",
"getAllContexts",
"createEventDispatcher"
]
};
// src/presets/vitepress.ts
var vitepress_default = {
vitepress: [
"useData",
"useRoute",
"useRouter",
"withBase"
]
};
// src/presets/vue-demi.ts
var vue_demi_default = {
"vue-demi": CommonCompositionAPI
};
// src/presets/vue-i18n.ts
var vue_i18n_default = {
"vue-i18n": [
"useI18n"
]
};
// src/presets/vue-router.ts
var vue_router_default = {
"vue-router": [
"useRouter",
"useRoute"
]
};
// src/presets/vue-composition-api.ts
var vue_composition_api_default = {
"@vue/composition-api": CommonCompositionAPI
};
// src/presets/vueuse-core.ts
var import_resolve = __toModule(require("resolve"));
var _cache;
var vueuse_core_default = () => {
const excluded = ["toRefs", "utils"];
if (!_cache) {
try {
const path = import_resolve.default.sync("@vueuse/core/indexes.json", { paths: [process.cwd(), __dirname] });
const indexesJson = require(path);
_cache = {
"@vueuse/core": indexesJson.functions.filter((i) => ["core", "shared"].includes(i.package)).map((i) => i.name).filter((i) => i && i.length >= 4 && !excluded.includes(i))
};
} catch (error) {
console.error(error);
throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?");
}
}
return _cache || {};
};
// src/presets/vueuse-head.ts
var vueuse_head_default = {
"@vueuse/head": [
"useHead"
]
};
// src/presets/index.ts
var presets = {
"@nuxtjs/composition-api": nuxt_composition_api_default,
"@vue/composition-api": vue_composition_api_default,
"@vueuse/core": vueuse_core_default,
"@vueuse/head": vueuse_head_default,
"preact": preact_default,
"react": react_default,
"svelte": svelte,
"svelte/animate": svelteAnimate,
"svelte/easing": svelteEasing,
"svelte/motion": svelteMotion,
"svelte/store": svelteStore,
"svelte/transition": svelteTransition,
"vitepress": vitepress_default,
"vue-demi": vue_demi_default,
"vue-i18n": vue_i18n_default,
"vue-router": vue_router_default,
"vue": vue_default
};
// src/core/options.ts
function resolveOptions(options = {}) {
const imports = flattenImportsMap(options.imports, options.presetOverriding);
const { dts = (0, import_has_pkg.default)("typescript") } = options;
const resolved = __spreadProps(__spreadValues({
sourceMap: false,
resolvedImports: {},
presetOverriding: false,
ignore: []
}, options), {
dts: dts === false ? false : dts === true ? (0, import_path.resolve)("auto-imports.d.ts") : (0, import_path.resolve)(dts),
imports,
resolvers: (0, import_utils.toArray)(options.resolvers),
idFilter: (0, import_pluginutils.createFilter)(options.include || [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/], options.exclude || [/node_modules/, /\.git/])
});
return resolved;
}
function flattenImportsMap(map, overriding = false) {
const flat = {};
(0, import_utils.toArray)(map).forEach((definition) => {
if (typeof definition === "string") {
if (!presets[definition])
throw new Error(`[auto-import] preset ${definition} not found`);
const preset = presets[definition];
definition = typeof preset === "function" ? preset() : preset;
}
for (const mod of Object.keys(definition)) {
for (const id of definition[mod]) {
const meta = {
module: mod
};
if (Array.isArray(id)) {
meta.name = id[1];
meta.from = id[0];
} else {
meta.name = id;
}
if (flat[meta.name] && !overriding)
throw new Error(`[auto-import] identifier ${meta.name} already defined with ${flat[meta.name].module}`);
flat[meta.name] = meta;
}
}
});
return flat;
}
// src/core/transform.ts
var import_magic_string = __toModule(require("magic-string"));
var excludeRE = [
/\bimport\s*([\w_$]*?),?\s*(?:\{([\s\S]*?)\})?\s*from\b/g,
/\bfunction\s*([\w_$]+?)\s*\(/g,
/\b(?:const|let|var)\s+?([\s\S]+?)[=\n;]/g
];
var matchRE = /(?<![\w_$]\.)([\w_$]+?)[^\w_$]/g;
var importAsRE = /^.*\sas\s+/;
var multilineCommentsRE = /\/\*\s(.|[\r\n])*?\*\//gm;
var singlelineCommentsRE = /\/\/\s.*/g;
var quotesRE = [
/(["'])((?:\\\1|(?!\1)|.|\r)*?)\1/gm,
/([`])((?:\\\1|(?!\1)|.|\n|\r)*?)\1/gm
];
function stripeCommentsAndStrings(code) {
return code.replace(multilineCommentsRE, "").replace(singlelineCommentsRE, "").replace(quotesRE[0], '""').replace(quotesRE[1], "``");
}
function transform(code, id, {
imports,
sourceMap,
resolvers,
resolvedImports = {},
ignore = []
}) {
const striped = stripeCommentsAndStrings(code);
const identifiers = new Set(Array.from(striped.matchAll(matchRE)).map((i) => i[1]));
ignore.forEach((i) => {
if (typeof i === "string") {
identifiers.delete(i);
} else {
identifiers.forEach((id2) => {
if (id2.match(i))
identifiers.delete(id2);
});
}
});
if (!identifiers.size)
return null;
for (const regex of excludeRE) {
Array.from(striped.matchAll(regex)).flatMap((i) => {
var _a, _b;
return [...((_a = i[1]) == null ? void 0 : _a.split(",")) || [], ...((_b = i[2]) == null ? void 0 : _b.split(",")) || []];
}).map((i) => i.replace(importAsRE, "").trim()).forEach((i) => identifiers.delete(i));
}
if (!identifiers.size)
return null;
const modules = {};
Array.from(identifiers).forEach((name) => {
let info = getOwn(resolvedImports, name) || getOwn(imports, name);
if (!info && (resolvers == null ? void 0 : resolvers.length)) {
const resolved = firstNonNullResult(resolvers, name);
if (resolved) {
if (typeof resolved === "string") {
info = {
module: resolved,
name,
from: "default"
};
} else {
info = resolved;
}
resolvedImports[name] = info;
}
}
if (!info || !info.module)
return;
if (!modules[info.module])
modules[info.module] = [];
modules[info.module].push(info);
});
if (!Object.keys(modules).length)
return;
const importStatements = Object.entries(modules).map(([moduleName, names]) => {
const imports2 = names.map(({ name, from }) => from ? `${from} as ${name}` : name).join(", ");
return `import { ${imports2} } from '${moduleName}';`;
}).join("");
const s = new import_magic_string.default(code);
s.prependLeft(0, importStatements);
return {
code: s.toString(),
map: sourceMap ? s.generateMap({ source: id, includeContent: true }) : null
};
}
function firstNonNullResult(array, name) {
for (let i = 0; i < array.length; i++) {
const res = array[i](name);
if (res)
return res;
}
}
var hasOwnProperty = Object.prototype.hasOwnProperty;
function getOwn(object, key) {
return hasOwnProperty.call(object, key) ? object[key] : void 0;
}
// src/core/dts.ts
function generateDeclration(imports, resolvedImports = {}) {
const body = [
...Object.entries(imports),
...Object.entries(resolvedImports)
].map(([name, info]) => ` const ${name}: typeof import('${info.module}')['${info.from || name}']`).join("\n");
return `// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
${body}
}
export {}
`;
}
// src/index.ts
var src_default = (0, import_unplugin.createUnplugin)((options) => {
const resolved = resolveOptions(options);
if (!Object.keys(resolved.imports).length && !resolved.resolvers.length)
console.warn("[auto-import] plugin installed but no imports has defined, see https://github.com/antfu/unplugin-auto-import#configurations for configurations");
const generateDeclaration = (0, import_utils2.throttle)(500, false, () => {
if (!resolved.dts)
return;
import_fs.promises.writeFile(resolved.dts, generateDeclration(resolved.imports, resolved.resolvedImports), "utf-8");
});
generateDeclaration();
return {
name: "unplugin-auto-import",
enforce: "post",
transformInclude(id) {
return resolved.idFilter(id);
},
transform(code, id) {
const res = transform(code, id, resolved);
if (res && resolved.resolvers.length)
generateDeclaration();
return res;
}
};
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});

@@ -1,6 +0,482 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var _chunk53WUUOKYjs = require('./chunk-53WUUOKY.js');
require('./chunk-F22VW6A6.js');
// src/nuxt.ts
__export(exports, {
default: () => nuxt_default
});
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
// src/index.ts
var import_fs = __toModule(require("fs"));
var import_unplugin = __toModule(require("unplugin"));
var import_utils2 = __toModule(require("@antfu/utils"));
// src/core/options.ts
var import_path = __toModule(require("path"));
var import_utils = __toModule(require("@antfu/utils"));
var import_pluginutils = __toModule(require("@rollup/pluginutils"));
var import_has_pkg = __toModule(require("has-pkg"));
// src/presets/vue.ts
var CommonCompositionAPI = [
"onActivated",
"onBeforeMount",
"onBeforeUnmount",
"onBeforeUpdate",
"onMounted",
"onUnmounted",
"onUpdated",
"computed",
"customRef",
"isReadonly",
"isRef",
"markRaw",
"reactive",
"readonly",
"ref",
"shallowReactive",
"shallowReadonly",
"shallowRef",
"triggerRef",
"toRaw",
"toRef",
"toRefs",
"unref",
"watch",
"watchEffect",
"defineComponent",
"defineAsyncComponent",
"getCurrentInstance",
"h",
"inject",
"nextTick",
"provide",
"useCssModule",
"createApp"
];
var vue_default = {
vue: [
...CommonCompositionAPI,
"onDeactivated",
"onServerPrefetch",
"onErrorCaptured",
"onRenderTracked",
"onRenderTriggered"
]
};
// src/presets/nuxt-composition-api.ts
var nuxt_composition_api_default = {
"@nuxtjs/composition-api": [
...CommonCompositionAPI,
"onGlobalSetup",
"useFetch",
"useAsync",
"useContext",
"ssrRef",
"shallowSsrRef",
"ssrPromise",
"useMeta",
"useStore",
"useRouter",
"useRoute"
]
};
// src/presets/preact.ts
var preact_default = {
preact: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/react.ts
var react_default = {
react: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/svelte.ts
var svelteAnimate = {
"svelte/animate": [
"flip"
]
};
var svelteEasing = {
"svelte/easing": [
"back",
"bounce",
"circ",
"cubic",
"elastic",
"expo",
"quad",
"quart",
"quint",
"sine"
].reduce((acc, e) => {
acc.push(`${e}In`, `${e}Out`, `${e}InOut`);
return acc;
}, ["linear"])
};
var svelteStore = {
"svelte/store": [
"writable",
"readable",
"derived",
"get"
]
};
var svelteMotion = {
"svelte/motion": [
"tweened",
"spring"
]
};
var svelteTransition = {
"svelte/transition": [
"fade",
"blur",
"fly",
"slide",
"scale",
"draw",
"crossfade"
]
};
var svelte = {
svelte: [
"onMount",
"beforeUpdate",
"afterUpdate",
"onDestroy",
"tick",
"setContext",
"getContext",
"hasContext",
"getAllContexts",
"createEventDispatcher"
]
};
// src/presets/vitepress.ts
var vitepress_default = {
vitepress: [
"useData",
"useRoute",
"useRouter",
"withBase"
]
};
// src/presets/vue-demi.ts
var vue_demi_default = {
"vue-demi": CommonCompositionAPI
};
// src/presets/vue-i18n.ts
var vue_i18n_default = {
"vue-i18n": [
"useI18n"
]
};
// src/presets/vue-router.ts
var vue_router_default = {
"vue-router": [
"useRouter",
"useRoute"
]
};
// src/presets/vue-composition-api.ts
var vue_composition_api_default = {
"@vue/composition-api": CommonCompositionAPI
};
// src/presets/vueuse-core.ts
var import_resolve = __toModule(require("resolve"));
var _cache;
var vueuse_core_default = () => {
const excluded = ["toRefs", "utils"];
if (!_cache) {
try {
const path = import_resolve.default.sync("@vueuse/core/indexes.json", { paths: [process.cwd(), __dirname] });
const indexesJson = require(path);
_cache = {
"@vueuse/core": indexesJson.functions.filter((i) => ["core", "shared"].includes(i.package)).map((i) => i.name).filter((i) => i && i.length >= 4 && !excluded.includes(i))
};
} catch (error) {
console.error(error);
throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?");
}
}
return _cache || {};
};
// src/presets/vueuse-head.ts
var vueuse_head_default = {
"@vueuse/head": [
"useHead"
]
};
// src/presets/index.ts
var presets = {
"@nuxtjs/composition-api": nuxt_composition_api_default,
"@vue/composition-api": vue_composition_api_default,
"@vueuse/core": vueuse_core_default,
"@vueuse/head": vueuse_head_default,
"preact": preact_default,
"react": react_default,
"svelte": svelte,
"svelte/animate": svelteAnimate,
"svelte/easing": svelteEasing,
"svelte/motion": svelteMotion,
"svelte/store": svelteStore,
"svelte/transition": svelteTransition,
"vitepress": vitepress_default,
"vue-demi": vue_demi_default,
"vue-i18n": vue_i18n_default,
"vue-router": vue_router_default,
"vue": vue_default
};
// src/core/options.ts
function resolveOptions(options = {}) {
const imports = flattenImportsMap(options.imports, options.presetOverriding);
const { dts = (0, import_has_pkg.default)("typescript") } = options;
const resolved = __spreadProps(__spreadValues({
sourceMap: false,
resolvedImports: {},
presetOverriding: false,
ignore: []
}, options), {
dts: dts === false ? false : dts === true ? (0, import_path.resolve)("auto-imports.d.ts") : (0, import_path.resolve)(dts),
imports,
resolvers: (0, import_utils.toArray)(options.resolvers),
idFilter: (0, import_pluginutils.createFilter)(options.include || [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/], options.exclude || [/node_modules/, /\.git/])
});
return resolved;
}
function flattenImportsMap(map, overriding = false) {
const flat = {};
(0, import_utils.toArray)(map).forEach((definition) => {
if (typeof definition === "string") {
if (!presets[definition])
throw new Error(`[auto-import] preset ${definition} not found`);
const preset = presets[definition];
definition = typeof preset === "function" ? preset() : preset;
}
for (const mod of Object.keys(definition)) {
for (const id of definition[mod]) {
const meta = {
module: mod
};
if (Array.isArray(id)) {
meta.name = id[1];
meta.from = id[0];
} else {
meta.name = id;
}
if (flat[meta.name] && !overriding)
throw new Error(`[auto-import] identifier ${meta.name} already defined with ${flat[meta.name].module}`);
flat[meta.name] = meta;
}
}
});
return flat;
}
// src/core/transform.ts
var import_magic_string = __toModule(require("magic-string"));
var excludeRE = [
/\bimport\s*([\w_$]*?),?\s*(?:\{([\s\S]*?)\})?\s*from\b/g,
/\bfunction\s*([\w_$]+?)\s*\(/g,
/\b(?:const|let|var)\s+?([\s\S]+?)[=\n;]/g
];
var matchRE = /(?<![\w_$]\.)([\w_$]+?)[^\w_$]/g;
var importAsRE = /^.*\sas\s+/;
var multilineCommentsRE = /\/\*\s(.|[\r\n])*?\*\//gm;
var singlelineCommentsRE = /\/\/\s.*/g;
var quotesRE = [
/(["'])((?:\\\1|(?!\1)|.|\r)*?)\1/gm,
/([`])((?:\\\1|(?!\1)|.|\n|\r)*?)\1/gm
];
function stripeCommentsAndStrings(code) {
return code.replace(multilineCommentsRE, "").replace(singlelineCommentsRE, "").replace(quotesRE[0], '""').replace(quotesRE[1], "``");
}
function transform(code, id, {
imports,
sourceMap,
resolvers,
resolvedImports = {},
ignore = []
}) {
const striped = stripeCommentsAndStrings(code);
const identifiers = new Set(Array.from(striped.matchAll(matchRE)).map((i) => i[1]));
ignore.forEach((i) => {
if (typeof i === "string") {
identifiers.delete(i);
} else {
identifiers.forEach((id2) => {
if (id2.match(i))
identifiers.delete(id2);
});
}
});
if (!identifiers.size)
return null;
for (const regex of excludeRE) {
Array.from(striped.matchAll(regex)).flatMap((i) => {
var _a, _b;
return [...((_a = i[1]) == null ? void 0 : _a.split(",")) || [], ...((_b = i[2]) == null ? void 0 : _b.split(",")) || []];
}).map((i) => i.replace(importAsRE, "").trim()).forEach((i) => identifiers.delete(i));
}
if (!identifiers.size)
return null;
const modules = {};
Array.from(identifiers).forEach((name) => {
let info = getOwn(resolvedImports, name) || getOwn(imports, name);
if (!info && (resolvers == null ? void 0 : resolvers.length)) {
const resolved = firstNonNullResult(resolvers, name);
if (resolved) {
if (typeof resolved === "string") {
info = {
module: resolved,
name,
from: "default"
};
} else {
info = resolved;
}
resolvedImports[name] = info;
}
}
if (!info || !info.module)
return;
if (!modules[info.module])
modules[info.module] = [];
modules[info.module].push(info);
});
if (!Object.keys(modules).length)
return;
const importStatements = Object.entries(modules).map(([moduleName, names]) => {
const imports2 = names.map(({ name, from }) => from ? `${from} as ${name}` : name).join(", ");
return `import { ${imports2} } from '${moduleName}';`;
}).join("");
const s = new import_magic_string.default(code);
s.prependLeft(0, importStatements);
return {
code: s.toString(),
map: sourceMap ? s.generateMap({ source: id, includeContent: true }) : null
};
}
function firstNonNullResult(array, name) {
for (let i = 0; i < array.length; i++) {
const res = array[i](name);
if (res)
return res;
}
}
var hasOwnProperty = Object.prototype.hasOwnProperty;
function getOwn(object, key) {
return hasOwnProperty.call(object, key) ? object[key] : void 0;
}
// src/core/dts.ts
function generateDeclration(imports, resolvedImports = {}) {
const body = [
...Object.entries(imports),
...Object.entries(resolvedImports)
].map(([name, info]) => ` const ${name}: typeof import('${info.module}')['${info.from || name}']`).join("\n");
return `// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
${body}
}
export {}
`;
}
// src/index.ts
var src_default = (0, import_unplugin.createUnplugin)((options) => {
const resolved = resolveOptions(options);
if (!Object.keys(resolved.imports).length && !resolved.resolvers.length)
console.warn("[auto-import] plugin installed but no imports has defined, see https://github.com/antfu/unplugin-auto-import#configurations for configurations");
const generateDeclaration = (0, import_utils2.throttle)(500, false, () => {
if (!resolved.dts)
return;
import_fs.promises.writeFile(resolved.dts, generateDeclration(resolved.imports, resolved.resolvedImports), "utf-8");
});
generateDeclaration();
return {
name: "unplugin-auto-import",
enforce: "post",
transformInclude(id) {
return resolved.idFilter(id);
},
transform(code, id) {
const res = transform(code, id, resolved);
if (res && resolved.resolvers.length)
generateDeclaration();
return res;
}
};
});
// src/nuxt.ts

@@ -11,12 +487,11 @@ function nuxt_default(options) {

config.plugins = config.plugins || [];
config.plugins.unshift(_chunk53WUUOKYjs.src_default.webpack(options));
config.plugins.unshift(src_default.webpack(options));
});
this.nuxt.hook("vite:extend", async (vite) => {
vite.config.plugins = vite.config.plugins || [];
vite.config.plugins.push(_chunk53WUUOKYjs.src_default.vite(options));
vite.config.plugins.push(src_default.vite(options));
});
}
module.exports = nuxt_default;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
exports.default = module.exports;

@@ -1,11 +0,486 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var _chunk53WUUOKYjs = require('./chunk-53WUUOKY.js');
require('./chunk-F22VW6A6.js');
// src/rollup.ts
var rollup_default = _chunk53WUUOKYjs.src_default.rollup;
__export(exports, {
default: () => rollup_default
});
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
module.exports = rollup_default;
// src/index.ts
var import_fs = __toModule(require("fs"));
var import_unplugin = __toModule(require("unplugin"));
var import_utils2 = __toModule(require("@antfu/utils"));
// src/core/options.ts
var import_path = __toModule(require("path"));
var import_utils = __toModule(require("@antfu/utils"));
var import_pluginutils = __toModule(require("@rollup/pluginutils"));
var import_has_pkg = __toModule(require("has-pkg"));
// src/presets/vue.ts
var CommonCompositionAPI = [
"onActivated",
"onBeforeMount",
"onBeforeUnmount",
"onBeforeUpdate",
"onMounted",
"onUnmounted",
"onUpdated",
"computed",
"customRef",
"isReadonly",
"isRef",
"markRaw",
"reactive",
"readonly",
"ref",
"shallowReactive",
"shallowReadonly",
"shallowRef",
"triggerRef",
"toRaw",
"toRef",
"toRefs",
"unref",
"watch",
"watchEffect",
"defineComponent",
"defineAsyncComponent",
"getCurrentInstance",
"h",
"inject",
"nextTick",
"provide",
"useCssModule",
"createApp"
];
var vue_default = {
vue: [
...CommonCompositionAPI,
"onDeactivated",
"onServerPrefetch",
"onErrorCaptured",
"onRenderTracked",
"onRenderTriggered"
]
};
// src/presets/nuxt-composition-api.ts
var nuxt_composition_api_default = {
"@nuxtjs/composition-api": [
...CommonCompositionAPI,
"onGlobalSetup",
"useFetch",
"useAsync",
"useContext",
"ssrRef",
"shallowSsrRef",
"ssrPromise",
"useMeta",
"useStore",
"useRouter",
"useRoute"
]
};
// src/presets/preact.ts
var preact_default = {
preact: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/react.ts
var react_default = {
react: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/svelte.ts
var svelteAnimate = {
"svelte/animate": [
"flip"
]
};
var svelteEasing = {
"svelte/easing": [
"back",
"bounce",
"circ",
"cubic",
"elastic",
"expo",
"quad",
"quart",
"quint",
"sine"
].reduce((acc, e) => {
acc.push(`${e}In`, `${e}Out`, `${e}InOut`);
return acc;
}, ["linear"])
};
var svelteStore = {
"svelte/store": [
"writable",
"readable",
"derived",
"get"
]
};
var svelteMotion = {
"svelte/motion": [
"tweened",
"spring"
]
};
var svelteTransition = {
"svelte/transition": [
"fade",
"blur",
"fly",
"slide",
"scale",
"draw",
"crossfade"
]
};
var svelte = {
svelte: [
"onMount",
"beforeUpdate",
"afterUpdate",
"onDestroy",
"tick",
"setContext",
"getContext",
"hasContext",
"getAllContexts",
"createEventDispatcher"
]
};
// src/presets/vitepress.ts
var vitepress_default = {
vitepress: [
"useData",
"useRoute",
"useRouter",
"withBase"
]
};
// src/presets/vue-demi.ts
var vue_demi_default = {
"vue-demi": CommonCompositionAPI
};
// src/presets/vue-i18n.ts
var vue_i18n_default = {
"vue-i18n": [
"useI18n"
]
};
// src/presets/vue-router.ts
var vue_router_default = {
"vue-router": [
"useRouter",
"useRoute"
]
};
// src/presets/vue-composition-api.ts
var vue_composition_api_default = {
"@vue/composition-api": CommonCompositionAPI
};
// src/presets/vueuse-core.ts
var import_resolve = __toModule(require("resolve"));
var _cache;
var vueuse_core_default = () => {
const excluded = ["toRefs", "utils"];
if (!_cache) {
try {
const path = import_resolve.default.sync("@vueuse/core/indexes.json", { paths: [process.cwd(), __dirname] });
const indexesJson = require(path);
_cache = {
"@vueuse/core": indexesJson.functions.filter((i) => ["core", "shared"].includes(i.package)).map((i) => i.name).filter((i) => i && i.length >= 4 && !excluded.includes(i))
};
} catch (error) {
console.error(error);
throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?");
}
}
return _cache || {};
};
// src/presets/vueuse-head.ts
var vueuse_head_default = {
"@vueuse/head": [
"useHead"
]
};
// src/presets/index.ts
var presets = {
"@nuxtjs/composition-api": nuxt_composition_api_default,
"@vue/composition-api": vue_composition_api_default,
"@vueuse/core": vueuse_core_default,
"@vueuse/head": vueuse_head_default,
"preact": preact_default,
"react": react_default,
"svelte": svelte,
"svelte/animate": svelteAnimate,
"svelte/easing": svelteEasing,
"svelte/motion": svelteMotion,
"svelte/store": svelteStore,
"svelte/transition": svelteTransition,
"vitepress": vitepress_default,
"vue-demi": vue_demi_default,
"vue-i18n": vue_i18n_default,
"vue-router": vue_router_default,
"vue": vue_default
};
// src/core/options.ts
function resolveOptions(options = {}) {
const imports = flattenImportsMap(options.imports, options.presetOverriding);
const { dts = (0, import_has_pkg.default)("typescript") } = options;
const resolved = __spreadProps(__spreadValues({
sourceMap: false,
resolvedImports: {},
presetOverriding: false,
ignore: []
}, options), {
dts: dts === false ? false : dts === true ? (0, import_path.resolve)("auto-imports.d.ts") : (0, import_path.resolve)(dts),
imports,
resolvers: (0, import_utils.toArray)(options.resolvers),
idFilter: (0, import_pluginutils.createFilter)(options.include || [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/], options.exclude || [/node_modules/, /\.git/])
});
return resolved;
}
function flattenImportsMap(map, overriding = false) {
const flat = {};
(0, import_utils.toArray)(map).forEach((definition) => {
if (typeof definition === "string") {
if (!presets[definition])
throw new Error(`[auto-import] preset ${definition} not found`);
const preset = presets[definition];
definition = typeof preset === "function" ? preset() : preset;
}
for (const mod of Object.keys(definition)) {
for (const id of definition[mod]) {
const meta = {
module: mod
};
if (Array.isArray(id)) {
meta.name = id[1];
meta.from = id[0];
} else {
meta.name = id;
}
if (flat[meta.name] && !overriding)
throw new Error(`[auto-import] identifier ${meta.name} already defined with ${flat[meta.name].module}`);
flat[meta.name] = meta;
}
}
});
return flat;
}
// src/core/transform.ts
var import_magic_string = __toModule(require("magic-string"));
var excludeRE = [
/\bimport\s*([\w_$]*?),?\s*(?:\{([\s\S]*?)\})?\s*from\b/g,
/\bfunction\s*([\w_$]+?)\s*\(/g,
/\b(?:const|let|var)\s+?([\s\S]+?)[=\n;]/g
];
var matchRE = /(?<![\w_$]\.)([\w_$]+?)[^\w_$]/g;
var importAsRE = /^.*\sas\s+/;
var multilineCommentsRE = /\/\*\s(.|[\r\n])*?\*\//gm;
var singlelineCommentsRE = /\/\/\s.*/g;
var quotesRE = [
/(["'])((?:\\\1|(?!\1)|.|\r)*?)\1/gm,
/([`])((?:\\\1|(?!\1)|.|\n|\r)*?)\1/gm
];
function stripeCommentsAndStrings(code) {
return code.replace(multilineCommentsRE, "").replace(singlelineCommentsRE, "").replace(quotesRE[0], '""').replace(quotesRE[1], "``");
}
function transform(code, id, {
imports,
sourceMap,
resolvers,
resolvedImports = {},
ignore = []
}) {
const striped = stripeCommentsAndStrings(code);
const identifiers = new Set(Array.from(striped.matchAll(matchRE)).map((i) => i[1]));
ignore.forEach((i) => {
if (typeof i === "string") {
identifiers.delete(i);
} else {
identifiers.forEach((id2) => {
if (id2.match(i))
identifiers.delete(id2);
});
}
});
if (!identifiers.size)
return null;
for (const regex of excludeRE) {
Array.from(striped.matchAll(regex)).flatMap((i) => {
var _a, _b;
return [...((_a = i[1]) == null ? void 0 : _a.split(",")) || [], ...((_b = i[2]) == null ? void 0 : _b.split(",")) || []];
}).map((i) => i.replace(importAsRE, "").trim()).forEach((i) => identifiers.delete(i));
}
if (!identifiers.size)
return null;
const modules = {};
Array.from(identifiers).forEach((name) => {
let info = getOwn(resolvedImports, name) || getOwn(imports, name);
if (!info && (resolvers == null ? void 0 : resolvers.length)) {
const resolved = firstNonNullResult(resolvers, name);
if (resolved) {
if (typeof resolved === "string") {
info = {
module: resolved,
name,
from: "default"
};
} else {
info = resolved;
}
resolvedImports[name] = info;
}
}
if (!info || !info.module)
return;
if (!modules[info.module])
modules[info.module] = [];
modules[info.module].push(info);
});
if (!Object.keys(modules).length)
return;
const importStatements = Object.entries(modules).map(([moduleName, names]) => {
const imports2 = names.map(({ name, from }) => from ? `${from} as ${name}` : name).join(", ");
return `import { ${imports2} } from '${moduleName}';`;
}).join("");
const s = new import_magic_string.default(code);
s.prependLeft(0, importStatements);
return {
code: s.toString(),
map: sourceMap ? s.generateMap({ source: id, includeContent: true }) : null
};
}
function firstNonNullResult(array, name) {
for (let i = 0; i < array.length; i++) {
const res = array[i](name);
if (res)
return res;
}
}
var hasOwnProperty = Object.prototype.hasOwnProperty;
function getOwn(object, key) {
return hasOwnProperty.call(object, key) ? object[key] : void 0;
}
// src/core/dts.ts
function generateDeclration(imports, resolvedImports = {}) {
const body = [
...Object.entries(imports),
...Object.entries(resolvedImports)
].map(([name, info]) => ` const ${name}: typeof import('${info.module}')['${info.from || name}']`).join("\n");
return `// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
${body}
}
export {}
`;
}
// src/index.ts
var src_default = (0, import_unplugin.createUnplugin)((options) => {
const resolved = resolveOptions(options);
if (!Object.keys(resolved.imports).length && !resolved.resolvers.length)
console.warn("[auto-import] plugin installed but no imports has defined, see https://github.com/antfu/unplugin-auto-import#configurations for configurations");
const generateDeclaration = (0, import_utils2.throttle)(500, false, () => {
if (!resolved.dts)
return;
import_fs.promises.writeFile(resolved.dts, generateDeclration(resolved.imports, resolved.resolvedImports), "utf-8");
});
generateDeclaration();
return {
name: "unplugin-auto-import",
enforce: "post",
transformInclude(id) {
return resolved.idFilter(id);
},
transform(code, id) {
const res = transform(code, id, resolved);
if (res && resolved.resolvers.length)
generateDeclaration();
return res;
}
};
});
// src/rollup.ts
var rollup_default = src_default.rollup;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
exports.default = module.exports;

@@ -1,2 +0,9 @@

"use strict";require('./chunk-F22VW6A6.js');
var __defProp = Object.defineProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
// src/types.ts
__markAsModule(exports);
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
exports.default = module.exports;

@@ -1,11 +0,486 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var _chunk53WUUOKYjs = require('./chunk-53WUUOKY.js');
require('./chunk-F22VW6A6.js');
// src/vite.ts
var vite_default = _chunk53WUUOKYjs.src_default.vite;
__export(exports, {
default: () => vite_default
});
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
module.exports = vite_default;
// src/index.ts
var import_fs = __toModule(require("fs"));
var import_unplugin = __toModule(require("unplugin"));
var import_utils2 = __toModule(require("@antfu/utils"));
// src/core/options.ts
var import_path = __toModule(require("path"));
var import_utils = __toModule(require("@antfu/utils"));
var import_pluginutils = __toModule(require("@rollup/pluginutils"));
var import_has_pkg = __toModule(require("has-pkg"));
// src/presets/vue.ts
var CommonCompositionAPI = [
"onActivated",
"onBeforeMount",
"onBeforeUnmount",
"onBeforeUpdate",
"onMounted",
"onUnmounted",
"onUpdated",
"computed",
"customRef",
"isReadonly",
"isRef",
"markRaw",
"reactive",
"readonly",
"ref",
"shallowReactive",
"shallowReadonly",
"shallowRef",
"triggerRef",
"toRaw",
"toRef",
"toRefs",
"unref",
"watch",
"watchEffect",
"defineComponent",
"defineAsyncComponent",
"getCurrentInstance",
"h",
"inject",
"nextTick",
"provide",
"useCssModule",
"createApp"
];
var vue_default = {
vue: [
...CommonCompositionAPI,
"onDeactivated",
"onServerPrefetch",
"onErrorCaptured",
"onRenderTracked",
"onRenderTriggered"
]
};
// src/presets/nuxt-composition-api.ts
var nuxt_composition_api_default = {
"@nuxtjs/composition-api": [
...CommonCompositionAPI,
"onGlobalSetup",
"useFetch",
"useAsync",
"useContext",
"ssrRef",
"shallowSsrRef",
"ssrPromise",
"useMeta",
"useStore",
"useRouter",
"useRoute"
]
};
// src/presets/preact.ts
var preact_default = {
preact: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/react.ts
var react_default = {
react: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/svelte.ts
var svelteAnimate = {
"svelte/animate": [
"flip"
]
};
var svelteEasing = {
"svelte/easing": [
"back",
"bounce",
"circ",
"cubic",
"elastic",
"expo",
"quad",
"quart",
"quint",
"sine"
].reduce((acc, e) => {
acc.push(`${e}In`, `${e}Out`, `${e}InOut`);
return acc;
}, ["linear"])
};
var svelteStore = {
"svelte/store": [
"writable",
"readable",
"derived",
"get"
]
};
var svelteMotion = {
"svelte/motion": [
"tweened",
"spring"
]
};
var svelteTransition = {
"svelte/transition": [
"fade",
"blur",
"fly",
"slide",
"scale",
"draw",
"crossfade"
]
};
var svelte = {
svelte: [
"onMount",
"beforeUpdate",
"afterUpdate",
"onDestroy",
"tick",
"setContext",
"getContext",
"hasContext",
"getAllContexts",
"createEventDispatcher"
]
};
// src/presets/vitepress.ts
var vitepress_default = {
vitepress: [
"useData",
"useRoute",
"useRouter",
"withBase"
]
};
// src/presets/vue-demi.ts
var vue_demi_default = {
"vue-demi": CommonCompositionAPI
};
// src/presets/vue-i18n.ts
var vue_i18n_default = {
"vue-i18n": [
"useI18n"
]
};
// src/presets/vue-router.ts
var vue_router_default = {
"vue-router": [
"useRouter",
"useRoute"
]
};
// src/presets/vue-composition-api.ts
var vue_composition_api_default = {
"@vue/composition-api": CommonCompositionAPI
};
// src/presets/vueuse-core.ts
var import_resolve = __toModule(require("resolve"));
var _cache;
var vueuse_core_default = () => {
const excluded = ["toRefs", "utils"];
if (!_cache) {
try {
const path = import_resolve.default.sync("@vueuse/core/indexes.json", { paths: [process.cwd(), __dirname] });
const indexesJson = require(path);
_cache = {
"@vueuse/core": indexesJson.functions.filter((i) => ["core", "shared"].includes(i.package)).map((i) => i.name).filter((i) => i && i.length >= 4 && !excluded.includes(i))
};
} catch (error) {
console.error(error);
throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?");
}
}
return _cache || {};
};
// src/presets/vueuse-head.ts
var vueuse_head_default = {
"@vueuse/head": [
"useHead"
]
};
// src/presets/index.ts
var presets = {
"@nuxtjs/composition-api": nuxt_composition_api_default,
"@vue/composition-api": vue_composition_api_default,
"@vueuse/core": vueuse_core_default,
"@vueuse/head": vueuse_head_default,
"preact": preact_default,
"react": react_default,
"svelte": svelte,
"svelte/animate": svelteAnimate,
"svelte/easing": svelteEasing,
"svelte/motion": svelteMotion,
"svelte/store": svelteStore,
"svelte/transition": svelteTransition,
"vitepress": vitepress_default,
"vue-demi": vue_demi_default,
"vue-i18n": vue_i18n_default,
"vue-router": vue_router_default,
"vue": vue_default
};
// src/core/options.ts
function resolveOptions(options = {}) {
const imports = flattenImportsMap(options.imports, options.presetOverriding);
const { dts = (0, import_has_pkg.default)("typescript") } = options;
const resolved = __spreadProps(__spreadValues({
sourceMap: false,
resolvedImports: {},
presetOverriding: false,
ignore: []
}, options), {
dts: dts === false ? false : dts === true ? (0, import_path.resolve)("auto-imports.d.ts") : (0, import_path.resolve)(dts),
imports,
resolvers: (0, import_utils.toArray)(options.resolvers),
idFilter: (0, import_pluginutils.createFilter)(options.include || [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/], options.exclude || [/node_modules/, /\.git/])
});
return resolved;
}
function flattenImportsMap(map, overriding = false) {
const flat = {};
(0, import_utils.toArray)(map).forEach((definition) => {
if (typeof definition === "string") {
if (!presets[definition])
throw new Error(`[auto-import] preset ${definition} not found`);
const preset = presets[definition];
definition = typeof preset === "function" ? preset() : preset;
}
for (const mod of Object.keys(definition)) {
for (const id of definition[mod]) {
const meta = {
module: mod
};
if (Array.isArray(id)) {
meta.name = id[1];
meta.from = id[0];
} else {
meta.name = id;
}
if (flat[meta.name] && !overriding)
throw new Error(`[auto-import] identifier ${meta.name} already defined with ${flat[meta.name].module}`);
flat[meta.name] = meta;
}
}
});
return flat;
}
// src/core/transform.ts
var import_magic_string = __toModule(require("magic-string"));
var excludeRE = [
/\bimport\s*([\w_$]*?),?\s*(?:\{([\s\S]*?)\})?\s*from\b/g,
/\bfunction\s*([\w_$]+?)\s*\(/g,
/\b(?:const|let|var)\s+?([\s\S]+?)[=\n;]/g
];
var matchRE = /(?<![\w_$]\.)([\w_$]+?)[^\w_$]/g;
var importAsRE = /^.*\sas\s+/;
var multilineCommentsRE = /\/\*\s(.|[\r\n])*?\*\//gm;
var singlelineCommentsRE = /\/\/\s.*/g;
var quotesRE = [
/(["'])((?:\\\1|(?!\1)|.|\r)*?)\1/gm,
/([`])((?:\\\1|(?!\1)|.|\n|\r)*?)\1/gm
];
function stripeCommentsAndStrings(code) {
return code.replace(multilineCommentsRE, "").replace(singlelineCommentsRE, "").replace(quotesRE[0], '""').replace(quotesRE[1], "``");
}
function transform(code, id, {
imports,
sourceMap,
resolvers,
resolvedImports = {},
ignore = []
}) {
const striped = stripeCommentsAndStrings(code);
const identifiers = new Set(Array.from(striped.matchAll(matchRE)).map((i) => i[1]));
ignore.forEach((i) => {
if (typeof i === "string") {
identifiers.delete(i);
} else {
identifiers.forEach((id2) => {
if (id2.match(i))
identifiers.delete(id2);
});
}
});
if (!identifiers.size)
return null;
for (const regex of excludeRE) {
Array.from(striped.matchAll(regex)).flatMap((i) => {
var _a, _b;
return [...((_a = i[1]) == null ? void 0 : _a.split(",")) || [], ...((_b = i[2]) == null ? void 0 : _b.split(",")) || []];
}).map((i) => i.replace(importAsRE, "").trim()).forEach((i) => identifiers.delete(i));
}
if (!identifiers.size)
return null;
const modules = {};
Array.from(identifiers).forEach((name) => {
let info = getOwn(resolvedImports, name) || getOwn(imports, name);
if (!info && (resolvers == null ? void 0 : resolvers.length)) {
const resolved = firstNonNullResult(resolvers, name);
if (resolved) {
if (typeof resolved === "string") {
info = {
module: resolved,
name,
from: "default"
};
} else {
info = resolved;
}
resolvedImports[name] = info;
}
}
if (!info || !info.module)
return;
if (!modules[info.module])
modules[info.module] = [];
modules[info.module].push(info);
});
if (!Object.keys(modules).length)
return;
const importStatements = Object.entries(modules).map(([moduleName, names]) => {
const imports2 = names.map(({ name, from }) => from ? `${from} as ${name}` : name).join(", ");
return `import { ${imports2} } from '${moduleName}';`;
}).join("");
const s = new import_magic_string.default(code);
s.prependLeft(0, importStatements);
return {
code: s.toString(),
map: sourceMap ? s.generateMap({ source: id, includeContent: true }) : null
};
}
function firstNonNullResult(array, name) {
for (let i = 0; i < array.length; i++) {
const res = array[i](name);
if (res)
return res;
}
}
var hasOwnProperty = Object.prototype.hasOwnProperty;
function getOwn(object, key) {
return hasOwnProperty.call(object, key) ? object[key] : void 0;
}
// src/core/dts.ts
function generateDeclration(imports, resolvedImports = {}) {
const body = [
...Object.entries(imports),
...Object.entries(resolvedImports)
].map(([name, info]) => ` const ${name}: typeof import('${info.module}')['${info.from || name}']`).join("\n");
return `// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
${body}
}
export {}
`;
}
// src/index.ts
var src_default = (0, import_unplugin.createUnplugin)((options) => {
const resolved = resolveOptions(options);
if (!Object.keys(resolved.imports).length && !resolved.resolvers.length)
console.warn("[auto-import] plugin installed but no imports has defined, see https://github.com/antfu/unplugin-auto-import#configurations for configurations");
const generateDeclaration = (0, import_utils2.throttle)(500, false, () => {
if (!resolved.dts)
return;
import_fs.promises.writeFile(resolved.dts, generateDeclration(resolved.imports, resolved.resolvedImports), "utf-8");
});
generateDeclaration();
return {
name: "unplugin-auto-import",
enforce: "post",
transformInclude(id) {
return resolved.idFilter(id);
},
transform(code, id) {
const res = transform(code, id, resolved);
if (res && resolved.resolvers.length)
generateDeclaration();
return res;
}
};
});
// src/vite.ts
var vite_default = src_default.vite;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
exports.default = module.exports;

@@ -1,11 +0,486 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
var __create = Object.create;
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
var __export = (target, all) => {
__markAsModule(target);
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
};
var _chunk53WUUOKYjs = require('./chunk-53WUUOKY.js');
require('./chunk-F22VW6A6.js');
// src/webpack.ts
var webpack_default = _chunk53WUUOKYjs.src_default.webpack;
__export(exports, {
default: () => webpack_default
});
// node_modules/.pnpm/tsup@5.2.0_typescript@4.4.3/node_modules/tsup/assets/cjs_shims.js
var importMetaUrlShim = typeof document === "undefined" ? new (require("url")).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
module.exports = webpack_default;
// src/index.ts
var import_fs = __toModule(require("fs"));
var import_unplugin = __toModule(require("unplugin"));
var import_utils2 = __toModule(require("@antfu/utils"));
// src/core/options.ts
var import_path = __toModule(require("path"));
var import_utils = __toModule(require("@antfu/utils"));
var import_pluginutils = __toModule(require("@rollup/pluginutils"));
var import_has_pkg = __toModule(require("has-pkg"));
// src/presets/vue.ts
var CommonCompositionAPI = [
"onActivated",
"onBeforeMount",
"onBeforeUnmount",
"onBeforeUpdate",
"onMounted",
"onUnmounted",
"onUpdated",
"computed",
"customRef",
"isReadonly",
"isRef",
"markRaw",
"reactive",
"readonly",
"ref",
"shallowReactive",
"shallowReadonly",
"shallowRef",
"triggerRef",
"toRaw",
"toRef",
"toRefs",
"unref",
"watch",
"watchEffect",
"defineComponent",
"defineAsyncComponent",
"getCurrentInstance",
"h",
"inject",
"nextTick",
"provide",
"useCssModule",
"createApp"
];
var vue_default = {
vue: [
...CommonCompositionAPI,
"onDeactivated",
"onServerPrefetch",
"onErrorCaptured",
"onRenderTracked",
"onRenderTriggered"
]
};
// src/presets/nuxt-composition-api.ts
var nuxt_composition_api_default = {
"@nuxtjs/composition-api": [
...CommonCompositionAPI,
"onGlobalSetup",
"useFetch",
"useAsync",
"useContext",
"ssrRef",
"shallowSsrRef",
"ssrPromise",
"useMeta",
"useStore",
"useRouter",
"useRoute"
]
};
// src/presets/preact.ts
var preact_default = {
preact: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/react.ts
var react_default = {
react: [
"useState",
"useCallback",
"useMemo",
"useEffect",
"useRef",
"useContext",
"useReducer"
]
};
// src/presets/svelte.ts
var svelteAnimate = {
"svelte/animate": [
"flip"
]
};
var svelteEasing = {
"svelte/easing": [
"back",
"bounce",
"circ",
"cubic",
"elastic",
"expo",
"quad",
"quart",
"quint",
"sine"
].reduce((acc, e) => {
acc.push(`${e}In`, `${e}Out`, `${e}InOut`);
return acc;
}, ["linear"])
};
var svelteStore = {
"svelte/store": [
"writable",
"readable",
"derived",
"get"
]
};
var svelteMotion = {
"svelte/motion": [
"tweened",
"spring"
]
};
var svelteTransition = {
"svelte/transition": [
"fade",
"blur",
"fly",
"slide",
"scale",
"draw",
"crossfade"
]
};
var svelte = {
svelte: [
"onMount",
"beforeUpdate",
"afterUpdate",
"onDestroy",
"tick",
"setContext",
"getContext",
"hasContext",
"getAllContexts",
"createEventDispatcher"
]
};
// src/presets/vitepress.ts
var vitepress_default = {
vitepress: [
"useData",
"useRoute",
"useRouter",
"withBase"
]
};
// src/presets/vue-demi.ts
var vue_demi_default = {
"vue-demi": CommonCompositionAPI
};
// src/presets/vue-i18n.ts
var vue_i18n_default = {
"vue-i18n": [
"useI18n"
]
};
// src/presets/vue-router.ts
var vue_router_default = {
"vue-router": [
"useRouter",
"useRoute"
]
};
// src/presets/vue-composition-api.ts
var vue_composition_api_default = {
"@vue/composition-api": CommonCompositionAPI
};
// src/presets/vueuse-core.ts
var import_resolve = __toModule(require("resolve"));
var _cache;
var vueuse_core_default = () => {
const excluded = ["toRefs", "utils"];
if (!_cache) {
try {
const path = import_resolve.default.sync("@vueuse/core/indexes.json", { paths: [process.cwd(), __dirname] });
const indexesJson = require(path);
_cache = {
"@vueuse/core": indexesJson.functions.filter((i) => ["core", "shared"].includes(i.package)).map((i) => i.name).filter((i) => i && i.length >= 4 && !excluded.includes(i))
};
} catch (error) {
console.error(error);
throw new Error("[auto-import] failed to load @vueuse/core, have you installed it?");
}
}
return _cache || {};
};
// src/presets/vueuse-head.ts
var vueuse_head_default = {
"@vueuse/head": [
"useHead"
]
};
// src/presets/index.ts
var presets = {
"@nuxtjs/composition-api": nuxt_composition_api_default,
"@vue/composition-api": vue_composition_api_default,
"@vueuse/core": vueuse_core_default,
"@vueuse/head": vueuse_head_default,
"preact": preact_default,
"react": react_default,
"svelte": svelte,
"svelte/animate": svelteAnimate,
"svelte/easing": svelteEasing,
"svelte/motion": svelteMotion,
"svelte/store": svelteStore,
"svelte/transition": svelteTransition,
"vitepress": vitepress_default,
"vue-demi": vue_demi_default,
"vue-i18n": vue_i18n_default,
"vue-router": vue_router_default,
"vue": vue_default
};
// src/core/options.ts
function resolveOptions(options = {}) {
const imports = flattenImportsMap(options.imports, options.presetOverriding);
const { dts = (0, import_has_pkg.default)("typescript") } = options;
const resolved = __spreadProps(__spreadValues({
sourceMap: false,
resolvedImports: {},
presetOverriding: false,
ignore: []
}, options), {
dts: dts === false ? false : dts === true ? (0, import_path.resolve)("auto-imports.d.ts") : (0, import_path.resolve)(dts),
imports,
resolvers: (0, import_utils.toArray)(options.resolvers),
idFilter: (0, import_pluginutils.createFilter)(options.include || [/\.[jt]sx?$/, /\.vue$/, /\.vue\?vue/, /\.svelte$/], options.exclude || [/node_modules/, /\.git/])
});
return resolved;
}
function flattenImportsMap(map, overriding = false) {
const flat = {};
(0, import_utils.toArray)(map).forEach((definition) => {
if (typeof definition === "string") {
if (!presets[definition])
throw new Error(`[auto-import] preset ${definition} not found`);
const preset = presets[definition];
definition = typeof preset === "function" ? preset() : preset;
}
for (const mod of Object.keys(definition)) {
for (const id of definition[mod]) {
const meta = {
module: mod
};
if (Array.isArray(id)) {
meta.name = id[1];
meta.from = id[0];
} else {
meta.name = id;
}
if (flat[meta.name] && !overriding)
throw new Error(`[auto-import] identifier ${meta.name} already defined with ${flat[meta.name].module}`);
flat[meta.name] = meta;
}
}
});
return flat;
}
// src/core/transform.ts
var import_magic_string = __toModule(require("magic-string"));
var excludeRE = [
/\bimport\s*([\w_$]*?),?\s*(?:\{([\s\S]*?)\})?\s*from\b/g,
/\bfunction\s*([\w_$]+?)\s*\(/g,
/\b(?:const|let|var)\s+?([\s\S]+?)[=\n;]/g
];
var matchRE = /(?<![\w_$]\.)([\w_$]+?)[^\w_$]/g;
var importAsRE = /^.*\sas\s+/;
var multilineCommentsRE = /\/\*\s(.|[\r\n])*?\*\//gm;
var singlelineCommentsRE = /\/\/\s.*/g;
var quotesRE = [
/(["'])((?:\\\1|(?!\1)|.|\r)*?)\1/gm,
/([`])((?:\\\1|(?!\1)|.|\n|\r)*?)\1/gm
];
function stripeCommentsAndStrings(code) {
return code.replace(multilineCommentsRE, "").replace(singlelineCommentsRE, "").replace(quotesRE[0], '""').replace(quotesRE[1], "``");
}
function transform(code, id, {
imports,
sourceMap,
resolvers,
resolvedImports = {},
ignore = []
}) {
const striped = stripeCommentsAndStrings(code);
const identifiers = new Set(Array.from(striped.matchAll(matchRE)).map((i) => i[1]));
ignore.forEach((i) => {
if (typeof i === "string") {
identifiers.delete(i);
} else {
identifiers.forEach((id2) => {
if (id2.match(i))
identifiers.delete(id2);
});
}
});
if (!identifiers.size)
return null;
for (const regex of excludeRE) {
Array.from(striped.matchAll(regex)).flatMap((i) => {
var _a, _b;
return [...((_a = i[1]) == null ? void 0 : _a.split(",")) || [], ...((_b = i[2]) == null ? void 0 : _b.split(",")) || []];
}).map((i) => i.replace(importAsRE, "").trim()).forEach((i) => identifiers.delete(i));
}
if (!identifiers.size)
return null;
const modules = {};
Array.from(identifiers).forEach((name) => {
let info = getOwn(resolvedImports, name) || getOwn(imports, name);
if (!info && (resolvers == null ? void 0 : resolvers.length)) {
const resolved = firstNonNullResult(resolvers, name);
if (resolved) {
if (typeof resolved === "string") {
info = {
module: resolved,
name,
from: "default"
};
} else {
info = resolved;
}
resolvedImports[name] = info;
}
}
if (!info || !info.module)
return;
if (!modules[info.module])
modules[info.module] = [];
modules[info.module].push(info);
});
if (!Object.keys(modules).length)
return;
const importStatements = Object.entries(modules).map(([moduleName, names]) => {
const imports2 = names.map(({ name, from }) => from ? `${from} as ${name}` : name).join(", ");
return `import { ${imports2} } from '${moduleName}';`;
}).join("");
const s = new import_magic_string.default(code);
s.prependLeft(0, importStatements);
return {
code: s.toString(),
map: sourceMap ? s.generateMap({ source: id, includeContent: true }) : null
};
}
function firstNonNullResult(array, name) {
for (let i = 0; i < array.length; i++) {
const res = array[i](name);
if (res)
return res;
}
}
var hasOwnProperty = Object.prototype.hasOwnProperty;
function getOwn(object, key) {
return hasOwnProperty.call(object, key) ? object[key] : void 0;
}
// src/core/dts.ts
function generateDeclration(imports, resolvedImports = {}) {
const body = [
...Object.entries(imports),
...Object.entries(resolvedImports)
].map(([name, info]) => ` const ${name}: typeof import('${info.module}')['${info.from || name}']`).join("\n");
return `// Generated by 'unplugin-auto-import'
// We suggest you to commit this file into source control
declare global {
${body}
}
export {}
`;
}
// src/index.ts
var src_default = (0, import_unplugin.createUnplugin)((options) => {
const resolved = resolveOptions(options);
if (!Object.keys(resolved.imports).length && !resolved.resolvers.length)
console.warn("[auto-import] plugin installed but no imports has defined, see https://github.com/antfu/unplugin-auto-import#configurations for configurations");
const generateDeclaration = (0, import_utils2.throttle)(500, false, () => {
if (!resolved.dts)
return;
import_fs.promises.writeFile(resolved.dts, generateDeclration(resolved.imports, resolved.resolvedImports), "utf-8");
});
generateDeclaration();
return {
name: "unplugin-auto-import",
enforce: "post",
transformInclude(id) {
return resolved.idFilter(id);
},
transform(code, id) {
const res = transform(code, id, resolved);
if (res && resolved.resolvers.length)
generateDeclaration();
return res;
}
};
});
// src/webpack.ts
var webpack_default = src_default.webpack;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
exports.default = module.exports;

28

package.json
{
"name": "unplugin-auto-import",
"version": "0.4.6",
"version": "0.4.7",
"description": "Register global imports on demand for Vite and Webpack",

@@ -65,23 +65,23 @@ "keywords": [

"resolve": "^1.20.0",
"unplugin": "^0.2.11"
"unplugin": "^0.2.15"
},
"devDependencies": {
"@antfu/eslint-config": "^0.7.0",
"@antfu/ni": "^0.7.0",
"@types/jest": "^27.0.1",
"@types/node": "^16.7.10",
"@antfu/eslint-config": "^0.9.0",
"@antfu/ni": "^0.9.3",
"@types/jest": "^27.0.2",
"@types/node": "^16.9.6",
"@types/resolve": "^1.20.1",
"bumpp": "^6.0.6",
"bumpp": "^7.1.1",
"eslint": "^7.32.0",
"eslint-plugin-jest": "^24.4.0",
"eslint-plugin-jest": "^24.4.2",
"esno": "^0.9.1",
"fast-glob": "^3.2.7",
"jest": "^27.1.0",
"jest": "^27.2.1",
"rimraf": "^3.0.2",
"rollup": "^2.56.3",
"rollup": "^2.57.0",
"ts-jest": "^27.0.5",
"tsup": "^4.14.0",
"typescript": "^4.4.2",
"vite": "^2.5.3",
"webpack": "^5.51.1"
"tsup": "^5.2.0",
"typescript": "^4.4.3",
"vite": "^2.5.10",
"webpack": "^5.54.0"
},

@@ -88,0 +88,0 @@ "peerDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc