update
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
# @babel/traverse
|
||||
|
||||
> The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes
|
||||
|
||||
See our website [@babel/traverse](https://babeljs.io/docs/babel-traverse) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20traverse%22+is%3Aopen) associated with this package.
|
||||
|
||||
## Install
|
||||
|
||||
Using npm:
|
||||
|
||||
```sh
|
||||
npm install --save-dev @babel/traverse
|
||||
```
|
||||
|
||||
or using yarn:
|
||||
|
||||
```sh
|
||||
yarn add @babel/traverse --dev
|
||||
```
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"1":"K D E F A B mC"},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 9 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":"1 2 3 4 5 6 7 8 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 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 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:{"1":"0 1 2 3 4 5 6 7 8 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","2":"F B C 4C 5C 6C 7C FC kC 8C GC"},G:{"1":"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:{"1":"LC J I XD YD ZD aD lC bD cD"},J:{"1":"D A"},K:{"1":"H","2":"A B C FC kC GC"},L:{"1":"I"},M:{"1":"EC"},N:{"1":"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":"rD","2":"qD"}},B:7,C:"background-position-x & background-position-y",D:true};
|
||||
@@ -0,0 +1,171 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _t = require("@babel/types");
|
||||
var _t2 = _t;
|
||||
const {
|
||||
react
|
||||
} = _t;
|
||||
const {
|
||||
cloneNode,
|
||||
jsxExpressionContainer,
|
||||
variableDeclaration,
|
||||
variableDeclarator
|
||||
} = _t2;
|
||||
const referenceVisitor = {
|
||||
ReferencedIdentifier(path, state) {
|
||||
if (path.isJSXIdentifier() && react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) {
|
||||
return;
|
||||
}
|
||||
if (path.node.name === "this") {
|
||||
let scope = path.scope;
|
||||
do {
|
||||
if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) {
|
||||
break;
|
||||
}
|
||||
} while (scope = scope.parent);
|
||||
if (scope) state.breakOnScopePaths.push(scope.path);
|
||||
}
|
||||
const binding = path.scope.getBinding(path.node.name);
|
||||
if (!binding) return;
|
||||
for (const violation of binding.constantViolations) {
|
||||
if (violation.scope !== binding.path.scope) {
|
||||
state.mutableBinding = true;
|
||||
path.stop();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (binding !== state.scope.getBinding(path.node.name)) return;
|
||||
state.bindings[path.node.name] = binding;
|
||||
}
|
||||
};
|
||||
class PathHoister {
|
||||
constructor(path, scope) {
|
||||
this.breakOnScopePaths = void 0;
|
||||
this.bindings = void 0;
|
||||
this.mutableBinding = void 0;
|
||||
this.scopes = void 0;
|
||||
this.scope = void 0;
|
||||
this.path = void 0;
|
||||
this.attachAfter = void 0;
|
||||
this.breakOnScopePaths = [];
|
||||
this.bindings = {};
|
||||
this.mutableBinding = false;
|
||||
this.scopes = [];
|
||||
this.scope = scope;
|
||||
this.path = path;
|
||||
this.attachAfter = false;
|
||||
}
|
||||
isCompatibleScope(scope) {
|
||||
for (const key of Object.keys(this.bindings)) {
|
||||
const binding = this.bindings[key];
|
||||
if (!scope.bindingIdentifierEquals(key, binding.identifier)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
getCompatibleScopes() {
|
||||
let scope = this.path.scope;
|
||||
do {
|
||||
if (this.isCompatibleScope(scope)) {
|
||||
this.scopes.push(scope);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
if (this.breakOnScopePaths.includes(scope.path)) {
|
||||
break;
|
||||
}
|
||||
} while (scope = scope.parent);
|
||||
}
|
||||
getAttachmentPath() {
|
||||
let path = this._getAttachmentPath();
|
||||
if (!path) return;
|
||||
let targetScope = path.scope;
|
||||
if (targetScope.path === path) {
|
||||
targetScope = path.scope.parent;
|
||||
}
|
||||
if (targetScope.path.isProgram() || targetScope.path.isFunction()) {
|
||||
for (const name of Object.keys(this.bindings)) {
|
||||
if (!targetScope.hasOwnBinding(name)) continue;
|
||||
const binding = this.bindings[name];
|
||||
if (binding.kind === "param" || binding.path.parentKey === "params") {
|
||||
continue;
|
||||
}
|
||||
const bindingParentPath = this.getAttachmentParentForPath(binding.path);
|
||||
if (bindingParentPath.key >= path.key) {
|
||||
this.attachAfter = true;
|
||||
path = binding.path;
|
||||
for (const violationPath of binding.constantViolations) {
|
||||
if (this.getAttachmentParentForPath(violationPath).key > path.key) {
|
||||
path = violationPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return path;
|
||||
}
|
||||
_getAttachmentPath() {
|
||||
const scopes = this.scopes;
|
||||
const scope = scopes.pop();
|
||||
if (!scope) return;
|
||||
if (scope.path.isFunction()) {
|
||||
if (this.hasOwnParamBindings(scope)) {
|
||||
if (this.scope === scope) return;
|
||||
const bodies = scope.path.get("body").get("body");
|
||||
for (let i = 0; i < bodies.length; i++) {
|
||||
if (bodies[i].node._blockHoist) continue;
|
||||
return bodies[i];
|
||||
}
|
||||
} else {
|
||||
return this.getNextScopeAttachmentParent();
|
||||
}
|
||||
} else if (scope.path.isProgram()) {
|
||||
return this.getNextScopeAttachmentParent();
|
||||
}
|
||||
}
|
||||
getNextScopeAttachmentParent() {
|
||||
const scope = this.scopes.pop();
|
||||
if (scope) return this.getAttachmentParentForPath(scope.path);
|
||||
}
|
||||
getAttachmentParentForPath(path) {
|
||||
do {
|
||||
if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) {
|
||||
return path;
|
||||
}
|
||||
} while (path = path.parentPath);
|
||||
}
|
||||
hasOwnParamBindings(scope) {
|
||||
for (const name of Object.keys(this.bindings)) {
|
||||
if (!scope.hasOwnBinding(name)) continue;
|
||||
const binding = this.bindings[name];
|
||||
if (binding.kind === "param" && binding.constant) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
run() {
|
||||
this.path.traverse(referenceVisitor, this);
|
||||
if (this.mutableBinding) return;
|
||||
this.getCompatibleScopes();
|
||||
const attachTo = this.getAttachmentPath();
|
||||
if (!attachTo) return;
|
||||
if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return;
|
||||
let uid = attachTo.scope.generateUidIdentifier("ref");
|
||||
const declarator = variableDeclarator(uid, this.path.node);
|
||||
const insertFn = this.attachAfter ? "insertAfter" : "insertBefore";
|
||||
const [attached] = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : variableDeclaration("var", [declarator])]);
|
||||
const parent = this.path.parentPath;
|
||||
if (parent.isJSXElement() && this.path.container === parent.node.children) {
|
||||
uid = jsxExpressionContainer(uid);
|
||||
}
|
||||
this.path.replaceWith(cloneNode(uid));
|
||||
return attachTo.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init");
|
||||
}
|
||||
}
|
||||
exports.default = PathHoister;
|
||||
|
||||
//# sourceMappingURL=hoister.js.map
|
||||
@@ -0,0 +1,20 @@
|
||||
import { defaultSerializeError } from './router.cjs';
|
||||
export declare const TSR_DEFERRED_PROMISE: unique symbol;
|
||||
export type DeferredPromiseState<T> = {
|
||||
status: 'pending';
|
||||
data?: T;
|
||||
error?: unknown;
|
||||
} | {
|
||||
status: 'success';
|
||||
data: T;
|
||||
} | {
|
||||
status: 'error';
|
||||
data?: T;
|
||||
error: unknown;
|
||||
};
|
||||
export type DeferredPromise<T> = Promise<T> & {
|
||||
[TSR_DEFERRED_PROMISE]: DeferredPromiseState<T>;
|
||||
};
|
||||
export declare function defer<T>(_promise: Promise<T>, options?: {
|
||||
serializeError?: typeof defaultSerializeError;
|
||||
}): DeferredPromise<T>;
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"name": "is-extglob",
|
||||
"description": "Returns true if a string has an extglob.",
|
||||
"version": "2.1.1",
|
||||
"homepage": "https://github.com/jonschlinkert/is-extglob",
|
||||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
|
||||
"repository": "jonschlinkert/is-extglob",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jonschlinkert/is-extglob/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"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": {
|
||||
"toc": false,
|
||||
"layout": "default",
|
||||
"tasks": [
|
||||
"readme"
|
||||
],
|
||||
"plugins": [
|
||||
"gulp-format-md"
|
||||
],
|
||||
"related": {
|
||||
"list": [
|
||||
"has-glob",
|
||||
"is-glob",
|
||||
"micromatch"
|
||||
]
|
||||
},
|
||||
"reflinks": [
|
||||
"verb",
|
||||
"verb-generate-readme"
|
||||
],
|
||||
"lint": {
|
||||
"reflinks": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,368 @@
|
||||
'use strict'
|
||||
|
||||
let { dirname, relative, resolve, sep } = require('path')
|
||||
let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
|
||||
let { pathToFileURL } = require('url')
|
||||
|
||||
let Input = require('./input')
|
||||
|
||||
let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)
|
||||
let pathAvailable = Boolean(dirname && resolve && relative && sep)
|
||||
|
||||
class MapGenerator {
|
||||
constructor(stringify, root, opts, cssString) {
|
||||
this.stringify = stringify
|
||||
this.mapOpts = opts.map || {}
|
||||
this.root = root
|
||||
this.opts = opts
|
||||
this.css = cssString
|
||||
this.originalCSS = cssString
|
||||
this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute
|
||||
|
||||
this.memoizedFileURLs = new Map()
|
||||
this.memoizedPaths = new Map()
|
||||
this.memoizedURLs = new Map()
|
||||
}
|
||||
|
||||
addAnnotation() {
|
||||
let content
|
||||
|
||||
if (this.isInline()) {
|
||||
content =
|
||||
'data:application/json;base64,' + this.toBase64(this.map.toString())
|
||||
} else if (typeof this.mapOpts.annotation === 'string') {
|
||||
content = this.mapOpts.annotation
|
||||
} else if (typeof this.mapOpts.annotation === 'function') {
|
||||
content = this.mapOpts.annotation(this.opts.to, this.root)
|
||||
} else {
|
||||
content = this.outputFile() + '.map'
|
||||
}
|
||||
let eol = '\n'
|
||||
if (this.css.includes('\r\n')) eol = '\r\n'
|
||||
|
||||
this.css += eol + '/*# sourceMappingURL=' + content + ' */'
|
||||
}
|
||||
|
||||
applyPrevMaps() {
|
||||
for (let prev of this.previous()) {
|
||||
let from = this.toUrl(this.path(prev.file))
|
||||
let root = prev.root || dirname(prev.file)
|
||||
let map
|
||||
|
||||
if (this.mapOpts.sourcesContent === false) {
|
||||
map = new SourceMapConsumer(prev.text)
|
||||
if (map.sourcesContent) {
|
||||
map.sourcesContent = null
|
||||
}
|
||||
} else {
|
||||
map = prev.consumer()
|
||||
}
|
||||
|
||||
this.map.applySourceMap(map, from, this.toUrl(this.path(root)))
|
||||
}
|
||||
}
|
||||
|
||||
clearAnnotation() {
|
||||
if (this.mapOpts.annotation === false) return
|
||||
|
||||
if (this.root) {
|
||||
let node
|
||||
for (let i = this.root.nodes.length - 1; i >= 0; i--) {
|
||||
node = this.root.nodes[i]
|
||||
if (node.type !== 'comment') continue
|
||||
if (node.text.startsWith('# sourceMappingURL=')) {
|
||||
this.root.removeChild(i)
|
||||
}
|
||||
}
|
||||
} else if (this.css) {
|
||||
this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, '')
|
||||
}
|
||||
}
|
||||
|
||||
generate() {
|
||||
this.clearAnnotation()
|
||||
if (pathAvailable && sourceMapAvailable && this.isMap()) {
|
||||
return this.generateMap()
|
||||
} else {
|
||||
let result = ''
|
||||
this.stringify(this.root, i => {
|
||||
result += i
|
||||
})
|
||||
return [result]
|
||||
}
|
||||
}
|
||||
|
||||
generateMap() {
|
||||
if (this.root) {
|
||||
this.generateString()
|
||||
} else if (this.previous().length === 1) {
|
||||
let prev = this.previous()[0].consumer()
|
||||
prev.file = this.outputFile()
|
||||
this.map = SourceMapGenerator.fromSourceMap(prev, {
|
||||
ignoreInvalidMapping: true
|
||||
})
|
||||
} else {
|
||||
this.map = new SourceMapGenerator({
|
||||
file: this.outputFile(),
|
||||
ignoreInvalidMapping: true
|
||||
})
|
||||
this.map.addMapping({
|
||||
generated: { column: 0, line: 1 },
|
||||
original: { column: 0, line: 1 },
|
||||
source: this.opts.from
|
||||
? this.toUrl(this.path(this.opts.from))
|
||||
: '<no source>'
|
||||
})
|
||||
}
|
||||
|
||||
if (this.isSourcesContent()) this.setSourcesContent()
|
||||
if (this.root && this.previous().length > 0) this.applyPrevMaps()
|
||||
if (this.isAnnotation()) this.addAnnotation()
|
||||
|
||||
if (this.isInline()) {
|
||||
return [this.css]
|
||||
} else {
|
||||
return [this.css, this.map]
|
||||
}
|
||||
}
|
||||
|
||||
generateString() {
|
||||
this.css = ''
|
||||
this.map = new SourceMapGenerator({
|
||||
file: this.outputFile(),
|
||||
ignoreInvalidMapping: true
|
||||
})
|
||||
|
||||
let line = 1
|
||||
let column = 1
|
||||
|
||||
let noSource = '<no source>'
|
||||
let mapping = {
|
||||
generated: { column: 0, line: 0 },
|
||||
original: { column: 0, line: 0 },
|
||||
source: ''
|
||||
}
|
||||
|
||||
let last, lines
|
||||
this.stringify(this.root, (str, node, type) => {
|
||||
this.css += str
|
||||
|
||||
if (node && type !== 'end') {
|
||||
mapping.generated.line = line
|
||||
mapping.generated.column = column - 1
|
||||
if (node.source && node.source.start) {
|
||||
mapping.source = this.sourcePath(node)
|
||||
mapping.original.line = node.source.start.line
|
||||
mapping.original.column = node.source.start.column - 1
|
||||
this.map.addMapping(mapping)
|
||||
} else {
|
||||
mapping.source = noSource
|
||||
mapping.original.line = 1
|
||||
mapping.original.column = 0
|
||||
this.map.addMapping(mapping)
|
||||
}
|
||||
}
|
||||
|
||||
lines = str.match(/\n/g)
|
||||
if (lines) {
|
||||
line += lines.length
|
||||
last = str.lastIndexOf('\n')
|
||||
column = str.length - last
|
||||
} else {
|
||||
column += str.length
|
||||
}
|
||||
|
||||
if (node && type !== 'start') {
|
||||
let p = node.parent || { raws: {} }
|
||||
let childless =
|
||||
node.type === 'decl' || (node.type === 'atrule' && !node.nodes)
|
||||
if (!childless || node !== p.last || p.raws.semicolon) {
|
||||
if (node.source && node.source.end) {
|
||||
mapping.source = this.sourcePath(node)
|
||||
mapping.original.line = node.source.end.line
|
||||
mapping.original.column = node.source.end.column - 1
|
||||
mapping.generated.line = line
|
||||
mapping.generated.column = column - 2
|
||||
this.map.addMapping(mapping)
|
||||
} else {
|
||||
mapping.source = noSource
|
||||
mapping.original.line = 1
|
||||
mapping.original.column = 0
|
||||
mapping.generated.line = line
|
||||
mapping.generated.column = column - 1
|
||||
this.map.addMapping(mapping)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
isAnnotation() {
|
||||
if (this.isInline()) {
|
||||
return true
|
||||
}
|
||||
if (typeof this.mapOpts.annotation !== 'undefined') {
|
||||
return this.mapOpts.annotation
|
||||
}
|
||||
if (this.previous().length) {
|
||||
return this.previous().some(i => i.annotation)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
isInline() {
|
||||
if (typeof this.mapOpts.inline !== 'undefined') {
|
||||
return this.mapOpts.inline
|
||||
}
|
||||
|
||||
let annotation = this.mapOpts.annotation
|
||||
if (typeof annotation !== 'undefined' && annotation !== true) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (this.previous().length) {
|
||||
return this.previous().some(i => i.inline)
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
isMap() {
|
||||
if (typeof this.opts.map !== 'undefined') {
|
||||
return !!this.opts.map
|
||||
}
|
||||
return this.previous().length > 0
|
||||
}
|
||||
|
||||
isSourcesContent() {
|
||||
if (typeof this.mapOpts.sourcesContent !== 'undefined') {
|
||||
return this.mapOpts.sourcesContent
|
||||
}
|
||||
if (this.previous().length) {
|
||||
return this.previous().some(i => i.withContent())
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
outputFile() {
|
||||
if (this.opts.to) {
|
||||
return this.path(this.opts.to)
|
||||
} else if (this.opts.from) {
|
||||
return this.path(this.opts.from)
|
||||
} else {
|
||||
return 'to.css'
|
||||
}
|
||||
}
|
||||
|
||||
path(file) {
|
||||
if (this.mapOpts.absolute) return file
|
||||
if (file.charCodeAt(0) === 60 /* `<` */) return file
|
||||
if (/^\w+:\/\//.test(file)) return file
|
||||
let cached = this.memoizedPaths.get(file)
|
||||
if (cached) return cached
|
||||
|
||||
let from = this.opts.to ? dirname(this.opts.to) : '.'
|
||||
|
||||
if (typeof this.mapOpts.annotation === 'string') {
|
||||
from = dirname(resolve(from, this.mapOpts.annotation))
|
||||
}
|
||||
|
||||
let path = relative(from, file)
|
||||
this.memoizedPaths.set(file, path)
|
||||
|
||||
return path
|
||||
}
|
||||
|
||||
previous() {
|
||||
if (!this.previousMaps) {
|
||||
this.previousMaps = []
|
||||
if (this.root) {
|
||||
this.root.walk(node => {
|
||||
if (node.source && node.source.input.map) {
|
||||
let map = node.source.input.map
|
||||
if (!this.previousMaps.includes(map)) {
|
||||
this.previousMaps.push(map)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
let input = new Input(this.originalCSS, this.opts)
|
||||
if (input.map) this.previousMaps.push(input.map)
|
||||
}
|
||||
}
|
||||
|
||||
return this.previousMaps
|
||||
}
|
||||
|
||||
setSourcesContent() {
|
||||
let already = {}
|
||||
if (this.root) {
|
||||
this.root.walk(node => {
|
||||
if (node.source) {
|
||||
let from = node.source.input.from
|
||||
if (from && !already[from]) {
|
||||
already[from] = true
|
||||
let fromUrl = this.usesFileUrls
|
||||
? this.toFileUrl(from)
|
||||
: this.toUrl(this.path(from))
|
||||
this.map.setSourceContent(fromUrl, node.source.input.css)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else if (this.css) {
|
||||
let from = this.opts.from
|
||||
? this.toUrl(this.path(this.opts.from))
|
||||
: '<no source>'
|
||||
this.map.setSourceContent(from, this.css)
|
||||
}
|
||||
}
|
||||
|
||||
sourcePath(node) {
|
||||
if (this.mapOpts.from) {
|
||||
return this.toUrl(this.mapOpts.from)
|
||||
} else if (this.usesFileUrls) {
|
||||
return this.toFileUrl(node.source.input.from)
|
||||
} else {
|
||||
return this.toUrl(this.path(node.source.input.from))
|
||||
}
|
||||
}
|
||||
|
||||
toBase64(str) {
|
||||
if (Buffer) {
|
||||
return Buffer.from(str).toString('base64')
|
||||
} else {
|
||||
return window.btoa(unescape(encodeURIComponent(str)))
|
||||
}
|
||||
}
|
||||
|
||||
toFileUrl(path) {
|
||||
let cached = this.memoizedFileURLs.get(path)
|
||||
if (cached) return cached
|
||||
|
||||
if (pathToFileURL) {
|
||||
let fileURL = pathToFileURL(path).toString()
|
||||
this.memoizedFileURLs.set(path, fileURL)
|
||||
|
||||
return fileURL
|
||||
} else {
|
||||
throw new Error(
|
||||
'`map.absolute` option is not available in this PostCSS build'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
toUrl(path) {
|
||||
let cached = this.memoizedURLs.get(path)
|
||||
if (cached) return cached
|
||||
|
||||
if (sep === '\\') {
|
||||
path = path.replace(/\\/g, '/')
|
||||
}
|
||||
|
||||
let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)
|
||||
this.memoizedURLs.set(path, url)
|
||||
|
||||
return url
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = MapGenerator
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,11 @@
|
||||
var equal = require('../');
|
||||
console.dir([
|
||||
equal(
|
||||
{ a : [ 2, 3 ], b : [ 4 ] },
|
||||
{ a : [ 2, 3 ], b : [ 4 ] }
|
||||
),
|
||||
equal(
|
||||
{ x : 5, y : [6] },
|
||||
{ x : 5, y : 6 }
|
||||
)
|
||||
]);
|
||||
@@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
|
||||
/*!
|
||||
* Canvas - JPEGStream
|
||||
* Copyright (c) 2010 LearnBoost <tj@learnboost.com>
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
const { Readable } = require('stream')
|
||||
function noop () {}
|
||||
|
||||
class JPEGStream extends Readable {
|
||||
constructor (canvas, options) {
|
||||
super()
|
||||
|
||||
if (canvas.streamJPEGSync === undefined) {
|
||||
throw new Error('node-canvas was built without JPEG support.')
|
||||
}
|
||||
|
||||
this.options = options
|
||||
this.canvas = canvas
|
||||
}
|
||||
|
||||
_read () {
|
||||
// For now we're not controlling the c++ code's data emission, so we only
|
||||
// call canvas.streamJPEGSync once and let it emit data at will.
|
||||
this._read = noop
|
||||
|
||||
this.canvas.streamJPEGSync(this.options, (err, chunk) => {
|
||||
if (err) {
|
||||
this.emit('error', err)
|
||||
} else if (chunk) {
|
||||
this.push(chunk)
|
||||
} else {
|
||||
this.push(null)
|
||||
}
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = JPEGStream
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"regexps-iri.js","sourceRoot":"","sources":["../../src/regexps-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAe,SAAS,CAAC,IAAI,CAAC,CAAC"}
|
||||
@@ -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 9 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":"1 2 3 4 5 6 7 8 nC LC J PB K D E F A B C L M G N O P QB RB 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":"PB K tC IC WC XC YC ZC aC 1C JC bC cC dC eC fC 2C KC gC hC iC jC 3C","2":"J D E F A B C L M G sC SC uC vC wC TC FC GC xC yC zC UC VC HC 0C"},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 7C FC kC 8C GC","2":"F 4C 5C 6C"},G:{"1":"AD BD IC WC XC YC ZC aC UD JC bC cC dC eC fC VD KC gC hC iC jC","2":"E SC 9C lC CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD RD SD UC VC HC TD"},H:{"2":"WD"},I:{"2":"LC J I XD YD ZD aD lC bD cD"},J:{"1":"D A"},K:{"1":"B C FC kC GC","2":"H","16":"A"},L:{"2":"I"},M:{"1":"EC"},N:{"2":"A B"},O:{"2":"HC"},P:{"1":"J","2":"1 2 3 4 5 6 7 8 dD eD fD gD hD TC iD jD kD lD mD IC JC KC nD"},Q:{"2":"oD"},R:{"2":"pD"},S:{"1":"qD rD"}},B:1,C:"Shared Web Workers",D:true};
|
||||
@@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.transform = void 0;
|
||||
exports.transformAsync = transformAsync;
|
||||
exports.transformSync = transformSync;
|
||||
function _gensync() {
|
||||
const data = require("gensync");
|
||||
_gensync = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
var _index = require("./config/index.js");
|
||||
var _index2 = require("./transformation/index.js");
|
||||
var _rewriteStackTrace = require("./errors/rewrite-stack-trace.js");
|
||||
const transformRunner = _gensync()(function* transform(code, opts) {
|
||||
const config = yield* (0, _index.default)(opts);
|
||||
if (config === null) return null;
|
||||
return yield* (0, _index2.run)(config, code);
|
||||
});
|
||||
const transform = exports.transform = function transform(code, optsOrCallback, maybeCallback) {
|
||||
let opts;
|
||||
let callback;
|
||||
if (typeof optsOrCallback === "function") {
|
||||
callback = optsOrCallback;
|
||||
opts = undefined;
|
||||
} else {
|
||||
opts = optsOrCallback;
|
||||
callback = maybeCallback;
|
||||
}
|
||||
if (callback === undefined) {
|
||||
{
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(code, opts);
|
||||
}
|
||||
}
|
||||
(0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.errback)(code, opts, callback);
|
||||
};
|
||||
function transformSync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.sync)(...args);
|
||||
}
|
||||
function transformAsync(...args) {
|
||||
return (0, _rewriteStackTrace.beginHiddenCallStack)(transformRunner.async)(...args);
|
||||
}
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=transform.js.map
|
||||
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { resolve } from "node:path";
|
||||
import nodeModule from "node:module";
|
||||
|
||||
const script = process.argv.splice(2, 1)[0];
|
||||
|
||||
if (!script) {
|
||||
console.error("Usage: jiti <path> [...arguments]");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// https://nodejs.org/api/module.html#moduleenablecompilecachecachedir
|
||||
// https://github.com/nodejs/node/pull/54501
|
||||
if (nodeModule.enableCompileCache && !process.env.NODE_DISABLE_COMPILE_CACHE) {
|
||||
try {
|
||||
nodeModule.enableCompileCache();
|
||||
} catch {
|
||||
// Ignore errors
|
||||
}
|
||||
}
|
||||
|
||||
const pwd = process.cwd();
|
||||
|
||||
const { createJiti } = await import("./jiti.cjs");
|
||||
|
||||
const jiti = createJiti(pwd);
|
||||
|
||||
const resolved = (process.argv[1] = jiti.resolve(resolve(pwd, script)));
|
||||
|
||||
await jiti.import(resolved).catch((error) => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"K D E F A B mC"},B:{"2":"C L M G N O P","132":"Q H R S T U V W X","260":"0 9 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:{"2":"1 2 3 4 5 6 7 8 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 qC rC","132":"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","260":"0 9 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"},D:{"2":"1 2 3 4 5 6 7 8 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","132":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC Q H R S T U V W X","194":"vB MC wB NC xB yB zB","260":"0 9 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 sC SC tC uC vC wC TC","132":"C L M G FC GC xC yC zC UC VC HC 0C","260":"JC bC cC dC eC fC 2C KC gC hC iC jC 3C","772":"IC WC XC YC ZC aC 1C"},F:{"2":"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 4C 5C 6C 7C FC kC 8C GC","132":"pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","260":"0 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"},G:{"1":"JC bC cC dC eC fC VD KC gC hC iC jC","2":"E SC 9C lC AD BD CD DD ED FD GD HD ID","132":"JD KD LD MD ND OD","260":"PD QD RD SD UC VC HC TD","516":"WC XC YC ZC aC UD","772":"IC"},H:{"2":"WD"},I:{"2":"LC J XD YD ZD aD lC bD cD","260":"I"},J:{"2":"D A"},K:{"2":"A B C FC kC GC","260":"H"},L:{"260":"I"},M:{"260":"EC"},N:{"2":"A B"},O:{"132":"HC"},P:{"2":"J dD eD fD gD","132":"hD TC iD jD kD lD","260":"1 2 3 4 5 6 7 8 mD IC JC KC nD"},Q:{"132":"oD"},R:{"260":"pD"},S:{"132":"qD","260":"rD"}},B:4,C:"CSS display: contents",D:true};
|
||||
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* @fileoverview Module for loading rules from files and directories.
|
||||
* @author Michael Ficarra
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const fs = require("node:fs"),
|
||||
path = require("node:path");
|
||||
|
||||
const rulesDirCache = {};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Public Interface
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Load all rule modules from specified directory.
|
||||
* @param {string} relativeRulesDir Path to rules directory, may be relative.
|
||||
* @param {string} cwd Current working directory
|
||||
* @returns {Object} Loaded rule modules.
|
||||
*/
|
||||
module.exports = function (relativeRulesDir, cwd) {
|
||||
const rulesDir = path.resolve(cwd, relativeRulesDir);
|
||||
|
||||
// cache will help performance as IO operation are expensive
|
||||
if (rulesDirCache[rulesDir]) {
|
||||
return rulesDirCache[rulesDir];
|
||||
}
|
||||
|
||||
const rules = Object.create(null);
|
||||
|
||||
fs.readdirSync(rulesDir).forEach(file => {
|
||||
if (path.extname(file) !== ".js") {
|
||||
return;
|
||||
}
|
||||
rules[file.slice(0, -3)] = require(path.join(rulesDir, file));
|
||||
});
|
||||
rulesDirCache[rulesDir] = rules;
|
||||
|
||||
return rules;
|
||||
};
|
||||
Reference in New Issue
Block a user