update
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"name": "is-glob",
|
||||
"description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.",
|
||||
"version": "4.0.3",
|
||||
"homepage": "https://github.com/micromatch/is-glob",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"contributors": [
|
||||
"Brian Woodward (https://twitter.com/doowb)",
|
||||
"Daniel Perez (https://tuvistavie.com)",
|
||||
"Jon Schlinkert (http://twitter.com/jonschlinkert)"
|
||||
],
|
||||
"repository": "micromatch/is-glob",
|
||||
"bugs": {
|
||||
"url": "https://github.com/micromatch/is-glob/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha && node benchmark.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"is-extglob": "^2.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp-format-md": "^0.1.10",
|
||||
"mocha": "^3.0.2"
|
||||
},
|
||||
"keywords": [
|
||||
"bash",
|
||||
"braces",
|
||||
"check",
|
||||
"exec",
|
||||
"expression",
|
||||
"extglob",
|
||||
"glob",
|
||||
"globbing",
|
||||
"globstar",
|
||||
"is",
|
||||
"match",
|
||||
"matches",
|
||||
"pattern",
|
||||
"regex",
|
||||
"regular",
|
||||
"string",
|
||||
"test"
|
||||
],
|
||||
"verb": {
|
||||
"layout": "default",
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"related": {
|
||||
"list": [
|
||||
"assemble",
|
||||
"base",
|
||||
"update",
|
||||
"verb"
|
||||
]
|
||||
},
|
||||
"reflinks": [
|
||||
"assemble",
|
||||
"bach",
|
||||
"base",
|
||||
"composer",
|
||||
"gulp",
|
||||
"has-glob",
|
||||
"is-valid-glob",
|
||||
"micromatch",
|
||||
"npm",
|
||||
"scaffold",
|
||||
"verb",
|
||||
"vinyl"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
/**
|
||||
* @fileoverview Disallows multiple blank lines.
|
||||
* implementation adapted from the no-trailing-spaces rule.
|
||||
* @author Greg Cochard
|
||||
* @deprecated in ESLint v8.53.0
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Rule Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/** @type {import('../shared/types').Rule} */
|
||||
module.exports = {
|
||||
meta: {
|
||||
deprecated: {
|
||||
message: "Formatting rules are being moved out of ESLint core.",
|
||||
url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
|
||||
deprecatedSince: "8.53.0",
|
||||
availableUntil: "10.0.0",
|
||||
replacedBy: [
|
||||
{
|
||||
message:
|
||||
"ESLint Stylistic now maintains deprecated stylistic core rules.",
|
||||
url: "https://eslint.style/guide/migration",
|
||||
plugin: {
|
||||
name: "@stylistic/eslint-plugin-js",
|
||||
url: "https://eslint.style/packages/js",
|
||||
},
|
||||
rule: {
|
||||
name: "no-multiple-empty-lines",
|
||||
url: "https://eslint.style/rules/js/no-multiple-empty-lines",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
type: "layout",
|
||||
|
||||
docs: {
|
||||
description: "Disallow multiple empty lines",
|
||||
recommended: false,
|
||||
url: "https://eslint.org/docs/latest/rules/no-multiple-empty-lines",
|
||||
},
|
||||
|
||||
fixable: "whitespace",
|
||||
|
||||
schema: [
|
||||
{
|
||||
type: "object",
|
||||
properties: {
|
||||
max: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
maxEOF: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
maxBOF: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
},
|
||||
required: ["max"],
|
||||
additionalProperties: false,
|
||||
},
|
||||
],
|
||||
|
||||
messages: {
|
||||
blankBeginningOfFile:
|
||||
"Too many blank lines at the beginning of file. Max of {{max}} allowed.",
|
||||
blankEndOfFile:
|
||||
"Too many blank lines at the end of file. Max of {{max}} allowed.",
|
||||
consecutiveBlank:
|
||||
"More than {{max}} blank {{pluralizedLines}} not allowed.",
|
||||
},
|
||||
},
|
||||
|
||||
create(context) {
|
||||
// Use options.max or 2 as default
|
||||
let max = 2,
|
||||
maxEOF = max,
|
||||
maxBOF = max;
|
||||
|
||||
if (context.options.length) {
|
||||
max = context.options[0].max;
|
||||
maxEOF =
|
||||
typeof context.options[0].maxEOF !== "undefined"
|
||||
? context.options[0].maxEOF
|
||||
: max;
|
||||
maxBOF =
|
||||
typeof context.options[0].maxBOF !== "undefined"
|
||||
? context.options[0].maxBOF
|
||||
: max;
|
||||
}
|
||||
|
||||
const sourceCode = context.sourceCode;
|
||||
|
||||
// Swallow the final newline, as some editors add it automatically and we don't want it to cause an issue
|
||||
const allLines =
|
||||
sourceCode.lines.at(-1) === ""
|
||||
? sourceCode.lines.slice(0, -1)
|
||||
: sourceCode.lines;
|
||||
const templateLiteralLines = new Set();
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Public
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
return {
|
||||
TemplateLiteral(node) {
|
||||
node.quasis.forEach(literalPart => {
|
||||
// Empty lines have a semantic meaning if they're inside template literals. Don't count these as empty lines.
|
||||
for (
|
||||
let ignoredLine = literalPart.loc.start.line;
|
||||
ignoredLine < literalPart.loc.end.line;
|
||||
ignoredLine++
|
||||
) {
|
||||
templateLiteralLines.add(ignoredLine);
|
||||
}
|
||||
});
|
||||
},
|
||||
"Program:exit"(node) {
|
||||
return (
|
||||
allLines
|
||||
|
||||
// Given a list of lines, first get a list of line numbers that are non-empty.
|
||||
.reduce((nonEmptyLineNumbers, line, index) => {
|
||||
if (
|
||||
line.trim() ||
|
||||
templateLiteralLines.has(index + 1)
|
||||
) {
|
||||
nonEmptyLineNumbers.push(index + 1);
|
||||
}
|
||||
return nonEmptyLineNumbers;
|
||||
}, [])
|
||||
|
||||
// Add a value at the end to allow trailing empty lines to be checked.
|
||||
.concat(allLines.length + 1)
|
||||
|
||||
// Given two line numbers of non-empty lines, report the lines between if the difference is too large.
|
||||
.reduce((lastLineNumber, lineNumber) => {
|
||||
let messageId, maxAllowed;
|
||||
|
||||
if (lastLineNumber === 0) {
|
||||
messageId = "blankBeginningOfFile";
|
||||
maxAllowed = maxBOF;
|
||||
} else if (lineNumber === allLines.length + 1) {
|
||||
messageId = "blankEndOfFile";
|
||||
maxAllowed = maxEOF;
|
||||
} else {
|
||||
messageId = "consecutiveBlank";
|
||||
maxAllowed = max;
|
||||
}
|
||||
|
||||
if (lineNumber - lastLineNumber - 1 > maxAllowed) {
|
||||
context.report({
|
||||
node,
|
||||
loc: {
|
||||
start: {
|
||||
line:
|
||||
lastLineNumber + maxAllowed + 1,
|
||||
column: 0,
|
||||
},
|
||||
end: { line: lineNumber, column: 0 },
|
||||
},
|
||||
messageId,
|
||||
data: {
|
||||
max: maxAllowed,
|
||||
pluralizedLines:
|
||||
maxAllowed === 1 ? "line" : "lines",
|
||||
},
|
||||
fix(fixer) {
|
||||
const rangeStart =
|
||||
sourceCode.getIndexFromLoc({
|
||||
line: lastLineNumber + 1,
|
||||
column: 0,
|
||||
});
|
||||
|
||||
/*
|
||||
* The end of the removal range is usually the start index of the next line.
|
||||
* However, at the end of the file there is no next line, so the end of the
|
||||
* range is just the length of the text.
|
||||
*/
|
||||
const lineNumberAfterRemovedLines =
|
||||
lineNumber - maxAllowed;
|
||||
const rangeEnd =
|
||||
lineNumberAfterRemovedLines <=
|
||||
allLines.length
|
||||
? sourceCode.getIndexFromLoc({
|
||||
line: lineNumberAfterRemovedLines,
|
||||
column: 0,
|
||||
})
|
||||
: sourceCode.text.length;
|
||||
|
||||
return fixer.removeRange([
|
||||
rangeStart,
|
||||
rangeEnd,
|
||||
]);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return lineNumber;
|
||||
}, 0)
|
||||
);
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
import { AnnotationLayerBuilder } from "./annotation_layer_builder.js";
|
||||
import { DownloadManager } from "./download_manager.js";
|
||||
import { EventBus } from "./event_utils.js";
|
||||
import { FindState } from "./pdf_find_controller.js";
|
||||
import { GenericL10n } from "./genericl10n.js";
|
||||
import { LinkTarget } from "./pdf_link_service.js";
|
||||
import { parseQueryString } from "./ui_utils.js";
|
||||
import { PDFFindController } from "./pdf_find_controller.js";
|
||||
import { PDFHistory } from "./pdf_history.js";
|
||||
import { PDFLinkService } from "./pdf_link_service.js";
|
||||
import { PDFPageView } from "./pdf_page_view.js";
|
||||
import { PDFScriptingManager } from "./pdf_scripting_manager.component.js";
|
||||
import { PDFSinglePageViewer } from "./pdf_single_page_viewer.js";
|
||||
import { PDFViewer } from "./pdf_viewer.js";
|
||||
import { ProgressBar } from "./ui_utils.js";
|
||||
import { RenderingStates } from "./ui_utils.js";
|
||||
import { ScrollMode } from "./ui_utils.js";
|
||||
import { SimpleLinkService } from "./pdf_link_service.js";
|
||||
import { SpreadMode } from "./ui_utils.js";
|
||||
import { StructTreeLayerBuilder } from "./struct_tree_layer_builder.js";
|
||||
import { TextLayerBuilder } from "./text_layer_builder.js";
|
||||
import { XfaLayerBuilder } from "./xfa_layer_builder.js";
|
||||
export { AnnotationLayerBuilder, DownloadManager, EventBus, FindState, GenericL10n, LinkTarget, parseQueryString, PDFFindController, PDFHistory, PDFLinkService, PDFPageView, PDFScriptingManager, PDFSinglePageViewer, PDFViewer, ProgressBar, RenderingStates, ScrollMode, SimpleLinkService, SpreadMode, StructTreeLayerBuilder, TextLayerBuilder, XfaLayerBuilder };
|
||||
@@ -0,0 +1,246 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/set-array'), require('@jridgewell/sourcemap-codec'), require('@jridgewell/trace-mapping')) :
|
||||
typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/set-array', '@jridgewell/sourcemap-codec', '@jridgewell/trace-mapping'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.genMapping = {}, global.setArray, global.sourcemapCodec, global.traceMapping));
|
||||
})(this, (function (exports, setArray, sourcemapCodec, traceMapping) { 'use strict';
|
||||
|
||||
const COLUMN = 0;
|
||||
const SOURCES_INDEX = 1;
|
||||
const SOURCE_LINE = 2;
|
||||
const SOURCE_COLUMN = 3;
|
||||
const NAMES_INDEX = 4;
|
||||
|
||||
const NO_NAME = -1;
|
||||
/**
|
||||
* Provides the state to generate a sourcemap.
|
||||
*/
|
||||
class GenMapping {
|
||||
constructor({ file, sourceRoot } = {}) {
|
||||
this._names = new setArray.SetArray();
|
||||
this._sources = new setArray.SetArray();
|
||||
this._sourcesContent = [];
|
||||
this._mappings = [];
|
||||
this.file = file;
|
||||
this.sourceRoot = sourceRoot;
|
||||
this._ignoreList = new setArray.SetArray();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Typescript doesn't allow friend access to private fields, so this just casts the map into a type
|
||||
* with public access modifiers.
|
||||
*/
|
||||
function cast(map) {
|
||||
return map;
|
||||
}
|
||||
function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
|
||||
return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
|
||||
}
|
||||
function addMapping(map, mapping) {
|
||||
return addMappingInternal(false, map, mapping);
|
||||
}
|
||||
/**
|
||||
* Same as `addSegment`, but will only add the segment if it generates useful information in the
|
||||
* resulting map. This only works correctly if segments are added **in order**, meaning you should
|
||||
* not add a segment with a lower generated line/column than one that came before.
|
||||
*/
|
||||
const maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
|
||||
return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
|
||||
};
|
||||
/**
|
||||
* Same as `addMapping`, but will only add the mapping if it generates useful information in the
|
||||
* resulting map. This only works correctly if mappings are added **in order**, meaning you should
|
||||
* not add a mapping with a lower generated line/column than one that came before.
|
||||
*/
|
||||
const maybeAddMapping = (map, mapping) => {
|
||||
return addMappingInternal(true, map, mapping);
|
||||
};
|
||||
/**
|
||||
* Adds/removes the content of the source file to the source map.
|
||||
*/
|
||||
function setSourceContent(map, source, content) {
|
||||
const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);
|
||||
const index = setArray.put(sources, source);
|
||||
sourcesContent[index] = content;
|
||||
}
|
||||
function setIgnore(map, source, ignore = true) {
|
||||
const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);
|
||||
const index = setArray.put(sources, source);
|
||||
if (index === sourcesContent.length)
|
||||
sourcesContent[index] = null;
|
||||
if (ignore)
|
||||
setArray.put(ignoreList, index);
|
||||
else
|
||||
setArray.remove(ignoreList, index);
|
||||
}
|
||||
/**
|
||||
* Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
|
||||
* a sourcemap, or to JSON.stringify.
|
||||
*/
|
||||
function toDecodedMap(map) {
|
||||
const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, _ignoreList: ignoreList, } = cast(map);
|
||||
removeEmptyFinalLines(mappings);
|
||||
return {
|
||||
version: 3,
|
||||
file: map.file || undefined,
|
||||
names: names.array,
|
||||
sourceRoot: map.sourceRoot || undefined,
|
||||
sources: sources.array,
|
||||
sourcesContent,
|
||||
mappings,
|
||||
ignoreList: ignoreList.array,
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
|
||||
* a sourcemap, or to JSON.stringify.
|
||||
*/
|
||||
function toEncodedMap(map) {
|
||||
const decoded = toDecodedMap(map);
|
||||
return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) });
|
||||
}
|
||||
/**
|
||||
* Constructs a new GenMapping, using the already present mappings of the input.
|
||||
*/
|
||||
function fromMap(input) {
|
||||
const map = new traceMapping.TraceMap(input);
|
||||
const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
|
||||
putAll(cast(gen)._names, map.names);
|
||||
putAll(cast(gen)._sources, map.sources);
|
||||
cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);
|
||||
cast(gen)._mappings = traceMapping.decodedMappings(map);
|
||||
if (map.ignoreList)
|
||||
putAll(cast(gen)._ignoreList, map.ignoreList);
|
||||
return gen;
|
||||
}
|
||||
/**
|
||||
* Returns an array of high-level mapping objects for every recorded segment, which could then be
|
||||
* passed to the `source-map` library.
|
||||
*/
|
||||
function allMappings(map) {
|
||||
const out = [];
|
||||
const { _mappings: mappings, _sources: sources, _names: names } = cast(map);
|
||||
for (let i = 0; i < mappings.length; i++) {
|
||||
const line = mappings[i];
|
||||
for (let j = 0; j < line.length; j++) {
|
||||
const seg = line[j];
|
||||
const generated = { line: i + 1, column: seg[COLUMN] };
|
||||
let source = undefined;
|
||||
let original = undefined;
|
||||
let name = undefined;
|
||||
if (seg.length !== 1) {
|
||||
source = sources.array[seg[SOURCES_INDEX]];
|
||||
original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
|
||||
if (seg.length === 5)
|
||||
name = names.array[seg[NAMES_INDEX]];
|
||||
}
|
||||
out.push({ generated, source, original, name });
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
// This split declaration is only so that terser can elminiate the static initialization block.
|
||||
function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
|
||||
const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = cast(map);
|
||||
const line = getLine(mappings, genLine);
|
||||
const index = getColumnIndex(line, genColumn);
|
||||
if (!source) {
|
||||
if (skipable && skipSourceless(line, index))
|
||||
return;
|
||||
return insert(line, index, [genColumn]);
|
||||
}
|
||||
const sourcesIndex = setArray.put(sources, source);
|
||||
const namesIndex = name ? setArray.put(names, name) : NO_NAME;
|
||||
if (sourcesIndex === sourcesContent.length)
|
||||
sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
|
||||
if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
|
||||
return;
|
||||
}
|
||||
return insert(line, index, name
|
||||
? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
|
||||
: [genColumn, sourcesIndex, sourceLine, sourceColumn]);
|
||||
}
|
||||
function getLine(mappings, index) {
|
||||
for (let i = mappings.length; i <= index; i++) {
|
||||
mappings[i] = [];
|
||||
}
|
||||
return mappings[index];
|
||||
}
|
||||
function getColumnIndex(line, genColumn) {
|
||||
let index = line.length;
|
||||
for (let i = index - 1; i >= 0; index = i--) {
|
||||
const current = line[i];
|
||||
if (genColumn >= current[COLUMN])
|
||||
break;
|
||||
}
|
||||
return index;
|
||||
}
|
||||
function insert(array, index, value) {
|
||||
for (let i = array.length; i > index; i--) {
|
||||
array[i] = array[i - 1];
|
||||
}
|
||||
array[index] = value;
|
||||
}
|
||||
function removeEmptyFinalLines(mappings) {
|
||||
const { length } = mappings;
|
||||
let len = length;
|
||||
for (let i = len - 1; i >= 0; len = i, i--) {
|
||||
if (mappings[i].length > 0)
|
||||
break;
|
||||
}
|
||||
if (len < length)
|
||||
mappings.length = len;
|
||||
}
|
||||
function putAll(setarr, array) {
|
||||
for (let i = 0; i < array.length; i++)
|
||||
setArray.put(setarr, array[i]);
|
||||
}
|
||||
function skipSourceless(line, index) {
|
||||
// The start of a line is already sourceless, so adding a sourceless segment to the beginning
|
||||
// doesn't generate any useful information.
|
||||
if (index === 0)
|
||||
return true;
|
||||
const prev = line[index - 1];
|
||||
// If the previous segment is also sourceless, then adding another sourceless segment doesn't
|
||||
// genrate any new information. Else, this segment will end the source/named segment and point to
|
||||
// a sourceless position, which is useful.
|
||||
return prev.length === 1;
|
||||
}
|
||||
function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
|
||||
// A source/named segment at the start of a line gives position at that genColumn
|
||||
if (index === 0)
|
||||
return false;
|
||||
const prev = line[index - 1];
|
||||
// If the previous segment is sourceless, then we're transitioning to a source.
|
||||
if (prev.length === 1)
|
||||
return false;
|
||||
// If the previous segment maps to the exact same source position, then this segment doesn't
|
||||
// provide any new position information.
|
||||
return (sourcesIndex === prev[SOURCES_INDEX] &&
|
||||
sourceLine === prev[SOURCE_LINE] &&
|
||||
sourceColumn === prev[SOURCE_COLUMN] &&
|
||||
namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));
|
||||
}
|
||||
function addMappingInternal(skipable, map, mapping) {
|
||||
const { generated, source, original, name, content } = mapping;
|
||||
if (!source) {
|
||||
return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
|
||||
}
|
||||
return addSegmentInternal(skipable, map, generated.line - 1, generated.column, source, original.line - 1, original.column, name, content);
|
||||
}
|
||||
|
||||
exports.GenMapping = GenMapping;
|
||||
exports.addMapping = addMapping;
|
||||
exports.addSegment = addSegment;
|
||||
exports.allMappings = allMappings;
|
||||
exports.fromMap = fromMap;
|
||||
exports.maybeAddMapping = maybeAddMapping;
|
||||
exports.maybeAddSegment = maybeAddSegment;
|
||||
exports.setIgnore = setIgnore;
|
||||
exports.setSourceContent = setSourceContent;
|
||||
exports.toDecodedMap = toDecodedMap;
|
||||
exports.toEncodedMap = toEncodedMap;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=gen-mapping.umd.js.map
|
||||
@@ -0,0 +1,210 @@
|
||||
import * as t from "@babel/types";
|
||||
|
||||
export interface GeneratorOptions {
|
||||
/**
|
||||
* Optional string to add as a block comment at the start of the output file.
|
||||
*/
|
||||
auxiliaryCommentBefore?: string | undefined;
|
||||
|
||||
/**
|
||||
* Optional string to add as a block comment at the end of the output file.
|
||||
*/
|
||||
auxiliaryCommentAfter?: string | undefined;
|
||||
|
||||
/**
|
||||
* Function that takes a comment (as a string) and returns true if the comment should be included in the output.
|
||||
* By default, comments are included if `opts.comments` is `true` or if `opts.minifed` is `false` and the comment
|
||||
* contains `@preserve` or `@license`.
|
||||
*/
|
||||
shouldPrintComment?(comment: string): boolean;
|
||||
|
||||
/**
|
||||
* Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).
|
||||
* Defaults to `false`.
|
||||
*/
|
||||
retainLines?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Retain parens around function expressions (could be used to change engine parsing behavior)
|
||||
* Defaults to `false`.
|
||||
*/
|
||||
retainFunctionParens?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Should comments be included in output? Defaults to `true`.
|
||||
*/
|
||||
comments?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.
|
||||
*/
|
||||
compact?: boolean | "auto" | undefined;
|
||||
|
||||
/**
|
||||
* Should the output be minified. Defaults to `false`.
|
||||
*/
|
||||
minified?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.
|
||||
*/
|
||||
concise?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Used in warning messages
|
||||
*/
|
||||
filename?: string | undefined;
|
||||
|
||||
/**
|
||||
* Enable generating source maps. Defaults to `false`.
|
||||
*/
|
||||
sourceMaps?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* A root for all relative URLs in the source map.
|
||||
*/
|
||||
sourceRoot?: string | undefined;
|
||||
|
||||
/**
|
||||
* The filename for the source code (i.e. the code in the `code` argument).
|
||||
* This will only be used if `code` is a string.
|
||||
*/
|
||||
sourceFileName?: string | undefined;
|
||||
|
||||
/**
|
||||
* Set to true to run jsesc with "json": true to print "\u00A9" vs. "©";
|
||||
*/
|
||||
jsonCompatibleStrings?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* Set to true to enable support for experimental decorators syntax before module exports.
|
||||
* Defaults to `false`.
|
||||
*/
|
||||
decoratorsBeforeExport?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The import attributes/assertions syntax to use.
|
||||
* When not specified, @babel/generator will try to match the style in the input code based on the AST shape.
|
||||
*/
|
||||
importAttributesKeyword?: "with" | "assert" | "with-legacy";
|
||||
|
||||
/**
|
||||
* Options for outputting jsesc representation.
|
||||
*/
|
||||
jsescOption?: {
|
||||
/**
|
||||
* The default value for the quotes option is 'single'. This means that any occurrences of ' in the input
|
||||
* string are escaped as \', so that the output can be used in a string literal wrapped in single quotes.
|
||||
*/
|
||||
quotes?: "single" | "double" | "backtick" | undefined;
|
||||
|
||||
/**
|
||||
* The default value for the numbers option is 'decimal'. This means that any numeric values are represented
|
||||
* using decimal integer literals. Other valid options are binary, octal, and hexadecimal, which result in
|
||||
* binary integer literals, octal integer literals, and hexadecimal integer literals, respectively.
|
||||
*/
|
||||
numbers?: "binary" | "octal" | "decimal" | "hexadecimal" | undefined;
|
||||
|
||||
/**
|
||||
* The wrap option takes a boolean value (true or false), and defaults to false (disabled). When enabled, the
|
||||
* output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified through
|
||||
* the quotes setting.
|
||||
*/
|
||||
wrap?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The es6 option takes a boolean value (true or false), and defaults to false (disabled). When enabled, any
|
||||
* astral Unicode symbols in the input are escaped using ECMAScript 6 Unicode code point escape sequences
|
||||
* instead of using separate escape sequences for each surrogate half. If backwards compatibility with ES5
|
||||
* environments is a concern, don’t enable this setting. If the json setting is enabled, the value for the es6
|
||||
* setting is ignored (as if it was false).
|
||||
*/
|
||||
es6?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The escapeEverything option takes a boolean value (true or false), and defaults to false (disabled). When
|
||||
* enabled, all the symbols in the output are escaped — even printable ASCII symbols.
|
||||
*/
|
||||
escapeEverything?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The minimal option takes a boolean value (true or false), and defaults to false (disabled). When enabled,
|
||||
* only a limited set of symbols in the output are escaped: \0, \b, \t, \n, \f, \r, \\, \u2028, \u2029.
|
||||
*/
|
||||
minimal?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The isScriptContext option takes a boolean value (true or false), and defaults to false (disabled). When
|
||||
* enabled, occurrences of </script and </style in the output are escaped as <\/script and <\/style, and <!--
|
||||
* is escaped as \x3C!-- (or \u003C!-- when the json option is enabled). This setting is useful when jsesc’s
|
||||
* output ends up as part of a <script> or <style> element in an HTML document.
|
||||
*/
|
||||
isScriptContext?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The compact option takes a boolean value (true or false), and defaults to true (enabled). When enabled,
|
||||
* the output for arrays and objects is as compact as possible; it’s not formatted nicely.
|
||||
*/
|
||||
compact?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The indent option takes a string value, and defaults to '\t'. When the compact setting is enabled (true),
|
||||
* the value of the indent option is used to format the output for arrays and objects.
|
||||
*/
|
||||
indent?: string | undefined;
|
||||
|
||||
/**
|
||||
* The indentLevel option takes a numeric value, and defaults to 0. It represents the current indentation level,
|
||||
* i.e. the number of times the value of the indent option is repeated.
|
||||
*/
|
||||
indentLevel?: number | undefined;
|
||||
|
||||
/**
|
||||
* The json option takes a boolean value (true or false), and defaults to false (disabled). When enabled, the
|
||||
* output is valid JSON. Hexadecimal character escape sequences and the \v or \0 escape sequences are not used.
|
||||
* Setting json: true implies quotes: 'double', wrap: true, es6: false, although these values can still be
|
||||
* overridden if needed — but in such cases, the output won’t be valid JSON anymore.
|
||||
*/
|
||||
json?: boolean | undefined;
|
||||
|
||||
/**
|
||||
* The lowercaseHex option takes a boolean value (true or false), and defaults to false (disabled). When enabled,
|
||||
* any alphabetical hexadecimal digits in escape sequences as well as any hexadecimal integer literals (see the
|
||||
* numbers option) in the output are in lowercase.
|
||||
*/
|
||||
lowercaseHex?: boolean | undefined;
|
||||
} | undefined;
|
||||
}
|
||||
|
||||
export class CodeGenerator {
|
||||
constructor(ast: t.Node, opts?: GeneratorOptions, code?: string);
|
||||
generate(): GeneratorResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.
|
||||
* @param ast - the abstract syntax tree from which to generate output code.
|
||||
* @param opts - used for specifying options for code generation.
|
||||
* @param code - the original source code, used for source maps.
|
||||
* @returns - an object containing the output code and source map.
|
||||
*/
|
||||
export function generate(
|
||||
ast: t.Node,
|
||||
opts?: GeneratorOptions,
|
||||
code?: string | { [filename: string]: string },
|
||||
): GeneratorResult;
|
||||
|
||||
export default generate;
|
||||
|
||||
export interface GeneratorResult {
|
||||
code: string;
|
||||
map: {
|
||||
version: number;
|
||||
sources: string[];
|
||||
names: string[];
|
||||
sourceRoot?: string | undefined;
|
||||
sourcesContent?: string[] | undefined;
|
||||
mappings: string;
|
||||
file: string;
|
||||
} | null;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"K D E F mC","33":"A B"},B:{"2":"0 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I","33":"C L M G N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 nC LC J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC oC pC qC rC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC"},E:{"2":"J PB K D E F A B C L M G sC SC tC uC vC wC TC FC GC xC yC zC UC VC HC 0C IC WC XC YC ZC aC 1C JC bC cC dC eC fC 2C KC gC hC iC jC 3C"},F:{"2":"0 1 2 3 4 5 6 7 8 F B C G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 4C 5C 6C 7C FC kC 8C GC"},G:{"2":"E SC 9C lC AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD UC VC HC TD IC WC XC YC ZC aC UD JC bC cC dC eC fC VD KC gC hC iC jC"},H:{"2":"WD"},I:{"2":"LC J I XD YD ZD aD lC bD cD"},J:{"2":"D A"},K:{"2":"A B C H FC kC GC"},L:{"2":"I"},M:{"2":"EC"},N:{"33":"A B"},O:{"2":"HC"},P:{"2":"1 2 3 4 5 6 7 8 J dD eD fD gD hD TC iD jD kD lD mD IC JC KC nD"},Q:{"2":"oD"},R:{"2":"pD"},S:{"2":"qD rD"}},B:5,C:"CSS Exclusions Level 1",D:true};
|
||||
@@ -0,0 +1,25 @@
|
||||
import type { StateCreator, StoreMutatorIdentifier } from 'zustand/vanilla';
|
||||
type SubscribeWithSelector = <T, Mps extends [StoreMutatorIdentifier, unknown][] = [], Mcs extends [StoreMutatorIdentifier, unknown][] = []>(initializer: StateCreator<T, [
|
||||
...Mps,
|
||||
['zustand/subscribeWithSelector', never]
|
||||
], Mcs>) => StateCreator<T, Mps, [['zustand/subscribeWithSelector', never], ...Mcs]>;
|
||||
type Write<T, U> = Omit<T, keyof U> & U;
|
||||
type WithSelectorSubscribe<S> = S extends {
|
||||
getState: () => infer T;
|
||||
} ? Write<S, StoreSubscribeWithSelector<T>> : never;
|
||||
declare module '../vanilla' {
|
||||
interface StoreMutators<S, A> {
|
||||
['zustand/subscribeWithSelector']: WithSelectorSubscribe<S>;
|
||||
}
|
||||
}
|
||||
type StoreSubscribeWithSelector<T> = {
|
||||
subscribe: {
|
||||
(listener: (selectedState: T, previousSelectedState: T) => void): () => void;
|
||||
<U>(selector: (state: T) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
|
||||
equalityFn?: (a: U, b: U) => boolean;
|
||||
fireImmediately?: boolean;
|
||||
}): () => void;
|
||||
};
|
||||
};
|
||||
export declare const subscribeWithSelector: SubscribeWithSelector;
|
||||
export {};
|
||||
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* @fileoverview Default CLIEngineOptions.
|
||||
* @author Ian VanSchooten
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
configFile: null,
|
||||
baseConfig: false,
|
||||
rulePaths: [],
|
||||
useEslintrc: true,
|
||||
envs: [],
|
||||
globals: [],
|
||||
extensions: null,
|
||||
ignore: true,
|
||||
ignorePath: void 0,
|
||||
cache: false,
|
||||
|
||||
/*
|
||||
* in order to honor the cacheFile option if specified
|
||||
* this option should not have a default value otherwise
|
||||
* it will always be used
|
||||
*/
|
||||
cacheLocation: "",
|
||||
cacheFile: ".eslintcache",
|
||||
cacheStrategy: "metadata",
|
||||
fix: false,
|
||||
allowInlineConfig: true,
|
||||
reportUnusedDisableDirectives: void 0,
|
||||
globInputPaths: true,
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"1":"K D mC","2":"E F A B"},B:{"1":"0 9 C L M G N O P Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 nC LC J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC oC pC qC rC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J PB K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC"},E:{"1":"J PB K D E F A B C L M G SC tC uC vC wC TC FC GC xC yC zC UC VC HC 0C IC WC XC YC ZC aC 1C JC bC cC dC eC fC 2C KC gC hC iC jC 3C","16":"sC"},F:{"1":"0 1 2 3 4 5 6 7 8 B C G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 4C 5C 6C 7C FC kC 8C GC","16":"F"},G:{"1":"E AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD UC VC HC TD IC WC XC YC ZC aC UD JC bC cC dC eC fC VD KC gC hC iC jC","16":"SC 9C lC"},H:{"1":"WD"},I:{"1":"LC J I ZD aD lC bD cD","16":"XD YD"},J:{"1":"D A"},K:{"1":"B C H FC kC GC","2":"A"},L:{"1":"I"},M:{"1":"EC"},N:{"2":"A B"},O:{"1":"HC"},P:{"1":"1 2 3 4 5 6 7 8 J dD eD fD gD hD TC iD jD kD lD mD IC JC KC nD"},Q:{"1":"oD"},R:{"1":"pD"},S:{"1":"qD rD"}},B:1,C:"wbr (word break opportunity) element",D:true};
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"K D E F A B mC"},B:{"1":"0 9 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC oC pC","2":"nC LC J PB qC rC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 K D E F A B C L M G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB MC wB NC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB I PC EC QC RC","2":"J PB"},E:{"1":"PB K D E F A B C L M G tC uC vC wC TC FC GC xC yC zC UC VC HC 0C IC WC XC YC ZC aC 1C JC bC cC dC eC fC 2C KC gC hC iC jC 3C","2":"J sC SC"},F:{"1":"0 1 2 3 4 5 6 7 8 B C G N O P QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R OC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z FC kC 8C GC","4":"F 4C 5C 6C 7C"},G:{"1":"E 9C lC AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD UC VC HC TD IC WC XC YC ZC aC UD JC bC cC dC eC fC VD KC gC hC iC jC","2":"SC"},H:{"2":"WD"},I:{"1":"I bD cD","2":"LC J XD YD ZD aD lC"},J:{"1":"D A"},K:{"1":"C H FC kC GC","4":"A B"},L:{"1":"I"},M:{"1":"EC"},N:{"2":"A B"},O:{"1":"HC"},P:{"1":"1 2 3 4 5 6 7 8 J dD eD fD gD hD TC iD jD kD lD mD IC JC KC nD"},Q:{"1":"oD"},R:{"1":"pD"},S:{"1":"qD rD"}},B:1,C:"Server-sent events",D:true};
|
||||
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function (it) {
|
||||
const { pluginName, resolvePluginsRelativeTo, importerName } = it;
|
||||
|
||||
return `
|
||||
ESLint couldn't find the plugin "${pluginName}".
|
||||
|
||||
(The package "${pluginName}" was not found when loaded as a Node module from the directory "${resolvePluginsRelativeTo}".)
|
||||
|
||||
It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:
|
||||
|
||||
npm install ${pluginName}@latest --save-dev
|
||||
|
||||
The plugin "${pluginName}" was referenced from the config file in "${importerName}".
|
||||
|
||||
If you still can't figure out the problem, please see https://eslint.org/docs/latest/use/troubleshooting.
|
||||
`.trimStart();
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "locate-path",
|
||||
"version": "6.0.0",
|
||||
"description": "Get the first path that exists on disk of multiple paths",
|
||||
"license": "MIT",
|
||||
"repository": "sindresorhus/locate-path",
|
||||
"funding": "https://github.com/sponsors/sindresorhus",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "https://sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"locate",
|
||||
"path",
|
||||
"paths",
|
||||
"file",
|
||||
"files",
|
||||
"exists",
|
||||
"find",
|
||||
"finder",
|
||||
"search",
|
||||
"searcher",
|
||||
"array",
|
||||
"iterable",
|
||||
"iterator"
|
||||
],
|
||||
"dependencies": {
|
||||
"p-locate": "^5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"tsd": "^0.13.1",
|
||||
"xo": "^0.32.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = _default;
|
||||
function helpers() {
|
||||
const data = require("@babel/helpers");
|
||||
helpers = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _generator() {
|
||||
const data = require("@babel/generator");
|
||||
_generator = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _template() {
|
||||
const data = require("@babel/template");
|
||||
_template = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _t() {
|
||||
const data = require("@babel/types");
|
||||
_t = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
const {
|
||||
arrayExpression,
|
||||
assignmentExpression,
|
||||
binaryExpression,
|
||||
blockStatement,
|
||||
callExpression,
|
||||
cloneNode,
|
||||
conditionalExpression,
|
||||
exportNamedDeclaration,
|
||||
exportSpecifier,
|
||||
expressionStatement,
|
||||
functionExpression,
|
||||
identifier,
|
||||
memberExpression,
|
||||
objectExpression,
|
||||
program,
|
||||
stringLiteral,
|
||||
unaryExpression,
|
||||
variableDeclaration,
|
||||
variableDeclarator
|
||||
} = _t();
|
||||
const buildUmdWrapper = replacements => _template().default.statement`
|
||||
(function (root, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(AMD_ARGUMENTS, factory);
|
||||
} else if (typeof exports === "object") {
|
||||
factory(COMMON_ARGUMENTS);
|
||||
} else {
|
||||
factory(BROWSER_ARGUMENTS);
|
||||
}
|
||||
})(UMD_ROOT, function (FACTORY_PARAMETERS) {
|
||||
FACTORY_BODY
|
||||
});
|
||||
`(replacements);
|
||||
function buildGlobal(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
const container = functionExpression(null, [identifier("global")], blockStatement(body));
|
||||
const tree = program([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression("===", unaryExpression("typeof", identifier("global")), stringLiteral("undefined")), identifier("self"), identifier("global"))]))]);
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, assignmentExpression("=", memberExpression(identifier("global"), namespace), objectExpression([])))]));
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
return tree;
|
||||
}
|
||||
function buildModule(allowlist) {
|
||||
const body = [];
|
||||
const refs = buildHelpers(body, null, allowlist);
|
||||
body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(name => {
|
||||
return exportSpecifier(cloneNode(refs[name]), identifier(name));
|
||||
})));
|
||||
return program(body, [], "module");
|
||||
}
|
||||
function buildUmd(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, identifier("global"))]));
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
return program([buildUmdWrapper({
|
||||
FACTORY_PARAMETERS: identifier("global"),
|
||||
BROWSER_ARGUMENTS: assignmentExpression("=", memberExpression(identifier("root"), namespace), objectExpression([])),
|
||||
COMMON_ARGUMENTS: identifier("exports"),
|
||||
AMD_ARGUMENTS: arrayExpression([stringLiteral("exports")]),
|
||||
FACTORY_BODY: body,
|
||||
UMD_ROOT: identifier("this")
|
||||
})]);
|
||||
}
|
||||
function buildVar(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, objectExpression([]))]));
|
||||
const tree = program(body);
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
body.push(expressionStatement(namespace));
|
||||
return tree;
|
||||
}
|
||||
function buildHelpers(body, namespace, allowlist) {
|
||||
const getHelperReference = name => {
|
||||
return namespace ? memberExpression(namespace, identifier(name)) : identifier(`_${name}`);
|
||||
};
|
||||
const refs = {};
|
||||
helpers().list.forEach(function (name) {
|
||||
if (allowlist && !allowlist.includes(name)) return;
|
||||
const ref = refs[name] = getHelperReference(name);
|
||||
const {
|
||||
nodes
|
||||
} = helpers().get(name, getHelperReference, namespace ? null : `_${name}`, [], namespace ? (ast, exportName, mapExportBindingAssignments) => {
|
||||
mapExportBindingAssignments(node => assignmentExpression("=", ref, node));
|
||||
ast.body.push(expressionStatement(assignmentExpression("=", ref, identifier(exportName))));
|
||||
} : null);
|
||||
body.push(...nodes);
|
||||
});
|
||||
return refs;
|
||||
}
|
||||
function _default(allowlist, outputType = "global") {
|
||||
let tree;
|
||||
const build = {
|
||||
global: buildGlobal,
|
||||
module: buildModule,
|
||||
umd: buildUmd,
|
||||
var: buildVar
|
||||
}[outputType];
|
||||
if (build) {
|
||||
tree = build(allowlist);
|
||||
} else {
|
||||
throw new Error(`Unsupported output type ${outputType}`);
|
||||
}
|
||||
return (0, _generator().default)(tree).code;
|
||||
}
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=build-external-helpers.js.map
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"name": "@humanwhocodes/retry",
|
||||
"version": "0.3.1",
|
||||
"description": "A utility to retry failed async methods.",
|
||||
"type": "module",
|
||||
"main": "dist/retrier.cjs",
|
||||
"module": "dist/retrier.js",
|
||||
"types": "dist/retrier.d.ts",
|
||||
"exports": {
|
||||
"require": {
|
||||
"types": "./dist/retrier.d.cts",
|
||||
"default": "./dist/retrier.cjs"
|
||||
},
|
||||
"import": {
|
||||
"types": "./dist/retrier.d.ts",
|
||||
"default": "./dist/retrier.js"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18.18"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.js": [
|
||||
"eslint --fix"
|
||||
]
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/nzakas"
|
||||
},
|
||||
"scripts": {
|
||||
"build:cts-types": "node -e \"fs.copyFileSync('dist/retrier.d.ts', 'dist/retrier.d.cts')\"",
|
||||
"build": "rollup -c && tsc && npm run build:cts-types",
|
||||
"prepare": "npm run build",
|
||||
"lint": "eslint src/ tests/",
|
||||
"pretest": "npm run build",
|
||||
"test:unit": "mocha tests/retrier.test.js",
|
||||
"test:build": "node tests/pkg.test.cjs && node tests/pkg.test.mjs",
|
||||
"test:jsr": "npx jsr@latest publish --dry-run",
|
||||
"test:emfile": "node tools/check-emfile-handling.js",
|
||||
"test": "npm run test:unit && npm run test:build"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/humanwhocodes/retry.git"
|
||||
},
|
||||
"keywords": [
|
||||
"nodejs",
|
||||
"retry",
|
||||
"async",
|
||||
"promises"
|
||||
],
|
||||
"author": "Nicholas C. Zaks",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^8.49.0",
|
||||
"@rollup/plugin-terser": "0.4.4",
|
||||
"@tsconfig/node16": "^16.1.1",
|
||||
"@types/mocha": "^10.0.3",
|
||||
"@types/node": "20.12.6",
|
||||
"eslint": "^8.21.0",
|
||||
"lint-staged": "15.2.1",
|
||||
"mocha": "^10.3.0",
|
||||
"rollup": "3.29.4",
|
||||
"typescript": "5.4.4",
|
||||
"yorkie": "2.0.0"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
* @fileoverview Shared flags for ESLint.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Typedefs
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* @typedef {Object} InactiveFlagData
|
||||
* @property {string} description Flag description
|
||||
* @property {string | null} [replacedBy] Can be either:
|
||||
* - An active flag (string) that enables the same feature.
|
||||
* - `null` if the feature is now enabled by default.
|
||||
* - Omitted if the feature has been abandoned.
|
||||
*/
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Exports
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* The set of flags that change ESLint behavior with a description.
|
||||
* @type {Map<string, string>}
|
||||
*/
|
||||
const activeFlags = new Map([
|
||||
["test_only", "Used only for testing."],
|
||||
[
|
||||
"unstable_config_lookup_from_file",
|
||||
"Look up `eslint.config.js` from the file being linted.",
|
||||
],
|
||||
]);
|
||||
|
||||
/**
|
||||
* The set of flags that used to be active.
|
||||
* @type {Map<string, InactiveFlagData>}
|
||||
*/
|
||||
const inactiveFlags = new Map([
|
||||
[
|
||||
"test_only_replaced",
|
||||
{
|
||||
description:
|
||||
"Used only for testing flags that have been replaced by other flags.",
|
||||
replacedBy: "test_only",
|
||||
},
|
||||
],
|
||||
[
|
||||
"test_only_enabled_by_default",
|
||||
{
|
||||
description:
|
||||
"Used only for testing flags whose features have been enabled by default.",
|
||||
replacedBy: null,
|
||||
},
|
||||
],
|
||||
[
|
||||
"test_only_abandoned",
|
||||
{
|
||||
description:
|
||||
"Used only for testing flags whose features have been abandoned.",
|
||||
},
|
||||
],
|
||||
[
|
||||
"unstable_ts_config",
|
||||
{
|
||||
description: "Enable TypeScript configuration files.",
|
||||
replacedBy: null,
|
||||
},
|
||||
],
|
||||
]);
|
||||
|
||||
/**
|
||||
* Creates a message that describes the reason the flag is inactive.
|
||||
* @param {InactiveFlagData} inactiveFlagData Data for the inactive flag.
|
||||
* @returns {string} Message describing the reason the flag is inactive.
|
||||
*/
|
||||
function getInactivityReasonMessage({ replacedBy }) {
|
||||
if (typeof replacedBy === "undefined") {
|
||||
return "This feature has been abandoned.";
|
||||
}
|
||||
|
||||
if (typeof replacedBy === "string") {
|
||||
return `This flag has been renamed '${replacedBy}' to reflect its stabilization. Please use '${replacedBy}' instead.`;
|
||||
}
|
||||
|
||||
// null
|
||||
return "This feature is now enabled by default.";
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
activeFlags,
|
||||
inactiveFlags,
|
||||
getInactivityReasonMessage,
|
||||
};
|
||||
Reference in New Issue
Block a user