Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vite-plugin-dynamic-import

Package Overview
Dependencies
Maintainers
2
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vite-plugin-dynamic-import - npm Package Compare versions

Comparing version 1.3.0 to 1.3.1

2

dist/dynamic-import-to-glob.d.ts

@@ -7,3 +7,3 @@ /**

*/
export declare function dynamicImportToGlob(node: AcornNode, sourceString: string,
export declare function dynamicImportToGlob(importeeNode: AcornNode, importExpression: string,
/**

@@ -10,0 +10,0 @@ * The `resolver` for processing alias or bare(node_modules),

import type { Plugin } from 'vite';
export { dynamicImportToGlob } from './dynamic-import-to-glob';
export { type Resolved, Resolve, } from './resolve';
export { toLooseGlob, mappingPath, } from './utils';
import { hasDynamicImport, normallyImporteeRE, mappingPath, toLooseGlob } from './utils';
import { type Resolved, Resolve } from './resolve';
import { dynamicImportToGlob } from './dynamic-import-to-glob';
export { hasDynamicImport, normallyImporteeRE, mappingPath, toLooseGlob, type Resolved, Resolve, dynamicImportToGlob, globFiles, };
export interface Options {

@@ -32,1 +33,24 @@ filter?: (id: string) => boolean | void;

export default function dynamicImport(options?: Options): Plugin;
declare function globFiles({ importeeNode, importExpression, importer, resolve, extensions, loose, }: {
importeeNode: AcornNode;
importExpression: string;
/** Used to calculate relative paths */
importer: string;
resolve: Resolve;
/** Importable file extensions */
extensions: string[];
/** Match unlimited levels of subdir as much as possible */
loose?: boolean;
}): Promise<{
files?: string[];
resolved?: Resolved;
/**
* 🚧-③ After `expressiontoglob()` processing, it may become a normal path
*
* In v2.9.9 Vite has handled internally(2022-06-09) ????
* import('@/views/' + 'foo.js')
* ↓
* import('@/viewsfoo.js')
*/
normally?: string;
} | undefined>;

@@ -20,2 +20,7 @@ "use strict";

const singlelineCommentsRE = /\/\/.*/g;
function cleanUrl(url) {
const queryRE = /\?.*$/s;
const hashRE = /#.*$/s;
return url.replace(hashRE, "").replace(queryRE, "");
}
class MagicString {

@@ -293,4 +298,4 @@ constructor(str) {

}
async function dynamicImportToGlob(node, sourceString, resolver) {
let glob = expressionToGlob(node);
async function dynamicImportToGlob(importeeNode, importExpression, resolver) {
let glob = expressionToGlob(importeeNode);
glob = await (resolver == null ? void 0 : resolver(glob)) ?? glob;

@@ -303,3 +308,3 @@ if (!glob.includes("*") || glob.startsWith("data:")) {

throw new Error(
`invalid import "${sourceString}". It cannot be statically analyzed. Variable dynamic imports must start with ./ and be limited to a specific directory. ${example}`
`invalid import "${importExpression}". It cannot be statically analyzed. Variable dynamic imports must start with ./ and be limited to a specific directory. ${example}`
);

@@ -309,3 +314,3 @@ }

throw new Error(
`invalid import "${sourceString}". Variable absolute imports are not supported, imports must start with ./ in the static part of the import. ${example}`
`invalid import "${importExpression}". Variable absolute imports are not supported, imports must start with ./ in the static part of the import. ${example}`
);

@@ -315,3 +320,3 @@ }

throw new Error(
`invalid import "${sourceString}". Variable bare imports are not supported, imports must start with ./ in the static part of the import. ${example}`
`invalid import "${importExpression}". Variable bare imports are not supported, imports must start with ./ in the static part of the import. ${example}`
);

@@ -322,3 +327,3 @@ }

throw new Error(
`invalid import "${sourceString}". Variable imports cannot import their own directory, place imports in a separate directory or make the import filename more specific. ${example}`
`invalid import "${importExpression}". Variable imports cannot import their own directory, place imports in a separate directory or make the import filename more specific. ${example}`
);

@@ -328,3 +333,3 @@ }

throw new Error(
`invalid import "${sourceString}". A file extension must be included in the static part of the import. ${example}`
`invalid import "${importExpression}". A file extension must be included in the static part of the import. ${example}`
);

@@ -372,3 +377,3 @@ }

},
async transform(code, id) {
transform(code, id) {
return transformDynamicImport({

@@ -392,2 +397,4 @@ options,

var _a, _b;
if (!(extensions.includes(path.extname(id)) || extensions.includes(path.extname(cleanUrl(id)))))
return;
if (!hasDynamicImport(code))

@@ -445,10 +452,10 @@ return;

}
const globResult = await globFiles(
importExpressionAst,
const globResult = await globFiles({
importeeNode: importExpressionAst.source,
importExpression,
id,
importer: id,
resolve,
extensions,
options.loose !== false
);
loose: options.loose !== false
});
if (!globResult)

@@ -482,3 +489,10 @@ continue;

}
async function globFiles(importExpressionAst, importExpression, importer, resolve, extensions, loose = true) {
async function globFiles({
importeeNode,
importExpression,
importer,
resolve,
extensions,
loose = true
}) {
let files;

@@ -492,3 +506,3 @@ let resolved;

glob = await dynamicImportToGlob(
importExpressionAst.source,
importeeNode,
importExpression,

@@ -549,3 +563,6 @@ async (raw) => {

exports.dynamicImportToGlob = dynamicImportToGlob;
exports.globFiles = globFiles;
exports.hasDynamicImport = hasDynamicImport;
exports.mappingPath = mappingPath;
exports.normallyImporteeRE = normallyImporteeRE;
exports.toLooseGlob = toLooseGlob;

@@ -1,1 +0,1 @@

type AcornNode<T = any> = import('rollup').AcornNode & Record<string, T>;
type AcornNode<T = any> = import('acorn').Node & Record<string, T>;
{
"name": "vite-plugin-dynamic-import",
"version": "1.3.0",
"version": "1.3.1",
"description": "Enhance Vite builtin dynamic import",

@@ -5,0 +5,0 @@ "main": "./dist/index.js",

@@ -43,3 +43,3 @@ # vite-plugin-dynamic-import

// https://github.com/vite-plugin/vite-plugin-dynamic-import/blob/v1.3.0/src/index.ts#L133-L135
if (/node_modules\/(?!\.vite\/)/.test(id)) {
if (id.includes('/node_modules/foo')) {
return true

@@ -46,0 +46,0 @@ }

@@ -43,3 +43,3 @@ # vite-plugin-dynamic-import

// https://github.com/vite-plugin/vite-plugin-dynamic-import/blob/v1.3.0/src/index.ts#L133-L135
if (/node_modules\/(?!\.vite\/)/.test(id)) {
if (id.includes('/node_modules/foo')) {
return true

@@ -46,0 +46,0 @@ }

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