Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@jsxtools/rollup-plugin-utils

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jsxtools/rollup-plugin-utils - npm Package Compare versions

Comparing version
0.2.1
to
0.3.0
+7
dist/pattern.d.ts
export declare class Pattern {
#private;
constructor(pattern: string);
match(path: string, includeDot?: boolean): boolean;
static match(pattern: string, path: string, includeDot?: boolean): boolean;
}
export declare const match: typeof Pattern.match;
// Highly opinionated, high-performance POSIX glob matcher.
// Features: ?, *, **, [], extglobs @() ?() +() *() !(), leading-dot rule (POSIX), no brace expansion.
// Two segment kinds: GlobStar or an anchored RegExp per segment.
//
// Usage:
// const glob = new Glob("src/**/*.ts")
// glob.match("src/a/b/x.ts") // true
export class Pattern {
constructor(pattern) {
// quick scan: bail to literal-fast-path if there are no meta chars
let hasMeta = false;
for (let scanIndex = 0, n = pattern.length; scanIndex < n; ++scanIndex) {
const ch = pattern[scanIndex];
if (ch === "\\" ||
ch === "[" ||
ch === "]" ||
ch === "?" ||
ch === "*" ||
ch === "@" ||
ch === "!" ||
ch === "+" ||
ch === "(" ||
ch === ")") {
hasMeta = true;
break;
}
}
let segments;
if (!hasMeta) {
// literal fast-path: just split + anchor as exact literals
const parts = pattern.split("/");
segments = new Array(parts.length);
for (let index = 0; index < parts.length; ++index) {
const literal = parts[index];
segments[index] = {
kind: 0 /* SegmentKind.LiteralRegex */,
re: new RegExp(`^${escapeRegex(literal)}$`),
explicitLeadingDot: literal.length > 0 && literal[0] === ".",
};
}
}
else {
segments = parseAndPrecompile(pattern);
}
this.#internals.segments = segments;
}
match(path, includeDot = false) {
return matchPathAgainstCompiled(this.#internals.segments, path, includeDot);
}
static match(pattern, path, includeDot = false) {
return new this(pattern).match(path, includeDot);
}
#internals = {
segments: [],
};
}
export const match = Pattern.match.bind(Pattern);
// #region Internals
const isDotfile = (part, includeDot, explicitLeadingDot) => !includeDot && part.length > 0 && part[0] === "." && !explicitLeadingDot;
const matchPathAgainstCompiled = (segments, path, includeDot) => {
const parts = path.split("/");
// detect globstar presence
let containsGlobStar = false;
for (let index = 0; index < segments.length; ++index) {
if (segments[index].kind === 1 /* SegmentKind.GlobStar */) {
containsGlobStar = true;
break;
}
}
// no-globstar fast path: segment lengths must match, then straight tests
if (!containsGlobStar) {
if (parts.length !== segments.length)
return false;
for (let index = 0; index < parts.length; ++index) {
const segment = segments[index];
const part = parts[index];
if (isDotfile(part, includeDot, segment.explicitLeadingDot))
return false;
if (!segment.re.test(part))
return false;
}
return true;
}
// general DP path with ** support
return matchWithGlobStarDP(segments, parts, includeDot);
};
const matchWithGlobStarDP = (segments, parts, includeDot) => {
const m = segments.length;
const n = parts.length;
const memo = new Map();
const recur = (i, j) => {
const k = i * 1000 + j;
const cached = memo.get(k);
if (cached !== undefined)
return cached;
let result = false;
if (i === m) {
result = j === n;
}
else {
const segment = segments[i];
if (segment.kind === 1 /* SegmentKind.GlobStar */) {
// ** matches zero segments
if (recur(i + 1, j)) {
result = true;
}
else {
// ** matches one or more segments, but cannot start by consuming a dotfile (unless includeDot)
for (let nextJ = j; nextJ < n; ++nextJ) {
const part = parts[nextJ];
if (isDotfile(part, includeDot)) {
++nextJ;
continue;
}
if (recur(i + 1, nextJ + 1)) {
result = true;
break;
}
}
}
}
else {
if (j < n) {
const part = parts[j];
result =
!isDotfile(part, includeDot, segment.explicitLeadingDot) &&
segment.re.test(part) &&
recur(i + 1, j + 1);
}
}
}
memo.set(k, result);
return result;
};
return recur(0, 0);
};
const handleEscape = (pattern, index, end) => index + 1 < end ? [escapeRegex(pattern[index + 1]), index + 2] : ["\\\\", index + 1];
const parseAndPrecompile = (pattern) => {
const segments = [];
const length = pattern.length;
let index = 0;
let currentSegmentRegexSource = "";
let sawFirstUnit = false;
let explicitLeadingDot = false;
const flushCurrentSegment = () => {
if (currentSegmentRegexSource === "") {
return;
}
segments.push({
kind: 0 /* SegmentKind.LiteralRegex */,
re: new RegExp(`^${currentSegmentRegexSource}$`),
explicitLeadingDot,
});
currentSegmentRegexSource = "";
sawFirstUnit = false;
explicitLeadingDot = false;
};
while (index < length) {
const ch = pattern[index];
// Backslash escape → literal
if (ch === "\\") {
const [escaped, nextIndex] = handleEscape(pattern, index, length);
if (!sawFirstUnit && index + 1 < length) {
if (pattern[index + 1] === ".")
explicitLeadingDot = true;
sawFirstUnit = true;
}
currentSegmentRegexSource += escaped;
index = nextIndex;
continue;
}
// Slash → boundary
if (ch === "/") {
flushCurrentSegment();
++index;
continue;
}
// Bracket class '[ ... ]' (best-effort, still does not match '/')
if (ch === "[") {
const [s, e] = readBalancedRange(pattern, index, "[", "]");
// If first unit of segment is a literal '.' inside a class like [.] set explicit flag.
if (!sawFirstUnit && pattern[s + 1] === "." && pattern[s + 2] === "]") {
explicitLeadingDot = true;
}
currentSegmentRegexSource += pattern.slice(s, e);
index = e;
continue;
}
// Extglob at segment level
if (isExtglobOperator(ch) && pattern[index + 1] === "(") {
// First unit is wildcard (not a literal dot) → do not mark explicitLeadingDot
const { regexSource, nextIndex } = parseExtglob(pattern, index);
currentSegmentRegexSource += regexSource;
index = nextIndex;
continue;
}
// Star(s)
if (ch === "*") {
let runEnd = index + 1;
while (runEnd < length && pattern[runEnd] === "*")
++runEnd;
if (runEnd - index >= 2) {
flushCurrentSegment();
segments.push({ kind: 1 /* SegmentKind.GlobStar */ });
}
else {
// '*' within a segment is wildcard → does not set explicitLeadingDot
currentSegmentRegexSource += "[^/]*";
}
index = runEnd;
continue;
}
// Single '?'
if (ch === "?") {
currentSegmentRegexSource += "[^/]";
++index;
continue;
}
// Plain text run
const start = index;
while (index < length) {
const c = pattern[index];
if (c === "\\" || c === "/" || c === "[" || c === "*" || c === "?" || isExtglobOperator(c)) {
break;
}
++index;
}
if (start < index) {
if (!sawFirstUnit) {
if (pattern[start] === ".")
explicitLeadingDot = true;
sawFirstUnit = true;
}
currentSegmentRegexSource += escapeRegex(pattern.slice(start, index));
}
}
flushCurrentSegment();
return segments;
};
const isExtglobOperator = (c) => c === "@" || c === "!" || c === "?" || c === "+" || c === "*";
// Balanced read starting on opener at position `pos`
const readBalancedRange = (s, pos, open, close) => {
const start = pos;
const n = s.length;
let depth = 0;
while (pos < n) {
const ch = s[pos];
++pos;
if (ch === "\\") {
if (pos < n) {
++pos;
}
continue;
}
if (ch === open) {
++depth;
continue;
}
if (ch === close) {
--depth;
if (depth === 0) {
break;
}
}
}
return [start, pos];
};
const parseExtglob = (pattern, opIndex) => {
const kind = pattern[opIndex];
const [parenStart, parenEnd] = readBalancedRange(pattern, opIndex + 1, "(", ")"); // start on '('
const innerStart = parenStart + 1;
const innerEnd = parenEnd - 1;
const alternates = splitAlternatesTopLevel(pattern, innerStart, innerEnd)
.map(([s, e]) => compileSubpatternToRegexSource(pattern, s, e))
.join("|");
const extglobSuffix = { "@": "", "?": "?", "+": "+", "*": "*" };
const source = kind === "!" ? `(?:(?!${alternates})[^/]+)` : `(?:${alternates})${extglobSuffix[kind]}`;
return { regexSource: source, nextIndex: parenEnd };
};
const splitAlternatesTopLevel = (pattern, start, end) => {
const parts = [];
let parenDepth = 0;
let bracketDepth = 0;
let pieceStart = start;
for (let index = start; index < end; ++index) {
const ch = pattern[index];
if (ch === "\\") {
++index;
continue;
}
if (ch === "[" && parenDepth >= 0) {
++bracketDepth;
continue;
}
if (ch === "]" && bracketDepth > 0) {
--bracketDepth;
continue;
}
if (bracketDepth === 0) {
if (ch === "(") {
++parenDepth;
continue;
}
if (ch === ")") {
if (parenDepth > 0)
--parenDepth;
continue;
}
}
if (ch === "|" && parenDepth === 0 && bracketDepth === 0) {
parts.push([pieceStart, index]);
pieceStart = index + 1;
}
}
parts.push([pieceStart, end]);
return parts;
};
/** Compile a subpattern that lives within a single segment into regex source. */
const compileSubpatternToRegexSource = (pattern, start, end) => {
let source = "";
let index = start;
while (index < end) {
const ch = pattern[index];
if (ch === "\\") {
const [escaped, nextIndex] = handleEscape(pattern, index, end);
source += escaped;
index = nextIndex;
continue;
}
if (ch === "[") {
const [s, e] = readBalancedRange(pattern, index, "[", "]");
source += pattern.slice(s, e);
index = e;
continue;
}
if (isExtglobOperator(ch) && pattern[index + 1] === "(") {
const { regexSource, nextIndex } = parseExtglob(pattern, index);
source += regexSource;
index = nextIndex;
continue;
}
if (ch === "?") {
source += "[^/]";
++index;
continue;
}
if (ch === "*") {
source += "[^/]*";
++index;
continue;
}
// plain text run
const runStart = index;
while (index < end) {
const c = pattern[index];
if (c === "\\" || c === "[" || c === "?" || c === "*" || isExtglobOperator(c)) {
break;
}
++index;
}
if (runStart < index) {
source += escapeRegex(pattern.slice(runStart, index));
}
}
return source;
};
const escapeRegex = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
//# sourceMappingURL=pattern.js.map
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../src/pattern.ts"],"names":[],"mappings":"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"}
+0
-2
import { type Stats } from "node:fs";
import * as path from "./path.js";
export { readFile, stat as getFileStats, unlink as deleteFile, writeFile } from "node:fs/promises";
/** Copies a file using the fastest method available. @deprecated */
export declare const copy: (src: PathLike, dest: PathLike) => Promise<void>;
/** Copies a file using the fastest method available. */

