schnee effeckt und fehler Korektur

This commit is contained in:
2023-08-14 17:52:24 +02:00
parent 4a843d4936
commit 79af4e9907
6813 changed files with 343821 additions and 356128 deletions

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019 Simon Lydell
Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019, 2020 Simon Lydell
Copyright (c) 2019 ZHAO Jinxiang
Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@@ -1,3 +1,9 @@
### Version 0.6.0 (2020-03-21) ###
- Removed: The browser version. Only Node.js is now supported.
- Improved: Three old, weird, tiny dependencies were inlined, which should
decrease install size.
### Version 0.5.3 (2019-12-28) ###
- Fixed: base64 encoded source maps now correctly decodes as utf-8. Previously,

View File

@@ -1,12 +1,25 @@
var sourceMappingURL = require("source-map-url")
var resolveUrl = require("./resolve-url")
var decodeUriComponent = require("./decode-uri-component")
var urix = require("urix")
var atob = require("atob")
var atob = require("atob")
var urlLib = require("url")
var pathLib = require("path")
var decodeUriComponentLib = require("decode-uri-component")
function resolveUrl(/* ...urls */) {
return Array.prototype.reduce.call(arguments, function(resolved, nextUrl) {
return urlLib.resolve(resolved, nextUrl)
})
}
function convertWindowsPath(aPath) {
return pathLib.sep === "\\" ? aPath.replace(/\\/g, "/").replace(/^[a-z]:\/?/i, "/") : aPath
}
function customDecodeUriComponent(string) {
// `decodeUriComponentLib` turns `+` into ` `, but that's not wanted.
return decodeUriComponentLib(string.replace(/\+/g, "%2B"))
}
function callbackAsync(callback, error, result) {
setImmediate(function() { callback(error, result) })
}
@@ -21,7 +34,7 @@ function parseMapToJSON(string, data) {
}
function readSync(read, url, data) {
var readUrl = decodeUriComponent(url)
var readUrl = customDecodeUriComponent(url)
try {
return String(read(readUrl))
} catch (error) {
@@ -32,6 +45,28 @@ function readSync(read, url, data) {
var innerRegex = /[#@] sourceMappingURL=([^\s'"]*)/
var sourceMappingURLRegex = RegExp(
"(?:" +
"/\\*" +
"(?:\\s*\r?\n(?://)?)?" +
"(?:" + innerRegex.source + ")" +
"\\s*" +
"\\*/" +
"|" +
"//(?:" + innerRegex.source + ")" +
")" +
"\\s*"
)
function getSourceMappingUrl(code) {
var match = code.match(sourceMappingURLRegex)
return match ? match[1] || match[2] || "" : null
}
function resolveSourceMap(code, codeUrl, read, callback) {
var mapData
try {
@@ -42,7 +77,7 @@ function resolveSourceMap(code, codeUrl, read, callback) {
if (!mapData || mapData.map) {
return callbackAsync(callback, null, mapData)
}
var readUrl = decodeUriComponent(mapData.url)
var readUrl = customDecodeUriComponent(mapData.url)
read(readUrl, function(error, result) {
if (error) {
error.sourceMapData = mapData
@@ -109,9 +144,9 @@ function decodeBase64String(b64) {
}
function resolveSourceMapHelper(code, codeUrl) {
codeUrl = urix(codeUrl)
codeUrl = convertWindowsPath(codeUrl)
var url = sourceMappingURL.getFrom(code)
var url = getSourceMappingUrl(code)
if (!url) {
return null
}
@@ -184,7 +219,7 @@ function resolveSources(map, mapUrl, read, options, callback) {
result.sourcesContent[index] = sourceContent
callbackAsync(done, null)
} else {
var readUrl = decodeUriComponent(fullUrl)
var readUrl = customDecodeUriComponent(fullUrl)
read(readUrl, function(error, source) {
result.sourcesContent[index] = error ? error : String(source)
done()
@@ -209,7 +244,7 @@ function resolveSourcesSync(map, mapUrl, read, options) {
if (typeof sourceContent === "string") {
result.sourcesContent[index] = sourceContent
} else {
var readUrl = decodeUriComponent(fullUrl)
var readUrl = customDecodeUriComponent(fullUrl)
try {
result.sourcesContent[index] = String(read(readUrl))
} catch (error) {
@@ -226,7 +261,7 @@ var endingSlash = /\/?$/
function resolveSourcesHelper(map, mapUrl, options, fn) {
options = options || {}
mapUrl = urix(mapUrl)
mapUrl = convertWindowsPath(mapUrl)
var fullUrl
var sourceContent
var sourceRoot
@@ -267,7 +302,7 @@ function resolve(code, codeUrl, read, options, callback) {
sourcesRelativeTo: mapUrl,
map: null
}
var readUrl = decodeUriComponent(mapUrl)
var readUrl = customDecodeUriComponent(mapUrl)
read(readUrl, function(error, result) {
if (error) {
error.sourceMapData = data

View File

@@ -1,8 +0,0 @@
var decodeUriComponent = require("decode-uri-component")
function customDecodeUriComponent(string) {
// `decodeUriComponent` turns `+` into ` `, but that's not wanted.
return decodeUriComponent(string.replace(/\+/g, "%2B"))
}
module.exports = customDecodeUriComponent

View File

@@ -1,9 +0,0 @@
var url = require("url")
function resolveUrl(/* ...urls */) {
return Array.prototype.reduce.call(arguments, function(resolved, nextUrl) {
return url.resolve(resolved, nextUrl)
})
}
module.exports = resolveUrl

View File

@@ -1,56 +1,9 @@
{
"_from": "source-map-resolve@^0.5.0",
"_id": "source-map-resolve@0.5.3",
"_inBundle": false,
"_integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"_location": "/source-map-resolve",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "source-map-resolve@^0.5.0",
"name": "source-map-resolve",
"escapedName": "source-map-resolve",
"rawSpec": "^0.5.0",
"saveSpec": null,
"fetchSpec": "^0.5.0"
},
"_requiredBy": [
"/snapdragon"
],
"_resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
"_shasum": "190866bece7553e1f8f267a2ee82c606b5509a1a",
"_spec": "source-map-resolve@^0.5.0",
"_where": "/var/www/html/jason/WeihnachtenMelly/node_modules/snapdragon",
"author": {
"name": "Simon Lydell"
},
"browser": "source-map-resolve.js",
"bugs": {
"url": "https://github.com/lydell/source-map-resolve/issues"
},
"bundleDependencies": false,
"dependencies": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
},
"deprecated": false,
"name": "source-map-resolve",
"version": "0.6.0",
"author": "Simon Lydell",
"license": "MIT",
"description": "Resolve the source map and/or sources for a generated file.",
"devDependencies": {
"Base64": "1.1.0",
"jshint": "2.10.3",
"setimmediate": "1.0.5",
"simple-asyncify": "1.0.0",
"tape": "4.12.1"
},
"files": [
"lib",
"source-map-resolve.js"
],
"homepage": "https://github.com/lydell/source-map-resolve#readme",
"keywords": [
"source map",
"sourcemap",
@@ -64,18 +17,24 @@
"find",
"finder"
],
"license": "MIT",
"main": "lib/source-map-resolve-node.js",
"name": "source-map-resolve",
"repository": {
"type": "git",
"url": "git+https://github.com/lydell/source-map-resolve.git"
},
"repository": "lydell/source-map-resolve",
"files": [
"index.js"
],
"scripts": {
"build": "node generate-source-map-resolve.js",
"lint": "jshint lib/ test/",
"test": "npm run lint && npm run unit",
"unit": "node test/source-map-resolve.js && node test/windows.js"
"lint": "jshint index.js test/",
"unit": "node test/index.js && node test/read.js && node test/windows.js",
"test": "npm run lint && npm run unit"
},
"version": "0.5.3"
"dependencies": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0"
},
"devDependencies": {
"Base64": "1.1.0",
"jshint": "2.10.3",
"setimmediate": "1.0.5",
"simple-asyncify": "1.0.0",
"tape": "4.12.1"
}
}

View File

@@ -60,18 +60,7 @@ sourceMapResolve.resolve(code, "/js/foo.js", fs.readFile, function(error, result
Installation
============
- `npm install source-map-resolve`
- `bower install source-map-resolve`
- `component install lydell/source-map-resolve`
Works with CommonJS, AMD and browser globals, through UMD.
Note: This module requires `setImmediate` and `atob`.
Use polyfills if needed, such as:
- <https://github.com/NobleJS/setImmediate>
- <https://github.com/davidchambers/Base64.js>
`npm install source-map-resolve`
Usage
=====
@@ -198,33 +187,6 @@ _you_ give the generated code to the module), its up to you to look for such
header when you retrieve the file (should the need arise).
Development
===========
Tests
-----
First off, run `npm install` to install testing modules and browser polyfills.
`npm test` lints the code and runs the test suite in Node.js.
x-package.json5
---------------
package.json, component.json and bower.json are all generated from
x-package.json5 by using [`xpkg`]. Only edit x-package.json5, and remember to
run `xpkg` before commiting!
[`xpkg`]: https://github.com/kof/node-xpkg
Generating the browser version
------------------------------
source-map-resolve.js is generated from source-map-resolve-node.js and
source-map-resolve-template.js. Only edit the two latter files, _not_
source-map-resolve.js! To generate it, run `npm run build`.
License
=======

View File

@@ -1,348 +0,0 @@
// Note: source-map-resolve.js is generated from source-map-resolve-node.js and
// source-map-resolve-template.js. Only edit the two latter files, _not_
// source-map-resolve.js!
void (function(root, factory) {
if (typeof define === "function" && define.amd) {
define(["source-map-url", "resolve-url"], factory)
} else if (typeof exports === "object") {
var sourceMappingURL = require("source-map-url")
var resolveUrl = require("resolve-url")
module.exports = factory(sourceMappingURL, resolveUrl)
} else {
root.sourceMapResolve = factory(root.sourceMappingURL, root.resolveUrl)
}
}(this, function(sourceMappingURL, resolveUrl) {
function callbackAsync(callback, error, result) {
setImmediate(function() { callback(error, result) })
}
function parseMapToJSON(string, data) {
try {
return JSON.parse(string.replace(/^\)\]\}'/, ""))
} catch (error) {
error.sourceMapData = data
throw error
}
}
function readSync(read, url, data) {
var readUrl = url
try {
return String(read(readUrl))
} catch (error) {
error.sourceMapData = data
throw error
}
}
function resolveSourceMap(code, codeUrl, read, callback) {
var mapData
try {
mapData = resolveSourceMapHelper(code, codeUrl)
} catch (error) {
return callbackAsync(callback, error)
}
if (!mapData || mapData.map) {
return callbackAsync(callback, null, mapData)
}
var readUrl = mapData.url
read(readUrl, function(error, result) {
if (error) {
error.sourceMapData = mapData
return callback(error)
}
mapData.map = String(result)
try {
mapData.map = parseMapToJSON(mapData.map, mapData)
} catch (error) {
return callback(error)
}
callback(null, mapData)
})
}
function resolveSourceMapSync(code, codeUrl, read) {
var mapData = resolveSourceMapHelper(code, codeUrl)
if (!mapData || mapData.map) {
return mapData
}
mapData.map = readSync(read, mapData.url, mapData)
mapData.map = parseMapToJSON(mapData.map, mapData)
return mapData
}
var dataUriRegex = /^data:([^,;]*)(;[^,;]*)*(?:,(.*))?$/
/**
* The media type for JSON text is application/json.
*
* {@link https://tools.ietf.org/html/rfc8259#section-11 | IANA Considerations }
*
* `text/json` is non-standard media type
*/
var jsonMimeTypeRegex = /^(?:application|text)\/json$/
/**
* JSON text exchanged between systems that are not part of a closed ecosystem
* MUST be encoded using UTF-8.
*
* {@link https://tools.ietf.org/html/rfc8259#section-8.1 | Character Encoding}
*/
var jsonCharacterEncoding = "utf-8"
function base64ToBuf(b64) {
var binStr = atob(b64)
var len = binStr.length
var arr = new Uint8Array(len)
for (var i = 0; i < len; i++) {
arr[i] = binStr.charCodeAt(i)
}
return arr
}
function decodeBase64String(b64) {
if (typeof TextDecoder === "undefined" || typeof Uint8Array === "undefined") {
return atob(b64)
}
var buf = base64ToBuf(b64);
// Note: `decoder.decode` method will throw a `DOMException` with the
// `"EncodingError"` value when an coding error is found.
var decoder = new TextDecoder(jsonCharacterEncoding, {fatal: true})
return decoder.decode(buf);
}
function resolveSourceMapHelper(code, codeUrl) {
var url = sourceMappingURL.getFrom(code)
if (!url) {
return null
}
var dataUri = url.match(dataUriRegex)
if (dataUri) {
var mimeType = dataUri[1] || "text/plain"
var lastParameter = dataUri[2] || ""
var encoded = dataUri[3] || ""
var data = {
sourceMappingURL: url,
url: null,
sourcesRelativeTo: codeUrl,
map: encoded
}
if (!jsonMimeTypeRegex.test(mimeType)) {
var error = new Error("Unuseful data uri mime type: " + mimeType)
error.sourceMapData = data
throw error
}
try {
data.map = parseMapToJSON(
lastParameter === ";base64" ? decodeBase64String(encoded) : decodeURIComponent(encoded),
data
)
} catch (error) {
error.sourceMapData = data
throw error
}
return data
}
var mapUrl = resolveUrl(codeUrl, url)
return {
sourceMappingURL: url,
url: mapUrl,
sourcesRelativeTo: mapUrl,
map: null
}
}
function resolveSources(map, mapUrl, read, options, callback) {
if (typeof options === "function") {
callback = options
options = {}
}
var pending = map.sources ? map.sources.length : 0
var result = {
sourcesResolved: [],
sourcesContent: []
}
if (pending === 0) {
callbackAsync(callback, null, result)
return
}
var done = function() {
pending--
if (pending === 0) {
callback(null, result)
}
}
resolveSourcesHelper(map, mapUrl, options, function(fullUrl, sourceContent, index) {
result.sourcesResolved[index] = fullUrl
if (typeof sourceContent === "string") {
result.sourcesContent[index] = sourceContent
callbackAsync(done, null)
} else {
var readUrl = fullUrl
read(readUrl, function(error, source) {
result.sourcesContent[index] = error ? error : String(source)
done()
})
}
})
}
function resolveSourcesSync(map, mapUrl, read, options) {
var result = {
sourcesResolved: [],
sourcesContent: []
}
if (!map.sources || map.sources.length === 0) {
return result
}
resolveSourcesHelper(map, mapUrl, options, function(fullUrl, sourceContent, index) {
result.sourcesResolved[index] = fullUrl
if (read !== null) {
if (typeof sourceContent === "string") {
result.sourcesContent[index] = sourceContent
} else {
var readUrl = fullUrl
try {
result.sourcesContent[index] = String(read(readUrl))
} catch (error) {
result.sourcesContent[index] = error
}
}
}
})
return result
}
var endingSlash = /\/?$/
function resolveSourcesHelper(map, mapUrl, options, fn) {
options = options || {}
var fullUrl
var sourceContent
var sourceRoot
for (var index = 0, len = map.sources.length; index < len; index++) {
sourceRoot = null
if (typeof options.sourceRoot === "string") {
sourceRoot = options.sourceRoot
} else if (typeof map.sourceRoot === "string" && options.sourceRoot !== false) {
sourceRoot = map.sourceRoot
}
// If the sourceRoot is the empty string, it is equivalent to not setting
// the property at all.
if (sourceRoot === null || sourceRoot === '') {
fullUrl = resolveUrl(mapUrl, map.sources[index])
} else {
// Make sure that the sourceRoot ends with a slash, so that `/scripts/subdir` becomes
// `/scripts/subdir/<source>`, not `/scripts/<source>`. Pointing to a file as source root
// does not make sense.
fullUrl = resolveUrl(mapUrl, sourceRoot.replace(endingSlash, "/"), map.sources[index])
}
sourceContent = (map.sourcesContent || [])[index]
fn(fullUrl, sourceContent, index)
}
}
function resolve(code, codeUrl, read, options, callback) {
if (typeof options === "function") {
callback = options
options = {}
}
if (code === null) {
var mapUrl = codeUrl
var data = {
sourceMappingURL: null,
url: mapUrl,
sourcesRelativeTo: mapUrl,
map: null
}
var readUrl = mapUrl
read(readUrl, function(error, result) {
if (error) {
error.sourceMapData = data
return callback(error)
}
data.map = String(result)
try {
data.map = parseMapToJSON(data.map, data)
} catch (error) {
return callback(error)
}
_resolveSources(data)
})
} else {
resolveSourceMap(code, codeUrl, read, function(error, mapData) {
if (error) {
return callback(error)
}
if (!mapData) {
return callback(null, null)
}
_resolveSources(mapData)
})
}
function _resolveSources(mapData) {
resolveSources(mapData.map, mapData.sourcesRelativeTo, read, options, function(error, result) {
if (error) {
return callback(error)
}
mapData.sourcesResolved = result.sourcesResolved
mapData.sourcesContent = result.sourcesContent
callback(null, mapData)
})
}
}
function resolveSync(code, codeUrl, read, options) {
var mapData
if (code === null) {
var mapUrl = codeUrl
mapData = {
sourceMappingURL: null,
url: mapUrl,
sourcesRelativeTo: mapUrl,
map: null
}
mapData.map = readSync(read, mapUrl, mapData)
mapData.map = parseMapToJSON(mapData.map, mapData)
} else {
mapData = resolveSourceMapSync(code, codeUrl, read)
if (!mapData) {
return null
}
}
var result = resolveSourcesSync(mapData.map, mapData.sourcesRelativeTo, read, options)
mapData.sourcesResolved = result.sourcesResolved
mapData.sourcesContent = result.sourcesContent
return mapData
}
return {
resolveSourceMap: resolveSourceMap,
resolveSourceMapSync: resolveSourceMapSync,
resolveSources: resolveSources,
resolveSourcesSync: resolveSourcesSync,
resolve: resolve,
resolveSync: resolveSync,
parseMapToJSON: parseMapToJSON
}
}));