@@ -7,0 +5,0 @@ export declare const copyFile: (src: PathLike, dest: PathLike) => Promise<void>;

@@ -8,11 +8,2 @@ import { createHash } from "node:crypto";

export { readFile, stat as getFileStats, unlink as deleteFile, writeFile } from "node:fs/promises";
/** Copies a file using the fastest method available. @deprecated */
export const copy = async (src, dest) => {
try {
return await fsCopyFile(src, dest, fsConstants.COPYFILE_FICLONE);
}
catch {
return await fsCopyFile(src, dest);
}
};
/** Copies a file using the fastest method available. */

@@ -19,0 +10,0 @@ export const copyFile = async (src, dest) => {

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

{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"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"}
import type { RollupOptions } from "rollup";
export declare const assignInput: <T extends string[] | Record<string, string>>(input: T, id: string) => T;
/** Assigns an input to Rollup input options. */
export declare const assignInput: <T extends InputOption>(input: T, id: string) => T;
/** Assigns an input to Rollup options. */
export declare const assignOptionsInput: (options: RollupOptions, id: string) => InputOption;
/** Normalizes Rollup input options. */
export declare const normalizeOptionsInput: (options: RollupOptions) => InputOption;
/** Returns the dist and root directories from Rollup output options. */
export declare const getDirs: (options: RollupOptions) => {

@@ -7,1 +13,3 @@ distDir: string | undefined;

};
/** Normalized Rollup input option. */
export type InputOption = Record<string, string> | string[];
import * as array from "./array.js";
/** Assigns an input to Rollup input options. */
export const assignInput = (input, id) => {
if (Array.isArray(input)) {
input.push(id);
if (!input.includes(id)) {
input.push(id);
}
}

@@ -11,2 +14,11 @@ else {

};
/** Assigns an input to Rollup options. */
export const assignOptionsInput = (options, id) => assignInput(normalizeOptionsInput(options), id);
/** Normalizes Rollup input options. */
export const normalizeOptionsInput = (options) => {
options.input = options.input ?? [];
options.input = typeof options.input === "object" ? options.input : [options.input];
return options.input;
};
/** Returns the dist and root directories from Rollup output options. */
export const getDirs = (options) => ({

@@ -13,0 +25,0 @@ distDir: array.from(options.output).find((output) => output.dir)?.dir,

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

{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG,CAA8C,KAAQ,EAAE,EAAU,EAAK,EAAE;IACnG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACf,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG;IACrE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CACrG,CAAC,CAAA"}
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,gDAAgD;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAwB,KAAQ,EAAE,EAAU,EAAK,EAAE;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACf,CAAC;IACF,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC,CAAA;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAsB,EAAE,EAAU,EAAe,EAAE,CACrF,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;AAEhD,uCAAuC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAsB,EAAe,EAAE;IAC5E,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;IACnC,OAAO,CAAC,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEnF,OAAO,OAAO,CAAC,KAAK,CAAA;AACrB,CAAC,CAAA;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG;IACrE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CACrG,CAAC,CAAA"}

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

import { sep as sepByOS } from "node:path";
import { sep } from "node:path/posix";
/** Returns the file path with a trailing slash. */

@@ -14,4 +16,9 @@ export declare const toDirPath: (path: PathLike, ...parts: PathLike[]) => string;

/** Returns the given path relative to the base path. */
export declare const toRelativePath: (base: PathLike, path: PathLike, matchOS?: boolean) => string;
export declare const toPathWithoutBase: (path: PathLike, base: PathLike) => string;
export declare const toRelativePath: (path: PathLike, base: PathLike, opts?: RelativePathOptions) => string;
export declare const toNativePath: (path: PathLike, force?: boolean) => string;
export { sep, sepByOS };
export type PathLike = string | URL;
export type RelativePathOptions = {
explicit?: boolean;
matchOS?: boolean;
};
import { isAbsolute as isAbsoluteByOS, sep as sepByOS } from "node:path";
import { resolve, sep } from "node:path/posix";
import { pathToFileURL } from "node:url";
import { fileURLToPath, pathToFileURL } from "node:url";
/** Returns the file path with a trailing slash. */
export const toDirPath = (path, ...parts) => toDirURL(path, ...parts).pathname;
export const toDirPath = (path, ...parts) => __toPath(toDirURL(path, ...parts));
/** Returns a resolved URL of a directory from any path. */
export const toDirURL = (path, ...parts) => __toDirURL(toURL(path, ...parts));
export const toDirURL = (path, ...parts) => __toDirFromURL(toURL(path, ...parts));
/** Returns the parent directory path of the given path. */
export const toParentPath = (path) => toParentURL(path).pathname;
export const toParentPath = (path) => __toPath(toParentURL(path));
/** Returns the parent directory URL of the given path. */
export const toParentURL = (path) => toURL(path, "./");
/** Returns a resolved, posix path from any path. */
export const toPath = (path, ...parts) => toURL(path, ...parts).pathname;
export const toPath = (path, ...parts) => __toPath(toURL(path, ...parts));
/** Returns a URL from any path. */
export const toURL = (path, ...parts) => __withURLParts(__toURL(path), parts);
export const toURL = (path, ...parts) => __withPartsFromURL(__toURL(path), parts);
/** Returns the given path relative to the base path. */
export const toRelativePath = (base, path, matchOS = false) => {
export const toRelativePath = (path, base, opts = null) => {
opts = {
explicit: true,
matchOS: false,
...opts,
};
base = __toURL(base);
path = __withURLParts(base, [path]);
const baseParts = base.pathname.slice(1).split("/");
const pathParts = path.pathname.slice(1).split("/"); // <-- use path, not base
// Remove the trailing "" segment if base ends with a slash
if (base.pathname.endsWith("/")) {
baseParts.pop();
}
path = __withPartsFromURL(base, [path]);
/** Base path segments (omitting the root segment and last segment). */
const baseParts = base.pathname.split("/").slice(1, -1);
/** Path path segments (omitting the root segment). */
const pathParts = path.pathname.split("/").slice(1);
let shared = 0;

@@ -32,10 +35,11 @@ const max = Math.min(baseParts.length, pathParts.length);

const up = baseParts.length - shared;
const dir = matchOS ? sepByOS : sep;
const dir = opts.matchOS ? sepByOS : sep;
const tail = pathParts.slice(shared).join(dir);
return (up ? `..${dir}`.repeat(up) : `.${dir}`) + tail;
return (up ? `..${dir}`.repeat(up) : opts.explicit ? `.${dir}` : "") + tail;
};
export const toPathWithoutBase = (path, base) => ((base = __toDirURL(__toURL(base))),
(path = __withURLParts(base, [path]).pathname),
path.startsWith(base.pathname) ? path.slice(base.pathname.length) : path);
export const toNativePath = (path, force = true) => fileURLToPath(__toURL(path), { windows: force ? undefined : false });
// #region Types
export { sep, sepByOS };
// #region Internals
const __toPath = (url) => decodeURIComponent(url.pathname);
const __toURL = (path) => path instanceof URL

@@ -48,4 +52,4 @@ ? path

: pathToFileURL(resolve(path));
const __toDirURL = (url) => url.pathname.endsWith("/") ? url : new URL(`${url.pathname}/${url.search}${url.hash}`, url);
const __withURLParts = (url, parts) => {
const __toDirFromURL = (url) => url.pathname.endsWith("/") ? url : new URL(`${url.pathname}/${url.search}${url.hash}`, url);
const __withPartsFromURL = (url, parts) => {
for (const part of parts) {

@@ -52,0 +56,0 @@ url = new URL(part, url);

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

{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"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"}
import type * as Rollup from "rollup";
export declare class VirtualAsset {
#private;
constructor(id: string, hooks?: Partial<VirtualAsset.Hooks>);
constructor(id: string);
get id(): string;
set id(id: string);
get virtualId(): string;
buildStart(context: Rollup.PluginContext, options: Rollup.NormalizedInputOptions): void;
resolveId(context: Rollup.PluginContext, id: string, importer: string | undefined, options: VirtualAsset.ResolveIdOptions): Rollup.ResolveIdResult;
load(context: Rollup.PluginContext, id: string): Rollup.LoadResult;
generateBundle(context: Rollup.PluginContext, options: Rollup.NormalizedOutputOptions, bundle: Rollup.OutputBundle): void;
options(options: Rollup.RollupOptions): void;
generateBundle(options: Rollup.NormalizedOutputOptions, bundle: Rollup.OutputBundle): void;
}
export declare namespace VirtualAsset {
interface Hooks {
buildStart(this: VirtualAsset, context: Rollup.PluginContext, options: Rollup.NormalizedInputOptions): void;
resolveId(this: VirtualAsset, context: Rollup.PluginContext, id: string, importer: string | undefined, options: ResolveIdOptions): Rollup.ResolveIdResult;
load(this: VirtualAsset, context: Rollup.PluginContext, id: string): Rollup.LoadResult;
generateBundle(this: VirtualAsset, context: Rollup.PluginContext, options: Rollup.NormalizedOutputOptions, bundle: Rollup.OutputBundle): void;
}
interface ResolveIdOptions {
attributes: Record<string, string>;
custom?: Rollup.CustomPluginOptions;
isEntry: boolean;
}
}

@@ -1,8 +0,6 @@

import { assignInput } from "./options.js";
import { assignOptionsInput } from "./options.js";
export class VirtualAsset {
#id = "";
#hooks = Object.create(null);
constructor(id, hooks) {
constructor(id) {
this.id = id;
Object.assign(this.#hooks, hooks);
}

@@ -19,24 +17,6 @@ get id() {

}
buildStart(context, options) {
if (typeof this.#hooks.buildStart === "function") {
this.#hooks.buildStart.call(this, context, options);
}
assignInput(options.input, this.virtualId);
options(options) {
assignOptionsInput(options, this.virtualId);
}
resolveId(context, id, importer, options) {
if (id === this.virtualId) {
return this.#hooks.resolveId?.call(this, context, id, importer, options) || { id };
}
}
load(context, id) {
if (id === this.virtualId) {
return (this.#hooks.load?.call(this, context, id) || {
code: "export let _",
});
}
}
generateBundle(context, options, bundle) {
if (typeof this.#hooks.generateBundle === "function") {
this.#hooks.generateBundle.call(this, context, options, bundle);
}
generateBundle(options, bundle) {
// with sanitization

@@ -43,0 +23,0 @@ let bundleId = options.sanitizeFileName(this.virtualId);

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

{"version":3,"file":"virtual-asset.js","sourceRoot":"","sources":["../src/virtual-asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,OAAO,YAAY;IACxB,GAAG,GAAG,EAAE,CAAA;IACR,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAgC,CAAA;IAE3D,YAAY,EAAU,EAAE,KAAmC;QAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QAEZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,EAAU;QAChB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAA;QAEhE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAA;IACvB,CAAC;IAED,UAAU,CAAC,OAA6B,EAAE,OAAsC;QAC/E,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,SAAS,CACR,OAA6B,EAC7B,EAAU,EACV,QAA4B,EAC5B,OAAsC;QAEtC,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAA;QACnF,CAAC;IACF,CAAC;IAED,IAAI,CAAC,OAA6B,EAAE,EAAU;QAC7C,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,CACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI;gBAC5C,IAAI,EAAE,cAAc;aACpB,CACD,CAAA;QACF,CAAC;IACF,CAAC;IAED,cAAc,CACb,OAA6B,EAC7B,OAAuC,EACvC,MAA2B;QAE3B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAChE,CAAC;QAED,oBAAoB;QACpB,IAAI,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEvD,2BAA2B;QAC3B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEtC,uBAAuB;QACvB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAE5C,sBAAsB;QACtB,QAAQ,GAAG,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,KAAK,CAAA;QAErD,8BAA8B;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;IACF,CAAC;CACD"}
{"version":3,"file":"virtual-asset.js","sourceRoot":"","sources":["../src/virtual-asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,OAAO,YAAY;IACxB,GAAG,GAAG,EAAE,CAAA;IAER,YAAY,EAAU;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,CAAC;IAED,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,EAAU;QAChB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAA;QAEhE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;IACd,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,OAA6B;QACpC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5C,CAAC;IAED,cAAc,CAAC,OAAuC,EAAE,MAA2B;QAClF,oBAAoB;QACpB,IAAI,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEvD,2BAA2B;QAC3B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAEtC,uBAAuB;QACvB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAE5C,sBAAsB;QACtB,QAAQ,GAAG,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,KAAK,CAAA;QAErD,8BAA8B;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;IACF,CAAC;CACD"}
{
"name": "@jsxtools/rollup-plugin-utils",
"description": "A collection of utilities for authoring Rollup plugins.",
"version": "0.2.1",
"version": "0.3.0",
"type": "module",

@@ -12,2 +12,3 @@ "exports": {

"./path": "./dist/path.js",
"./pattern": "./dist/pattern.js",
"./string": "./dist/string.js",

@@ -14,0 +15,0 @@ "./virtual-asset": "./dist/virtual-asset.js"