forked from mirrors/gecko-dev
Bug 1521864 - It should be possible to open the debugger in a tab. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D20485 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
c0f6271420
commit
b7ff50f82a
25 changed files with 47199 additions and 44228 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -88,6 +88,10 @@ third_party/python/psutil/tmp/
|
||||||
devtools/client/chrome.manifest
|
devtools/client/chrome.manifest
|
||||||
devtools/shared/chrome.manifest
|
devtools/shared/chrome.manifest
|
||||||
|
|
||||||
|
# Ignore debugger build directories
|
||||||
|
devtools/client/debugger/new/assets/build
|
||||||
|
devtools/client/debugger/new/assets/module-manifest.json
|
||||||
|
|
||||||
# Ignore node_modules directories in devtools
|
# Ignore node_modules directories in devtools
|
||||||
devtools/**/node_modules
|
devtools/**/node_modules
|
||||||
|
|
||||||
|
|
|
||||||
210
devtools/client/debugger/new/assets/dictionary.txt
Normal file
210
devtools/client/debugger/new/assets/dictionary.txt
Normal file
|
|
@ -0,0 +1,210 @@
|
||||||
|
.mozconfig
|
||||||
|
.png
|
||||||
|
config.yml
|
||||||
|
1x
|
||||||
|
7x
|
||||||
|
8x
|
||||||
|
addon
|
||||||
|
Aframe
|
||||||
|
airtable
|
||||||
|
amelzer
|
||||||
|
APIs
|
||||||
|
args
|
||||||
|
asm
|
||||||
|
Assaf
|
||||||
|
Asynchronicity
|
||||||
|
AUTOCLOBBER=1
|
||||||
|
benchmarking
|
||||||
|
blackboxed
|
||||||
|
blandy
|
||||||
|
Bomsy
|
||||||
|
ci-badge
|
||||||
|
CLRF
|
||||||
|
cmd
|
||||||
|
componentDidMount
|
||||||
|
componentWillUnmount
|
||||||
|
contextmenu
|
||||||
|
createClass
|
||||||
|
CRM
|
||||||
|
discoverable.
|
||||||
|
dispel
|
||||||
|
displayNames
|
||||||
|
errored
|
||||||
|
extns
|
||||||
|
featureFlag
|
||||||
|
findSource
|
||||||
|
findSources
|
||||||
|
fixup
|
||||||
|
GH
|
||||||
|
href
|
||||||
|
intermittents
|
||||||
|
Jiel
|
||||||
|
Klabnik
|
||||||
|
li
|
||||||
|
lifecycle
|
||||||
|
linter
|
||||||
|
mapDispatchToProps
|
||||||
|
mc
|
||||||
|
mk_add_options
|
||||||
|
MobX
|
||||||
|
mochii
|
||||||
|
monospace
|
||||||
|
nuxt
|
||||||
|
onKeyDown
|
||||||
|
param
|
||||||
|
prettyPrint
|
||||||
|
profiler
|
||||||
|
q4
|
||||||
|
rebases
|
||||||
|
rebasing
|
||||||
|
retext
|
||||||
|
runtime
|
||||||
|
scrollbars
|
||||||
|
secondaryPanel
|
||||||
|
selectLocation
|
||||||
|
selectSource
|
||||||
|
setPopupObjectProperties
|
||||||
|
sexualized
|
||||||
|
sha
|
||||||
|
ship2gecko
|
||||||
|
Sneha
|
||||||
|
stacktraces
|
||||||
|
subdirectory
|
||||||
|
svgs
|
||||||
|
Talos
|
||||||
|
talos
|
||||||
|
togglePaneCollapse
|
||||||
|
Tohm
|
||||||
|
travis
|
||||||
|
UIs
|
||||||
|
un-hide
|
||||||
|
Unselects
|
||||||
|
unstaged
|
||||||
|
urls
|
||||||
|
Varenya
|
||||||
|
waitForPaused
|
||||||
|
webpage
|
||||||
|
Yulia
|
||||||
|
Yura
|
||||||
|
Yury
|
||||||
|
whitespace
|
||||||
|
destructuring
|
||||||
|
isReactComponent
|
||||||
|
uri
|
||||||
|
prettyprint
|
||||||
|
hasJsx
|
||||||
|
workerChange
|
||||||
|
exe
|
||||||
|
prettyprint
|
||||||
|
tojs
|
||||||
|
HighlightLine
|
||||||
|
isMinified
|
||||||
|
setInScopeLines
|
||||||
|
updateScopeBindings
|
||||||
|
getSplitConsole
|
||||||
|
wasmparser
|
||||||
|
getSymbols
|
||||||
|
codefolding
|
||||||
|
vscode
|
||||||
|
Fis
|
||||||
|
maxListeners
|
||||||
|
Lukas
|
||||||
|
paddings
|
||||||
|
Moar
|
||||||
|
pushPref
|
||||||
|
Dont
|
||||||
|
mozilla
|
||||||
|
highlightLine
|
||||||
|
welcomebox
|
||||||
|
Quickopen
|
||||||
|
CommandBarButton
|
||||||
|
dbg
|
||||||
|
getFramework
|
||||||
|
Anshul
|
||||||
|
sourcemap
|
||||||
|
isPaused
|
||||||
|
QuickOpen
|
||||||
|
named-evals
|
||||||
|
Greenkeeper
|
||||||
|
headlessly
|
||||||
|
natively
|
||||||
|
outputed
|
||||||
|
threadClient
|
||||||
|
tabTarget
|
||||||
|
bpClients
|
||||||
|
originalToGeneratedId
|
||||||
|
stopSourceMapWorker
|
||||||
|
PreferencesHelper
|
||||||
|
don't
|
||||||
|
url
|
||||||
|
sendPacket
|
||||||
|
ws
|
||||||
|
Unclickable
|
||||||
|
takeScreenshot
|
||||||
|
debug-brk
|
||||||
|
ChromeUtils
|
||||||
|
cmdOrControl
|
||||||
|
cmdOrCtrl
|
||||||
|
flexbox
|
||||||
|
theme-content-color3
|
||||||
|
getFrameScopes
|
||||||
|
localizations
|
||||||
|
Vue
|
||||||
|
sourceMapURL
|
||||||
|
onmessage
|
||||||
|
un-mapped
|
||||||
|
2x
|
||||||
|
vue
|
||||||
|
shouldComponentUpdate
|
||||||
|
goto
|
||||||
|
HTM
|
||||||
|
WinCCOV
|
||||||
|
requestLongerTimeout
|
||||||
|
frontend
|
||||||
|
VisibilityHandler
|
||||||
|
unmounting
|
||||||
|
img
|
||||||
|
contenxt
|
||||||
|
typeErrors
|
||||||
|
SourceRecord
|
||||||
|
typeErrors
|
||||||
|
getIcon
|
||||||
|
cheap-eval-mode
|
||||||
|
enums
|
||||||
|
ImmutableJS
|
||||||
|
Fennec
|
||||||
|
v59
|
||||||
|
tabIndex
|
||||||
|
react-inlinesvg
|
||||||
|
findClosestScope
|
||||||
|
findClosestFunction
|
||||||
|
paren
|
||||||
|
parens
|
||||||
|
namespaces
|
||||||
|
getMappedExpression
|
||||||
|
getIn
|
||||||
|
TypeError
|
||||||
|
lastStatement
|
||||||
|
defs
|
||||||
|
BreakpointItem
|
||||||
|
destructured
|
||||||
|
getExtraProps
|
||||||
|
SpiderMonkey
|
||||||
|
mozconfig
|
||||||
|
JIT
|
||||||
|
checkboxes
|
||||||
|
objectProperties
|
||||||
|
addons
|
||||||
|
debugBtn
|
||||||
|
P1s
|
||||||
|
pausePoints
|
||||||
|
DocSearch
|
||||||
|
220ms
|
||||||
|
55ms
|
||||||
|
mdn
|
||||||
|
bytecode
|
||||||
|
eval
|
||||||
|
asyncStore
|
||||||
|
CPG
|
||||||
|
TodoMVC
|
||||||
|
pseudocode
|
||||||
96
devtools/client/debugger/new/bin/bundle.js
Normal file
96
devtools/client/debugger/new/bin/bundle.js
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
const {
|
||||||
|
tools: { makeBundle, copyFile }
|
||||||
|
} = require("devtools-launchpad/index");
|
||||||
|
|
||||||
|
const sourceMapAssets = require("devtools-source-map/assets");
|
||||||
|
const path = require("path");
|
||||||
|
const minimist = require("minimist");
|
||||||
|
var fs = require("fs");
|
||||||
|
const rimraf = require("rimraf");
|
||||||
|
|
||||||
|
|
||||||
|
const projectPath = path.resolve(__dirname, "..");
|
||||||
|
const bundlePath = path.join(projectPath, "./dist");
|
||||||
|
|
||||||
|
const clientPath = path.join(projectPath, "../../");
|
||||||
|
const watch = false;
|
||||||
|
const updateAssets = false;
|
||||||
|
|
||||||
|
process.env.NODE_ENV = "production"
|
||||||
|
|
||||||
|
function moveFile(src, dest, opts) {
|
||||||
|
if (!fs.existsSync(src)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
copyFile(src, dest, opts);
|
||||||
|
rimraf.sync(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function bundle() {
|
||||||
|
|
||||||
|
makeBundle({
|
||||||
|
outputPath: bundlePath,
|
||||||
|
projectPath,
|
||||||
|
watch,
|
||||||
|
updateAssets,
|
||||||
|
onFinish: () => onBundleFinish({bundlePath, projectPath })
|
||||||
|
})
|
||||||
|
.then()
|
||||||
|
.catch(err => {
|
||||||
|
console.log(
|
||||||
|
"[copy-assets] Uhoh, something went wrong. " +
|
||||||
|
"The error was written to assets-error.log"
|
||||||
|
);
|
||||||
|
|
||||||
|
fs.writeFileSync("assets-error.log", JSON.stringify(err, null, 2));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function onBundleFinish({ bundlePath, projectPath }) {
|
||||||
|
console.log("[copy-assets] delete debugger.js bundle");
|
||||||
|
|
||||||
|
const debuggerPath = path.join(bundlePath, "debugger.js");
|
||||||
|
if (fs.existsSync(debuggerPath)) {
|
||||||
|
fs.unlinkSync(debuggerPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("[copy-assets] copy shared bundles to client/shared");
|
||||||
|
moveFile(
|
||||||
|
path.join(bundlePath, "source-map-worker.js"),
|
||||||
|
path.join(clientPath, "shared/source-map/worker.js"),
|
||||||
|
{ cwd: projectPath }
|
||||||
|
);
|
||||||
|
for (const filename of Object.keys(sourceMapAssets)) {
|
||||||
|
moveFile(
|
||||||
|
path.join(bundlePath, "source-map-worker-assets", filename),
|
||||||
|
path.join(clientPath, "shared/source-map/assets", filename),
|
||||||
|
{ cwd: projectPath }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
moveFile(
|
||||||
|
path.join(bundlePath, "source-map-index.js"),
|
||||||
|
path.join(clientPath, "shared/source-map/index.js"),
|
||||||
|
{ cwd: projectPath }
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
moveFile(
|
||||||
|
path.join(bundlePath, "reps.js"),
|
||||||
|
path.join(clientPath, "shared/components/reps/reps.js"),
|
||||||
|
{ cwd: projectPath }
|
||||||
|
);
|
||||||
|
|
||||||
|
moveFile(
|
||||||
|
path.join(bundlePath, "reps.css"),
|
||||||
|
path.join(clientPath, "shared/components/reps/reps.css"),
|
||||||
|
{ cwd: projectPath }
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
console.log("[copy-assets] done");
|
||||||
|
}
|
||||||
|
|
||||||
|
bundle();
|
||||||
29
devtools/client/debugger/new/bin/dev-server.js
Normal file
29
devtools/client/debugger/new/bin/dev-server.js
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const toolbox = require("devtools-launchpad/index");
|
||||||
|
const feature = require("devtools-config");
|
||||||
|
const getConfig = require("./getConfig");
|
||||||
|
const express = require("express");
|
||||||
|
const serve = require("express-static");
|
||||||
|
|
||||||
|
const envConfig = getConfig();
|
||||||
|
feature.setConfig(envConfig);
|
||||||
|
|
||||||
|
let webpackConfig = require("../webpack.config");
|
||||||
|
|
||||||
|
let { app } = toolbox.startDevServer(envConfig, webpackConfig, __dirname);
|
||||||
|
|
||||||
|
app.use("/integration/examples", express.static("test/mochitest/examples"));
|
||||||
|
app.use("/images", serve(path.join(__dirname, "../images")));
|
||||||
|
|
||||||
|
// Serve devtools-reps images
|
||||||
|
app.use("/devtools-reps/images/", serve(path.join(__dirname, "../src/shared/images")));
|
||||||
|
|
||||||
|
// As well as devtools-components ones, with a different path, which we are going to
|
||||||
|
// write in the postCSS config in development mode.
|
||||||
|
app.use("/devtools-components/images/",
|
||||||
|
serve(path.join(__dirname, "../node_modules/devtools-components/src/images")));
|
||||||
|
|
||||||
|
console.log("View debugger examples here:");
|
||||||
|
console.log("https://github.com/firefox-devtools/debugger-examples");
|
||||||
23
devtools/client/debugger/new/bin/getConfig.js
Normal file
23
devtools/client/debugger/new/bin/getConfig.js
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
const merge = require("lodash/merge");
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
function getConfig() {
|
||||||
|
const firefoxConfig = require("../configs/firefox-panel.json");
|
||||||
|
const developmentConfig = require("../configs/development.json");
|
||||||
|
|
||||||
|
let localConfig = {};
|
||||||
|
if (fs.existsSync(path.resolve(__dirname, "../configs/local.json"))) {
|
||||||
|
localConfig = require("../configs/local.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (process.env.TARGET === "firefox-panel") {
|
||||||
|
return firefoxConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
const envConfig = developmentConfig;
|
||||||
|
|
||||||
|
return merge({}, envConfig, localConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = getConfig;
|
||||||
33
devtools/client/debugger/new/configs/development.json
Normal file
33
devtools/client/debugger/new/configs/development.json
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"title": "Debugger",
|
||||||
|
"environment": "development",
|
||||||
|
"favicon": "images/favicon.png",
|
||||||
|
"theme": "light",
|
||||||
|
"dir": "ltr",
|
||||||
|
"defaultURL": "https://devtools-html.github.io/debugger-examples/",
|
||||||
|
"logging": {
|
||||||
|
"firefoxProxy": false
|
||||||
|
},
|
||||||
|
"chrome": {
|
||||||
|
"debug": true,
|
||||||
|
"host": "localhost",
|
||||||
|
"port": 9222
|
||||||
|
},
|
||||||
|
"node": {
|
||||||
|
"debug": true,
|
||||||
|
"host": "localhost",
|
||||||
|
"port": 9229
|
||||||
|
},
|
||||||
|
"firefox": {
|
||||||
|
"webSocketConnection": false,
|
||||||
|
"host": "localhost",
|
||||||
|
"webSocketPort": 8116,
|
||||||
|
"tcpPort": 6080,
|
||||||
|
"mcPath": "./firefox"
|
||||||
|
},
|
||||||
|
|
||||||
|
"development": {
|
||||||
|
"serverPort": 8000,
|
||||||
|
"examplesPort": 7999
|
||||||
|
}
|
||||||
|
}
|
||||||
15
devtools/client/debugger/new/configs/firefox-panel.json
Normal file
15
devtools/client/debugger/new/configs/firefox-panel.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"environment": "firefox-panel",
|
||||||
|
"logging": false,
|
||||||
|
"clientLogging": false,
|
||||||
|
"firefox": {
|
||||||
|
"mcPath": "./firefox"
|
||||||
|
},
|
||||||
|
"workers": {
|
||||||
|
"parserURL": "resource://devtools/client/debugger/new/parser-worker.js",
|
||||||
|
"prettyPrintURL":
|
||||||
|
"resource://devtools/client/debugger/new/pretty-print-worker.js",
|
||||||
|
"searchURL": "resource://devtools/client/debugger/new/search-worker.js"
|
||||||
|
},
|
||||||
|
"features": {}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
// The excluded files below should not be required while the Debugger runs
|
||||||
|
// in Firefox. Here, "devtools/shared/flags" is used as a dummy module.
|
||||||
|
const EXCLUDED_FILES = {
|
||||||
|
"../assets/panel/debugger.properties": "devtools/shared/flags",
|
||||||
|
"devtools-connection": "devtools/shared/flags",
|
||||||
|
"chrome-remote-interface": "devtools/shared/flags",
|
||||||
|
"devtools-launchpad": "devtools/shared/flags"
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = Object.assign(
|
||||||
|
{
|
||||||
|
"./source-editor": "devtools/client/sourceeditor/editor",
|
||||||
|
"../editor/source-editor": "devtools/client/sourceeditor/editor",
|
||||||
|
"./test-flag": "devtools/shared/flags",
|
||||||
|
"./fronts-device": "devtools/shared/fronts/device",
|
||||||
|
immutable: "devtools/client/shared/vendor/immutable",
|
||||||
|
lodash: "devtools/client/shared/vendor/lodash",
|
||||||
|
react: "devtools/client/shared/vendor/react",
|
||||||
|
"react-dom": "devtools/client/shared/vendor/react-dom",
|
||||||
|
"react-dom-factories": "devtools/client/shared/vendor/react-dom-factories",
|
||||||
|
"react-redux": "devtools/client/shared/vendor/react-redux",
|
||||||
|
redux: "devtools/client/shared/vendor/redux",
|
||||||
|
"prop-types": "devtools/client/shared/vendor/react-prop-types",
|
||||||
|
"devtools-services": "Services",
|
||||||
|
"wasmparser/dist/WasmParser": "devtools/client/shared/vendor/WasmParser",
|
||||||
|
"wasmparser/dist/WasmDis": "devtools/client/shared/vendor/WasmDis"
|
||||||
|
},
|
||||||
|
EXCLUDED_FILES
|
||||||
|
);
|
||||||
41909
devtools/client/debugger/new/dist/parser-worker.js
vendored
41909
devtools/client/debugger/new/dist/parser-worker.js
vendored
File diff suppressed because one or more lines are too long
7994
devtools/client/debugger/new/dist/pretty-print-worker.js
vendored
7994
devtools/client/debugger/new/dist/pretty-print-worker.js
vendored
File diff suppressed because it is too large
Load diff
1480
devtools/client/debugger/new/dist/search-worker.js
vendored
1480
devtools/client/debugger/new/dist/search-worker.js
vendored
File diff suppressed because it is too large
Load diff
11238
devtools/client/debugger/new/dist/vendors.js
vendored
11238
devtools/client/debugger/new/dist/vendors.js
vendored
File diff suppressed because it is too large
Load diff
10
devtools/client/debugger/new/flow-typed/npm-custom/enzyme.js
vendored
Normal file
10
devtools/client/debugger/new/flow-typed/npm-custom/enzyme.js
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
// Using this custom definition of the enzyme module avoids generating some
|
||||||
|
// flow errors that are unrelated to uses of enzyme itself...
|
||||||
|
// It would be nice to clean this up.
|
||||||
|
declare module "enzyme" {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
7
devtools/client/debugger/new/flow-typed/npm-custom/prettier.js
vendored
Normal file
7
devtools/client/debugger/new/flow-typed/npm-custom/prettier.js
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
declare module "prettier" {
|
||||||
|
declare module.exports: any;
|
||||||
|
}
|
||||||
6
devtools/client/debugger/new/images/column-marker.svg
Normal file
6
devtools/client/debugger/new/images/column-marker.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 13" width="11" height="13">
|
||||||
|
<path d="M5.07.5H1.5c-.54 0-1 .46-1 1v10c0 .54.46 1 1 1h3.57c.58 0 1.15-.26 1.53-.7l3.7-5.3-3.7-5.3C6.22.76 5.65.5 5.07.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 431 B |
|
|
@ -3,18 +3,50 @@
|
||||||
"version": "0.6.0",
|
"version": "0.6.0",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"url": "git://github.com/devtools-html/debugger.html.git",
|
"url": "git://github.com/firefox-devtools/debugger.html.git",
|
||||||
"type": "git"
|
"type": "git"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/devtools-html/debugger.html/issues"
|
"url": "https://github.com/firefox-devtools/debugger.html/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/devtools-html/debugger.html#readme",
|
"homepage": "https://github.com/firefox-devtools/debugger.html#readme",
|
||||||
"engineStrict": true,
|
"engineStrict": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=7.7.0"
|
"node": ">=10.15.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"start": "node bin/dev-server",
|
||||||
|
"start-app": "TARGET=application node bin/dev-server",
|
||||||
|
"flow": "flow",
|
||||||
|
"eslint-check": "eslint --print-config .eslintrc.js | eslint-config-prettier-check",
|
||||||
|
"prettier": "node bin/prettier.js",
|
||||||
|
"license-check": "devtools-license-check",
|
||||||
|
"links": "ls -l node_modules/ | grep ^l || echo 'no linked packages'",
|
||||||
|
"lint": "run-p lint:css lint:js lint:jsx-a11y lint:md",
|
||||||
|
"lint:css": "stylelint \"src/components/**/*.css\"",
|
||||||
|
"lint:js": "eslint *.js \"src/**/*.js\" \"packages/*/src/**/*.js\" --fix",
|
||||||
|
"lint:jsx-a11y": "eslint *.js \"src/**/*.js\" \"packages/*/src/**/*.js\" --plugin=jsx-a11y --config=.eslintrc.jsx-a11y",
|
||||||
|
"lint:md": "remark -u devtools-linters/markdown/preset -qf *.md src configs docs",
|
||||||
|
"mochi": "mochii --mc ./firefox --interactive --default-test-path devtools/client/debugger/new",
|
||||||
|
"mochid": "yarn mochi -- --jsdebugger --",
|
||||||
|
"mochir": "yarn mochi -- --repeat 10 --",
|
||||||
|
"mochih": "yarn mochi -- --headless --",
|
||||||
|
"mochici": "mochii --mc ./firefox --ci --default-test-path devtools/client/debugger/new --headless --",
|
||||||
|
"test": "jest",
|
||||||
|
"test:watch": "jest --watch",
|
||||||
|
"test:coverage": "yarn test --coverage",
|
||||||
|
"test:all": "yarn test; yarn lint; yarn flow",
|
||||||
|
"firefox": "start-firefox --start --location https://firefox-devtools.github.io/debugger-examples/",
|
||||||
|
"chrome": "start-chrome --location https://firefox-devtools.github.io/debugger-examples/",
|
||||||
|
"watch": "node bin/copy --watch --symlink",
|
||||||
|
"copy": "node bin/copy --assets",
|
||||||
|
"flow-coverage": "flow-coverage-report --threshold 50 -i 'src/actions/*.js' -i 'src/reducers/*.js' -i 'src/utils/*.js' -i 'src/components/*.js' -i 'src/components/**/*.js' -t html -t text",
|
||||||
|
"flow-utils": "flow-coverage-report -i 'src/utils/*.js' -i 'src/utils/**/*.js' -t text",
|
||||||
|
"flow-redux": "flow-coverage-report -i 'src/reducers/*.js' -i 'src/actions/*.js' -t text",
|
||||||
|
"flow-react": "flow-coverage-report -i 'src/components/**/*.js' -t text",
|
||||||
|
"nom": "node bin/nom",
|
||||||
|
"diff": "node bin/diff",
|
||||||
|
"install": "prettier --write package.json"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.0.0-beta.55",
|
"@babel/core": "^7.0.0-beta.55",
|
||||||
|
|
@ -24,7 +56,7 @@
|
||||||
"babel-plugin-transform-imports": "^1.5.0",
|
"babel-plugin-transform-imports": "^1.5.0",
|
||||||
"codemirror": "^5.28.0",
|
"codemirror": "^5.28.0",
|
||||||
"devtools-environment": "^0.0.6",
|
"devtools-environment": "^0.0.6",
|
||||||
"devtools-launchpad": "^0.0.141",
|
"devtools-launchpad": "^0.0.149",
|
||||||
"devtools-linters": "^0.0.4",
|
"devtools-linters": "^0.0.4",
|
||||||
"devtools-reps": "0.23.0",
|
"devtools-reps": "0.23.0",
|
||||||
"devtools-source-map": "0.16.0",
|
"devtools-source-map": "0.16.0",
|
||||||
|
|
@ -87,24 +119,24 @@
|
||||||
"enzyme-adapter-react-16": "^1.1.1",
|
"enzyme-adapter-react-16": "^1.1.1",
|
||||||
"enzyme-to-json": "3.3.4",
|
"enzyme-to-json": "3.3.4",
|
||||||
"eslint": "^5.0.0",
|
"eslint": "^5.0.0",
|
||||||
"eslint-config-prettier": "^3.0.0",
|
"eslint-config-prettier": "^4.0.0",
|
||||||
"eslint-plugin-babel": "^5.0.0",
|
"eslint-plugin-babel": "^5.0.0",
|
||||||
"eslint-plugin-file-header": "0.0.1",
|
"eslint-plugin-file-header": "0.0.1",
|
||||||
"eslint-plugin-flowtype": "^3.0.0",
|
"eslint-plugin-flowtype": "^3.0.0",
|
||||||
"eslint-plugin-import": "^2.8.0",
|
"eslint-plugin-import": "^2.8.0",
|
||||||
"eslint-plugin-jest": "^21.15.1",
|
"eslint-plugin-jest": "^21.15.1",
|
||||||
"eslint-plugin-jsx-a11y": "^6.1.2",
|
"eslint-plugin-jsx-a11y": "^6.1.2",
|
||||||
"eslint-plugin-mozilla": "1.0.4",
|
"eslint-plugin-mozilla": "1.1.1",
|
||||||
"eslint-plugin-prettier": "^3.0.0",
|
"eslint-plugin-prettier": "^3.0.0",
|
||||||
"eslint-plugin-react": "^7.2.1",
|
"eslint-plugin-react": "^7.2.1",
|
||||||
"expect.js": "^0.3.1",
|
"expect.js": "^0.3.1",
|
||||||
"flow-bin": "^0.89.0",
|
"flow-bin": "0.93.0",
|
||||||
"glob": "^7.0.3",
|
"glob": "^7.0.3",
|
||||||
"husky": "^1.0.1",
|
"husky": "^1.0.1",
|
||||||
"jest": "^23.0.0",
|
"jest": "^23.0.0",
|
||||||
"jest-environment-jsdom": "^23.0.0",
|
"jest-environment-jsdom": "^23.0.0",
|
||||||
"jest-in-case": "^1.0.2",
|
"jest-in-case": "^1.0.2",
|
||||||
"jest-junit": "^5.0.0",
|
"jest-junit": "^6.0.0",
|
||||||
"jest-localstorage-mock": "^2.2.0",
|
"jest-localstorage-mock": "^2.2.0",
|
||||||
"jest-serializer-babel-ast": "^0.0.5",
|
"jest-serializer-babel-ast": "^0.0.5",
|
||||||
"lint-staged": "^8.0.0",
|
"lint-staged": "^8.0.0",
|
||||||
|
|
@ -126,7 +158,7 @@
|
||||||
"remark-lint-table-cell-padding": "^1.0.0",
|
"remark-lint-table-cell-padding": "^1.0.0",
|
||||||
"remark-lint-table-pipes": "^1.0.0",
|
"remark-lint-table-pipes": "^1.0.0",
|
||||||
"remark-preset-lint-recommended": "^3.0.0",
|
"remark-preset-lint-recommended": "^3.0.0",
|
||||||
"remark-validate-links": "^7.0.0",
|
"remark-validate-links": "^8.0.0",
|
||||||
"rimraf": "^2.6.1",
|
"rimraf": "^2.6.1",
|
||||||
"single-line-log": "^1.1.2",
|
"single-line-log": "^1.1.2",
|
||||||
"stylelint": "^9.0.0",
|
"stylelint": "^9.0.0",
|
||||||
|
|
|
||||||
47
devtools/client/debugger/new/postcss.config.js
Normal file
47
devtools/client/debugger/new/postcss.config.js
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
var mapUrl = require("postcss-url-mapper");
|
||||||
|
const debug = require("debug")("launchpad");
|
||||||
|
|
||||||
|
function mapUrlProduction(url) {
|
||||||
|
const newUrl = url.replace(
|
||||||
|
/\/images\//,
|
||||||
|
"resource://devtools/client/debugger/new/images/"
|
||||||
|
);
|
||||||
|
|
||||||
|
debug("map url", { url, newUrl });
|
||||||
|
return newUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapUrlDevelopment(url) {
|
||||||
|
const newUrl = url
|
||||||
|
.replace(/(chrome:\/\/|resource:\/\/)/, "/mc/")
|
||||||
|
.replace(/devtools\/skin/, "devtools/client/themes")
|
||||||
|
.replace(/devtools\/content/, "devtools/client");
|
||||||
|
|
||||||
|
debug("map url", { url, newUrl });
|
||||||
|
return newUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = ({ file, options, env }) => {
|
||||||
|
if (env === "production") {
|
||||||
|
return {
|
||||||
|
plugins: [mapUrl(mapUrlProduction)]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
plugins: [
|
||||||
|
require("postcss-bidirection"),
|
||||||
|
require("autoprefixer")({
|
||||||
|
browsers: ["last 2 Firefox versions", "last 2 Chrome versions"],
|
||||||
|
flexbox: false,
|
||||||
|
grid: false
|
||||||
|
}),
|
||||||
|
require("postcss-class-namespace")(),
|
||||||
|
mapUrl(mapUrlDevelopment)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
};
|
||||||
40
devtools/client/debugger/new/src/main.development.js
Normal file
40
devtools/client/debugger/new/src/main.development.js
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
// @flow
|
||||||
|
|
||||||
|
import React from "react";
|
||||||
|
import ReactDOM from "react-dom";
|
||||||
|
|
||||||
|
import { isFirefoxPanel } from "devtools-environment";
|
||||||
|
|
||||||
|
import { onConnect } from "./client";
|
||||||
|
import { teardownWorkers } from "./utils/bootstrap";
|
||||||
|
import sourceQueue from "./utils/source-queue";
|
||||||
|
|
||||||
|
function unmountRoot() {
|
||||||
|
const mount = document.querySelector("#mount .launchpad-root");
|
||||||
|
ReactDOM.unmountComponentAtNode(mount);
|
||||||
|
}
|
||||||
|
|
||||||
|
const { bootstrap, L10N } = require("devtools-launchpad");
|
||||||
|
|
||||||
|
window.L10N = L10N;
|
||||||
|
// $FlowIgnore:
|
||||||
|
window.L10N.setBundle(require("../../../locales/en-us/debugger.properties"));
|
||||||
|
|
||||||
|
bootstrap(React, ReactDOM).then(connection => {
|
||||||
|
onConnect(connection, require("devtools-source-map"), {
|
||||||
|
emit: eventName => console.log(`emitted: ${eventName}`),
|
||||||
|
openLink: url => {
|
||||||
|
const win = window.open(url, "_blank");
|
||||||
|
win.focus();
|
||||||
|
},
|
||||||
|
openWorkerToolbox: worker => alert(worker.url),
|
||||||
|
openElementInInspector: grip =>
|
||||||
|
alert(`Opening node in Inspector: ${grip.class}`),
|
||||||
|
openConsoleAndEvaluate: input => alert(`console.log: ${input}`)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
@ -7,8 +7,6 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import ReactDOM from "react-dom";
|
import ReactDOM from "react-dom";
|
||||||
|
|
||||||
import { isFirefoxPanel } from "devtools-environment";
|
|
||||||
|
|
||||||
import { onConnect } from "./client";
|
import { onConnect } from "./client";
|
||||||
import { teardownWorkers } from "./utils/bootstrap";
|
import { teardownWorkers } from "./utils/bootstrap";
|
||||||
import sourceQueue from "./utils/source-queue";
|
import sourceQueue from "./utils/source-queue";
|
||||||
|
|
@ -18,52 +16,29 @@ function unmountRoot() {
|
||||||
ReactDOM.unmountComponentAtNode(mount);
|
ReactDOM.unmountComponentAtNode(mount);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isFirefoxPanel()) {
|
module.exports = {
|
||||||
module.exports = {
|
bootstrap: ({
|
||||||
bootstrap: ({
|
threadClient,
|
||||||
threadClient,
|
tabTarget,
|
||||||
tabTarget,
|
debuggerClient,
|
||||||
debuggerClient,
|
sourceMaps,
|
||||||
sourceMaps,
|
panel
|
||||||
panel
|
}: any) =>
|
||||||
}: any) => {
|
onConnect(
|
||||||
return onConnect(
|
{
|
||||||
{
|
tab: { clientType: "firefox" },
|
||||||
tab: { clientType: "firefox" },
|
tabConnection: {
|
||||||
tabConnection: {
|
tabTarget,
|
||||||
tabTarget,
|
threadClient,
|
||||||
threadClient,
|
debuggerClient
|
||||||
debuggerClient
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
sourceMaps,
|
|
||||||
panel
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
destroy: () => {
|
sourceMaps,
|
||||||
unmountRoot();
|
panel
|
||||||
sourceQueue.clear();
|
),
|
||||||
teardownWorkers();
|
destroy: () => {
|
||||||
}
|
unmountRoot();
|
||||||
};
|
sourceQueue.clear();
|
||||||
} else {
|
teardownWorkers();
|
||||||
const { bootstrap, L10N } = require("devtools-launchpad");
|
}
|
||||||
|
};
|
||||||
window.L10N = L10N;
|
|
||||||
// $FlowIgnore:
|
|
||||||
window.L10N.setBundle(require("../assets/panel/debugger.properties"));
|
|
||||||
|
|
||||||
bootstrap(React, ReactDOM).then(connection => {
|
|
||||||
onConnect(connection, require("devtools-source-map"), {
|
|
||||||
emit: eventName => console.log(`emitted: ${eventName}`),
|
|
||||||
openLink: url => {
|
|
||||||
const win = window.open(url, "_blank");
|
|
||||||
win.focus();
|
|
||||||
},
|
|
||||||
openWorkerToolbox: worker => alert(worker.url),
|
|
||||||
openElementInInspector: grip =>
|
|
||||||
alert(`Opening node in Inspector: ${grip.class}`),
|
|
||||||
openConsoleAndEvaluate: input => alert(`console.log: ${input}`)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
|
||||||
98
devtools/client/debugger/new/webpack.config.js
Normal file
98
devtools/client/debugger/new/webpack.config.js
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
const toolbox = require("devtools-launchpad/index");
|
||||||
|
const sourceMapAssets = require("devtools-source-map/assets");
|
||||||
|
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
||||||
|
|
||||||
|
const getConfig = require("./bin/getConfig");
|
||||||
|
const mozillaCentralMappings = require("./configs/mozilla-central-mappings");
|
||||||
|
const { NormalModuleReplacementPlugin } = require("webpack");
|
||||||
|
const path = require("path");
|
||||||
|
var Visualizer = require("webpack-visualizer-plugin");
|
||||||
|
const ObjectRestSpreadPlugin = require("@sucrase/webpack-object-rest-spread-plugin");
|
||||||
|
|
||||||
|
const isProduction = process.env.NODE_ENV === "production";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* builds a path that's relative to the project path
|
||||||
|
* returns an array so that we can prepend
|
||||||
|
* hot-module-reloading in local development
|
||||||
|
*/
|
||||||
|
function getEntry(filename) {
|
||||||
|
return [path.join(__dirname, filename)];
|
||||||
|
}
|
||||||
|
|
||||||
|
const webpackConfig = {
|
||||||
|
entry: {
|
||||||
|
// We always generate the debugger bundle, but we will only copy the CSS
|
||||||
|
// artifact over to mozilla-central.
|
||||||
|
debugger: getEntry(isProduction ? "src/main.js" : "src/main.development.js"),
|
||||||
|
"parser-worker": getEntry("src/workers/parser/worker.js"),
|
||||||
|
"pretty-print-worker": getEntry("src/workers/pretty-print/worker.js"),
|
||||||
|
"search-worker": getEntry("src/workers/search/worker.js"),
|
||||||
|
"source-map-worker": getEntry("packages/devtools-source-map/src/worker.js"),
|
||||||
|
"source-map-index": getEntry("packages/devtools-source-map/src/index.js")
|
||||||
|
},
|
||||||
|
|
||||||
|
output: {
|
||||||
|
path: path.join(__dirname, "assets/build"),
|
||||||
|
filename: "[name].js",
|
||||||
|
publicPath: "/assets/build"
|
||||||
|
},
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
new CopyWebpackPlugin(
|
||||||
|
Object.entries(sourceMapAssets).map(([name, filePath]) => ({
|
||||||
|
from: filePath,
|
||||||
|
to: `source-map-worker-assets/${name}`
|
||||||
|
}))
|
||||||
|
)
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
if (isProduction) {
|
||||||
|
// In the firefox panel, build the vendored dependencies as a bundle instead,
|
||||||
|
// the other debugger modules will be transpiled to a format that is
|
||||||
|
// compatible with the DevTools Loader.
|
||||||
|
webpackConfig.entry.vendors = getEntry("src/vendors.js");
|
||||||
|
webpackConfig.entry.reps = getEntry("packages/devtools-reps/src/index.js");
|
||||||
|
}
|
||||||
|
|
||||||
|
const envConfig = getConfig();
|
||||||
|
|
||||||
|
const extra = {
|
||||||
|
babelIncludes: ["react-aria-components"]
|
||||||
|
};
|
||||||
|
|
||||||
|
webpackConfig.plugins.push(new ObjectRestSpreadPlugin());
|
||||||
|
|
||||||
|
if (!isProduction) {
|
||||||
|
webpackConfig.module = webpackConfig.module || {};
|
||||||
|
webpackConfig.module.rules = webpackConfig.module.rules || [];
|
||||||
|
} else {
|
||||||
|
webpackConfig.output.libraryTarget = "umd";
|
||||||
|
|
||||||
|
if (process.env.vis) {
|
||||||
|
const viz = new Visualizer({
|
||||||
|
filename: "webpack-stats.html"
|
||||||
|
});
|
||||||
|
webpackConfig.plugins.push(viz);
|
||||||
|
}
|
||||||
|
|
||||||
|
const mappings = [
|
||||||
|
[/\.\/mocha/, "./mochitest"],
|
||||||
|
[/\.\.\/utils\/mocha/, "../utils/mochitest"],
|
||||||
|
[/\.\/utils\/mocha/, "./utils/mochitest"],
|
||||||
|
[/\.\/percy-stub/, "./percy-webpack"]
|
||||||
|
];
|
||||||
|
|
||||||
|
extra.excludeMap = mozillaCentralMappings;
|
||||||
|
|
||||||
|
mappings.forEach(([regex, res]) => {
|
||||||
|
webpackConfig.plugins.push(new NormalModuleReplacementPlugin(regex, res));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = toolbox.toolboxConfig(webpackConfig, envConfig, extra);
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -70,350 +70,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
/******/ __webpack_require__.p = "/assets/build";
|
/******/ __webpack_require__.p = "/assets/build";
|
||||||
/******/
|
/******/
|
||||||
/******/ // Load entry module and return exports
|
/******/ // Load entry module and return exports
|
||||||
/******/ return __webpack_require__(__webpack_require__.s = 3727);
|
/******/ return __webpack_require__(__webpack_require__.s = 760);
|
||||||
/******/ })
|
/******/ })
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/******/ ({
|
/******/ ({
|
||||||
|
|
||||||
/***/ 248:
|
/***/ 14:
|
||||||
/***/ (function(module, exports, __webpack_require__) {
|
|
||||||
|
|
||||||
(function(){
|
|
||||||
var crypt = __webpack_require__(249),
|
|
||||||
utf8 = __webpack_require__(250).utf8,
|
|
||||||
isBuffer = __webpack_require__(251),
|
|
||||||
bin = __webpack_require__(250).bin,
|
|
||||||
|
|
||||||
// The core
|
|
||||||
md5 = function (message, options) {
|
|
||||||
// Convert to byte array
|
|
||||||
if (message.constructor == String)
|
|
||||||
if (options && options.encoding === 'binary')
|
|
||||||
message = bin.stringToBytes(message);
|
|
||||||
else
|
|
||||||
message = utf8.stringToBytes(message);
|
|
||||||
else if (isBuffer(message))
|
|
||||||
message = Array.prototype.slice.call(message, 0);
|
|
||||||
else if (!Array.isArray(message))
|
|
||||||
message = message.toString();
|
|
||||||
// else, assume byte array already
|
|
||||||
|
|
||||||
var m = crypt.bytesToWords(message),
|
|
||||||
l = message.length * 8,
|
|
||||||
a = 1732584193,
|
|
||||||
b = -271733879,
|
|
||||||
c = -1732584194,
|
|
||||||
d = 271733878;
|
|
||||||
|
|
||||||
// Swap endian
|
|
||||||
for (var i = 0; i < m.length; i++) {
|
|
||||||
m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |
|
|
||||||
((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Padding
|
|
||||||
m[l >>> 5] |= 0x80 << (l % 32);
|
|
||||||
m[(((l + 64) >>> 9) << 4) + 14] = l;
|
|
||||||
|
|
||||||
// Method shortcuts
|
|
||||||
var FF = md5._ff,
|
|
||||||
GG = md5._gg,
|
|
||||||
HH = md5._hh,
|
|
||||||
II = md5._ii;
|
|
||||||
|
|
||||||
for (var i = 0; i < m.length; i += 16) {
|
|
||||||
|
|
||||||
var aa = a,
|
|
||||||
bb = b,
|
|
||||||
cc = c,
|
|
||||||
dd = d;
|
|
||||||
|
|
||||||
a = FF(a, b, c, d, m[i+ 0], 7, -680876936);
|
|
||||||
d = FF(d, a, b, c, m[i+ 1], 12, -389564586);
|
|
||||||
c = FF(c, d, a, b, m[i+ 2], 17, 606105819);
|
|
||||||
b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);
|
|
||||||
a = FF(a, b, c, d, m[i+ 4], 7, -176418897);
|
|
||||||
d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);
|
|
||||||
c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);
|
|
||||||
b = FF(b, c, d, a, m[i+ 7], 22, -45705983);
|
|
||||||
a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);
|
|
||||||
d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);
|
|
||||||
c = FF(c, d, a, b, m[i+10], 17, -42063);
|
|
||||||
b = FF(b, c, d, a, m[i+11], 22, -1990404162);
|
|
||||||
a = FF(a, b, c, d, m[i+12], 7, 1804603682);
|
|
||||||
d = FF(d, a, b, c, m[i+13], 12, -40341101);
|
|
||||||
c = FF(c, d, a, b, m[i+14], 17, -1502002290);
|
|
||||||
b = FF(b, c, d, a, m[i+15], 22, 1236535329);
|
|
||||||
|
|
||||||
a = GG(a, b, c, d, m[i+ 1], 5, -165796510);
|
|
||||||
d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);
|
|
||||||
c = GG(c, d, a, b, m[i+11], 14, 643717713);
|
|
||||||
b = GG(b, c, d, a, m[i+ 0], 20, -373897302);
|
|
||||||
a = GG(a, b, c, d, m[i+ 5], 5, -701558691);
|
|
||||||
d = GG(d, a, b, c, m[i+10], 9, 38016083);
|
|
||||||
c = GG(c, d, a, b, m[i+15], 14, -660478335);
|
|
||||||
b = GG(b, c, d, a, m[i+ 4], 20, -405537848);
|
|
||||||
a = GG(a, b, c, d, m[i+ 9], 5, 568446438);
|
|
||||||
d = GG(d, a, b, c, m[i+14], 9, -1019803690);
|
|
||||||
c = GG(c, d, a, b, m[i+ 3], 14, -187363961);
|
|
||||||
b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);
|
|
||||||
a = GG(a, b, c, d, m[i+13], 5, -1444681467);
|
|
||||||
d = GG(d, a, b, c, m[i+ 2], 9, -51403784);
|
|
||||||
c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);
|
|
||||||
b = GG(b, c, d, a, m[i+12], 20, -1926607734);
|
|
||||||
|
|
||||||
a = HH(a, b, c, d, m[i+ 5], 4, -378558);
|
|
||||||
d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);
|
|
||||||
c = HH(c, d, a, b, m[i+11], 16, 1839030562);
|
|
||||||
b = HH(b, c, d, a, m[i+14], 23, -35309556);
|
|
||||||
a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);
|
|
||||||
d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);
|
|
||||||
c = HH(c, d, a, b, m[i+ 7], 16, -155497632);
|
|
||||||
b = HH(b, c, d, a, m[i+10], 23, -1094730640);
|
|
||||||
a = HH(a, b, c, d, m[i+13], 4, 681279174);
|
|
||||||
d = HH(d, a, b, c, m[i+ 0], 11, -358537222);
|
|
||||||
c = HH(c, d, a, b, m[i+ 3], 16, -722521979);
|
|
||||||
b = HH(b, c, d, a, m[i+ 6], 23, 76029189);
|
|
||||||
a = HH(a, b, c, d, m[i+ 9], 4, -640364487);
|
|
||||||
d = HH(d, a, b, c, m[i+12], 11, -421815835);
|
|
||||||
c = HH(c, d, a, b, m[i+15], 16, 530742520);
|
|
||||||
b = HH(b, c, d, a, m[i+ 2], 23, -995338651);
|
|
||||||
|
|
||||||
a = II(a, b, c, d, m[i+ 0], 6, -198630844);
|
|
||||||
d = II(d, a, b, c, m[i+ 7], 10, 1126891415);
|
|
||||||
c = II(c, d, a, b, m[i+14], 15, -1416354905);
|
|
||||||
b = II(b, c, d, a, m[i+ 5], 21, -57434055);
|
|
||||||
a = II(a, b, c, d, m[i+12], 6, 1700485571);
|
|
||||||
d = II(d, a, b, c, m[i+ 3], 10, -1894986606);
|
|
||||||
c = II(c, d, a, b, m[i+10], 15, -1051523);
|
|
||||||
b = II(b, c, d, a, m[i+ 1], 21, -2054922799);
|
|
||||||
a = II(a, b, c, d, m[i+ 8], 6, 1873313359);
|
|
||||||
d = II(d, a, b, c, m[i+15], 10, -30611744);
|
|
||||||
c = II(c, d, a, b, m[i+ 6], 15, -1560198380);
|
|
||||||
b = II(b, c, d, a, m[i+13], 21, 1309151649);
|
|
||||||
a = II(a, b, c, d, m[i+ 4], 6, -145523070);
|
|
||||||
d = II(d, a, b, c, m[i+11], 10, -1120210379);
|
|
||||||
c = II(c, d, a, b, m[i+ 2], 15, 718787259);
|
|
||||||
b = II(b, c, d, a, m[i+ 9], 21, -343485551);
|
|
||||||
|
|
||||||
a = (a + aa) >>> 0;
|
|
||||||
b = (b + bb) >>> 0;
|
|
||||||
c = (c + cc) >>> 0;
|
|
||||||
d = (d + dd) >>> 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return crypt.endian([a, b, c, d]);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Auxiliary functions
|
|
||||||
md5._ff = function (a, b, c, d, x, s, t) {
|
|
||||||
var n = a + (b & c | ~b & d) + (x >>> 0) + t;
|
|
||||||
return ((n << s) | (n >>> (32 - s))) + b;
|
|
||||||
};
|
|
||||||
md5._gg = function (a, b, c, d, x, s, t) {
|
|
||||||
var n = a + (b & d | c & ~d) + (x >>> 0) + t;
|
|
||||||
return ((n << s) | (n >>> (32 - s))) + b;
|
|
||||||
};
|
|
||||||
md5._hh = function (a, b, c, d, x, s, t) {
|
|
||||||
var n = a + (b ^ c ^ d) + (x >>> 0) + t;
|
|
||||||
return ((n << s) | (n >>> (32 - s))) + b;
|
|
||||||
};
|
|
||||||
md5._ii = function (a, b, c, d, x, s, t) {
|
|
||||||
var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;
|
|
||||||
return ((n << s) | (n >>> (32 - s))) + b;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Package private blocksize
|
|
||||||
md5._blocksize = 16;
|
|
||||||
md5._digestsize = 16;
|
|
||||||
|
|
||||||
module.exports = function (message, options) {
|
|
||||||
if (message === undefined || message === null)
|
|
||||||
throw new Error('Illegal argument ' + message);
|
|
||||||
|
|
||||||
var digestbytes = crypt.wordsToBytes(md5(message, options));
|
|
||||||
return options && options.asBytes ? digestbytes :
|
|
||||||
options && options.asString ? bin.bytesToString(digestbytes) :
|
|
||||||
crypt.bytesToHex(digestbytes);
|
|
||||||
};
|
|
||||||
|
|
||||||
})();
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 249:
|
|
||||||
/***/ (function(module, exports) {
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
var base64map
|
|
||||||
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
|
|
||||||
|
|
||||||
crypt = {
|
|
||||||
// Bit-wise rotation left
|
|
||||||
rotl: function(n, b) {
|
|
||||||
return (n << b) | (n >>> (32 - b));
|
|
||||||
},
|
|
||||||
|
|
||||||
// Bit-wise rotation right
|
|
||||||
rotr: function(n, b) {
|
|
||||||
return (n << (32 - b)) | (n >>> b);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Swap big-endian to little-endian and vice versa
|
|
||||||
endian: function(n) {
|
|
||||||
// If number given, swap endian
|
|
||||||
if (n.constructor == Number) {
|
|
||||||
return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Else, assume array and swap all items
|
|
||||||
for (var i = 0; i < n.length; i++)
|
|
||||||
n[i] = crypt.endian(n[i]);
|
|
||||||
return n;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Generate an array of any length of random bytes
|
|
||||||
randomBytes: function(n) {
|
|
||||||
for (var bytes = []; n > 0; n--)
|
|
||||||
bytes.push(Math.floor(Math.random() * 256));
|
|
||||||
return bytes;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a byte array to big-endian 32-bit words
|
|
||||||
bytesToWords: function(bytes) {
|
|
||||||
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
|
|
||||||
words[b >>> 5] |= bytes[i] << (24 - b % 32);
|
|
||||||
return words;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert big-endian 32-bit words to a byte array
|
|
||||||
wordsToBytes: function(words) {
|
|
||||||
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
|
||||||
bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
|
|
||||||
return bytes;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a byte array to a hex string
|
|
||||||
bytesToHex: function(bytes) {
|
|
||||||
for (var hex = [], i = 0; i < bytes.length; i++) {
|
|
||||||
hex.push((bytes[i] >>> 4).toString(16));
|
|
||||||
hex.push((bytes[i] & 0xF).toString(16));
|
|
||||||
}
|
|
||||||
return hex.join('');
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a hex string to a byte array
|
|
||||||
hexToBytes: function(hex) {
|
|
||||||
for (var bytes = [], c = 0; c < hex.length; c += 2)
|
|
||||||
bytes.push(parseInt(hex.substr(c, 2), 16));
|
|
||||||
return bytes;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a byte array to a base-64 string
|
|
||||||
bytesToBase64: function(bytes) {
|
|
||||||
for (var base64 = [], i = 0; i < bytes.length; i += 3) {
|
|
||||||
var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
|
||||||
for (var j = 0; j < 4; j++)
|
|
||||||
if (i * 8 + j * 6 <= bytes.length * 8)
|
|
||||||
base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));
|
|
||||||
else
|
|
||||||
base64.push('=');
|
|
||||||
}
|
|
||||||
return base64.join('');
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a base-64 string to a byte array
|
|
||||||
base64ToBytes: function(base64) {
|
|
||||||
// Remove non-base-64 characters
|
|
||||||
base64 = base64.replace(/[^A-Z0-9+\/]/ig, '');
|
|
||||||
|
|
||||||
for (var bytes = [], i = 0, imod4 = 0; i < base64.length;
|
|
||||||
imod4 = ++i % 4) {
|
|
||||||
if (imod4 == 0) continue;
|
|
||||||
bytes.push(((base64map.indexOf(base64.charAt(i - 1))
|
|
||||||
& (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))
|
|
||||||
| (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));
|
|
||||||
}
|
|
||||||
return bytes;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = crypt;
|
|
||||||
})();
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 250:
|
|
||||||
/***/ (function(module, exports) {
|
|
||||||
|
|
||||||
var charenc = {
|
|
||||||
// UTF-8 encoding
|
|
||||||
utf8: {
|
|
||||||
// Convert a string to a byte array
|
|
||||||
stringToBytes: function(str) {
|
|
||||||
return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a byte array to a string
|
|
||||||
bytesToString: function(bytes) {
|
|
||||||
return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Binary encoding
|
|
||||||
bin: {
|
|
||||||
// Convert a string to a byte array
|
|
||||||
stringToBytes: function(str) {
|
|
||||||
for (var bytes = [], i = 0; i < str.length; i++)
|
|
||||||
bytes.push(str.charCodeAt(i) & 0xFF);
|
|
||||||
return bytes;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Convert a byte array to a string
|
|
||||||
bytesToString: function(bytes) {
|
|
||||||
for (var str = [], i = 0; i < bytes.length; i++)
|
|
||||||
str.push(String.fromCharCode(bytes[i]));
|
|
||||||
return str.join('');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = charenc;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 251:
|
|
||||||
/***/ (function(module, exports) {
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Determine if an object is a Buffer
|
|
||||||
*
|
|
||||||
* @author Feross Aboukhadijeh <https://feross.org>
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
|
||||||
// Object.prototype.constructor. Remove this eventually
|
|
||||||
module.exports = function (obj) {
|
|
||||||
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
|
||||||
}
|
|
||||||
|
|
||||||
function isBuffer (obj) {
|
|
||||||
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
|
||||||
}
|
|
||||||
|
|
||||||
// For Node v0.10 support. Remove this eventually.
|
|
||||||
function isSlowBuffer (obj) {
|
|
||||||
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 3646:
|
|
||||||
/***/ (function(module, exports, __webpack_require__) {
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
@ -424,7 +86,7 @@ Object.defineProperty(exports, "__esModule", {
|
||||||
});
|
});
|
||||||
exports.stopSourceMapWorker = exports.startSourceMapWorker = exports.isOriginalId = exports.isGeneratedId = exports.generatedToOriginalId = exports.originalToGeneratedId = exports.getOriginalStackFrames = exports.hasMappedSource = exports.clearSourceMaps = exports.applySourceMap = exports.getOriginalSourceText = exports.getLocationScopes = exports.getFileGeneratedRange = exports.getOriginalLocation = exports.getAllGeneratedLocations = exports.getGeneratedLocation = exports.getGeneratedRanges = exports.getOriginalRanges = exports.hasOriginalURL = exports.getOriginalURLs = exports.setAssetRootURL = exports.dispatcher = undefined;
|
exports.stopSourceMapWorker = exports.startSourceMapWorker = exports.isOriginalId = exports.isGeneratedId = exports.generatedToOriginalId = exports.originalToGeneratedId = exports.getOriginalStackFrames = exports.hasMappedSource = exports.clearSourceMaps = exports.applySourceMap = exports.getOriginalSourceText = exports.getLocationScopes = exports.getFileGeneratedRange = exports.getOriginalLocation = exports.getAllGeneratedLocations = exports.getGeneratedLocation = exports.getGeneratedRanges = exports.getOriginalRanges = exports.hasOriginalURL = exports.getOriginalURLs = exports.setAssetRootURL = exports.dispatcher = undefined;
|
||||||
|
|
||||||
var _utils = __webpack_require__(3652);
|
var _utils = __webpack_require__(69);
|
||||||
|
|
||||||
Object.defineProperty(exports, "originalToGeneratedId", {
|
Object.defineProperty(exports, "originalToGeneratedId", {
|
||||||
enumerable: true,
|
enumerable: true,
|
||||||
|
|
@ -451,7 +113,7 @@ Object.defineProperty(exports, "isOriginalId", {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var _devtoolsSourceMap = __webpack_require__(3646);
|
var _devtoolsSourceMap = __webpack_require__(14);
|
||||||
|
|
||||||
var self = _interopRequireWildcard(_devtoolsSourceMap);
|
var self = _interopRequireWildcard(_devtoolsSourceMap);
|
||||||
|
|
||||||
|
|
@ -463,7 +125,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
workerUtils: { WorkerDispatcher }
|
workerUtils: { WorkerDispatcher }
|
||||||
} = __webpack_require__(3651);
|
} = __webpack_require__(16);
|
||||||
|
|
||||||
const dispatcher = exports.dispatcher = new WorkerDispatcher();
|
const dispatcher = exports.dispatcher = new WorkerDispatcher();
|
||||||
|
|
||||||
|
|
@ -517,15 +179,15 @@ exports.default = self;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3651:
|
/***/ 16:
|
||||||
/***/ (function(module, exports, __webpack_require__) {
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
const networkRequest = __webpack_require__(3653);
|
const networkRequest = __webpack_require__(27);
|
||||||
const workerUtils = __webpack_require__(3654);
|
const workerUtils = __webpack_require__(28);
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
networkRequest,
|
networkRequest,
|
||||||
|
|
@ -534,95 +196,7 @@ module.exports = {
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3652:
|
/***/ 27:
|
||||||
/***/ (function(module, exports, __webpack_require__) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
|
||||||
|
|
||||||
const md5 = __webpack_require__(248);
|
|
||||||
|
|
||||||
function originalToGeneratedId(originalId) {
|
|
||||||
const match = originalId.match(/(.*)\/originalSource/);
|
|
||||||
return match ? match[1] : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
function generatedToOriginalId(generatedId, url) {
|
|
||||||
return `${generatedId}/originalSource-${md5(url)}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isOriginalId(id) {
|
|
||||||
return (/\/originalSource/.test(id)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function isGeneratedId(id) {
|
|
||||||
return !isOriginalId(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Trims the query part or reference identifier of a URL string, if necessary.
|
|
||||||
*/
|
|
||||||
function trimUrlQuery(url) {
|
|
||||||
const length = url.length;
|
|
||||||
const q1 = url.indexOf("?");
|
|
||||||
const q2 = url.indexOf("&");
|
|
||||||
const q3 = url.indexOf("#");
|
|
||||||
const q = Math.min(q1 != -1 ? q1 : length, q2 != -1 ? q2 : length, q3 != -1 ? q3 : length);
|
|
||||||
|
|
||||||
return url.slice(0, q);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Map suffix to content type.
|
|
||||||
const contentMap = {
|
|
||||||
js: "text/javascript",
|
|
||||||
jsm: "text/javascript",
|
|
||||||
mjs: "text/javascript",
|
|
||||||
ts: "text/typescript",
|
|
||||||
tsx: "text/typescript-jsx",
|
|
||||||
jsx: "text/jsx",
|
|
||||||
vue: "text/vue",
|
|
||||||
coffee: "text/coffeescript",
|
|
||||||
elm: "text/elm",
|
|
||||||
cljc: "text/x-clojure",
|
|
||||||
cljs: "text/x-clojurescript"
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the content type for the specified URL. If no specific
|
|
||||||
* content type can be determined, "text/plain" is returned.
|
|
||||||
*
|
|
||||||
* @return String
|
|
||||||
* The content type.
|
|
||||||
*/
|
|
||||||
function getContentType(url) {
|
|
||||||
url = trimUrlQuery(url);
|
|
||||||
const dot = url.lastIndexOf(".");
|
|
||||||
if (dot >= 0) {
|
|
||||||
const name = url.substring(dot + 1);
|
|
||||||
if (name in contentMap) {
|
|
||||||
return contentMap[name];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "text/plain";
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
originalToGeneratedId,
|
|
||||||
generatedToOriginalId,
|
|
||||||
isOriginalId,
|
|
||||||
isGeneratedId,
|
|
||||||
getContentType,
|
|
||||||
contentMapForTesting: contentMap
|
|
||||||
};
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 3653:
|
|
||||||
/***/ (function(module, exports) {
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
|
@ -650,7 +224,7 @@ module.exports = networkRequest;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3654:
|
/***/ 28:
|
||||||
/***/ (function(module, exports) {
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
||||||
|
|
@ -828,10 +402,436 @@ module.exports = {
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3727:
|
/***/ 51:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
var charenc = {
|
||||||
|
// UTF-8 encoding
|
||||||
|
utf8: {
|
||||||
|
// Convert a string to a byte array
|
||||||
|
stringToBytes: function(str) {
|
||||||
|
return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a byte array to a string
|
||||||
|
bytesToString: function(bytes) {
|
||||||
|
return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// Binary encoding
|
||||||
|
bin: {
|
||||||
|
// Convert a string to a byte array
|
||||||
|
stringToBytes: function(str) {
|
||||||
|
for (var bytes = [], i = 0; i < str.length; i++)
|
||||||
|
bytes.push(str.charCodeAt(i) & 0xFF);
|
||||||
|
return bytes;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a byte array to a string
|
||||||
|
bytesToString: function(bytes) {
|
||||||
|
for (var str = [], i = 0; i < bytes.length; i++)
|
||||||
|
str.push(String.fromCharCode(bytes[i]));
|
||||||
|
return str.join('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = charenc;
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 69:
|
||||||
/***/ (function(module, exports, __webpack_require__) {
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
module.exports = __webpack_require__(3646);
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
|
||||||
|
|
||||||
|
const md5 = __webpack_require__(80);
|
||||||
|
|
||||||
|
function originalToGeneratedId(originalId) {
|
||||||
|
const match = originalId.match(/(.*)\/originalSource/);
|
||||||
|
return match ? match[1] : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function generatedToOriginalId(generatedId, url) {
|
||||||
|
return `${generatedId}/originalSource-${md5(url)}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isOriginalId(id) {
|
||||||
|
return (/\/originalSource/.test(id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isGeneratedId(id) {
|
||||||
|
return !isOriginalId(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trims the query part or reference identifier of a URL string, if necessary.
|
||||||
|
*/
|
||||||
|
function trimUrlQuery(url) {
|
||||||
|
const length = url.length;
|
||||||
|
const q1 = url.indexOf("?");
|
||||||
|
const q2 = url.indexOf("&");
|
||||||
|
const q3 = url.indexOf("#");
|
||||||
|
const q = Math.min(q1 != -1 ? q1 : length, q2 != -1 ? q2 : length, q3 != -1 ? q3 : length);
|
||||||
|
|
||||||
|
return url.slice(0, q);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Map suffix to content type.
|
||||||
|
const contentMap = {
|
||||||
|
js: "text/javascript",
|
||||||
|
jsm: "text/javascript",
|
||||||
|
mjs: "text/javascript",
|
||||||
|
ts: "text/typescript",
|
||||||
|
tsx: "text/typescript-jsx",
|
||||||
|
jsx: "text/jsx",
|
||||||
|
vue: "text/vue",
|
||||||
|
coffee: "text/coffeescript",
|
||||||
|
elm: "text/elm",
|
||||||
|
cljc: "text/x-clojure",
|
||||||
|
cljs: "text/x-clojurescript"
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the content type for the specified URL. If no specific
|
||||||
|
* content type can be determined, "text/plain" is returned.
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
* The content type.
|
||||||
|
*/
|
||||||
|
function getContentType(url) {
|
||||||
|
url = trimUrlQuery(url);
|
||||||
|
const dot = url.lastIndexOf(".");
|
||||||
|
if (dot >= 0) {
|
||||||
|
const name = url.substring(dot + 1);
|
||||||
|
if (name in contentMap) {
|
||||||
|
return contentMap[name];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "text/plain";
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
originalToGeneratedId,
|
||||||
|
generatedToOriginalId,
|
||||||
|
isOriginalId,
|
||||||
|
isGeneratedId,
|
||||||
|
getContentType,
|
||||||
|
contentMapForTesting: contentMap
|
||||||
|
};
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 760:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
module.exports = __webpack_require__(14);
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 80:
|
||||||
|
/***/ (function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
(function(){
|
||||||
|
var crypt = __webpack_require__(81),
|
||||||
|
utf8 = __webpack_require__(51).utf8,
|
||||||
|
isBuffer = __webpack_require__(82),
|
||||||
|
bin = __webpack_require__(51).bin,
|
||||||
|
|
||||||
|
// The core
|
||||||
|
md5 = function (message, options) {
|
||||||
|
// Convert to byte array
|
||||||
|
if (message.constructor == String)
|
||||||
|
if (options && options.encoding === 'binary')
|
||||||
|
message = bin.stringToBytes(message);
|
||||||
|
else
|
||||||
|
message = utf8.stringToBytes(message);
|
||||||
|
else if (isBuffer(message))
|
||||||
|
message = Array.prototype.slice.call(message, 0);
|
||||||
|
else if (!Array.isArray(message))
|
||||||
|
message = message.toString();
|
||||||
|
// else, assume byte array already
|
||||||
|
|
||||||
|
var m = crypt.bytesToWords(message),
|
||||||
|
l = message.length * 8,
|
||||||
|
a = 1732584193,
|
||||||
|
b = -271733879,
|
||||||
|
c = -1732584194,
|
||||||
|
d = 271733878;
|
||||||
|
|
||||||
|
// Swap endian
|
||||||
|
for (var i = 0; i < m.length; i++) {
|
||||||
|
m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |
|
||||||
|
((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Padding
|
||||||
|
m[l >>> 5] |= 0x80 << (l % 32);
|
||||||
|
m[(((l + 64) >>> 9) << 4) + 14] = l;
|
||||||
|
|
||||||
|
// Method shortcuts
|
||||||
|
var FF = md5._ff,
|
||||||
|
GG = md5._gg,
|
||||||
|
HH = md5._hh,
|
||||||
|
II = md5._ii;
|
||||||
|
|
||||||
|
for (var i = 0; i < m.length; i += 16) {
|
||||||
|
|
||||||
|
var aa = a,
|
||||||
|
bb = b,
|
||||||
|
cc = c,
|
||||||
|
dd = d;
|
||||||
|
|
||||||
|
a = FF(a, b, c, d, m[i+ 0], 7, -680876936);
|
||||||
|
d = FF(d, a, b, c, m[i+ 1], 12, -389564586);
|
||||||
|
c = FF(c, d, a, b, m[i+ 2], 17, 606105819);
|
||||||
|
b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);
|
||||||
|
a = FF(a, b, c, d, m[i+ 4], 7, -176418897);
|
||||||
|
d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);
|
||||||
|
c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);
|
||||||
|
b = FF(b, c, d, a, m[i+ 7], 22, -45705983);
|
||||||
|
a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);
|
||||||
|
d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);
|
||||||
|
c = FF(c, d, a, b, m[i+10], 17, -42063);
|
||||||
|
b = FF(b, c, d, a, m[i+11], 22, -1990404162);
|
||||||
|
a = FF(a, b, c, d, m[i+12], 7, 1804603682);
|
||||||
|
d = FF(d, a, b, c, m[i+13], 12, -40341101);
|
||||||
|
c = FF(c, d, a, b, m[i+14], 17, -1502002290);
|
||||||
|
b = FF(b, c, d, a, m[i+15], 22, 1236535329);
|
||||||
|
|
||||||
|
a = GG(a, b, c, d, m[i+ 1], 5, -165796510);
|
||||||
|
d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);
|
||||||
|
c = GG(c, d, a, b, m[i+11], 14, 643717713);
|
||||||
|
b = GG(b, c, d, a, m[i+ 0], 20, -373897302);
|
||||||
|
a = GG(a, b, c, d, m[i+ 5], 5, -701558691);
|
||||||
|
d = GG(d, a, b, c, m[i+10], 9, 38016083);
|
||||||
|
c = GG(c, d, a, b, m[i+15], 14, -660478335);
|
||||||
|
b = GG(b, c, d, a, m[i+ 4], 20, -405537848);
|
||||||
|
a = GG(a, b, c, d, m[i+ 9], 5, 568446438);
|
||||||
|
d = GG(d, a, b, c, m[i+14], 9, -1019803690);
|
||||||
|
c = GG(c, d, a, b, m[i+ 3], 14, -187363961);
|
||||||
|
b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);
|
||||||
|
a = GG(a, b, c, d, m[i+13], 5, -1444681467);
|
||||||
|
d = GG(d, a, b, c, m[i+ 2], 9, -51403784);
|
||||||
|
c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);
|
||||||
|
b = GG(b, c, d, a, m[i+12], 20, -1926607734);
|
||||||
|
|
||||||
|
a = HH(a, b, c, d, m[i+ 5], 4, -378558);
|
||||||
|
d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);
|
||||||
|
c = HH(c, d, a, b, m[i+11], 16, 1839030562);
|
||||||
|
b = HH(b, c, d, a, m[i+14], 23, -35309556);
|
||||||
|
a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);
|
||||||
|
d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);
|
||||||
|
c = HH(c, d, a, b, m[i+ 7], 16, -155497632);
|
||||||
|
b = HH(b, c, d, a, m[i+10], 23, -1094730640);
|
||||||
|
a = HH(a, b, c, d, m[i+13], 4, 681279174);
|
||||||
|
d = HH(d, a, b, c, m[i+ 0], 11, -358537222);
|
||||||
|
c = HH(c, d, a, b, m[i+ 3], 16, -722521979);
|
||||||
|
b = HH(b, c, d, a, m[i+ 6], 23, 76029189);
|
||||||
|
a = HH(a, b, c, d, m[i+ 9], 4, -640364487);
|
||||||
|
d = HH(d, a, b, c, m[i+12], 11, -421815835);
|
||||||
|
c = HH(c, d, a, b, m[i+15], 16, 530742520);
|
||||||
|
b = HH(b, c, d, a, m[i+ 2], 23, -995338651);
|
||||||
|
|
||||||
|
a = II(a, b, c, d, m[i+ 0], 6, -198630844);
|
||||||
|
d = II(d, a, b, c, m[i+ 7], 10, 1126891415);
|
||||||
|
c = II(c, d, a, b, m[i+14], 15, -1416354905);
|
||||||
|
b = II(b, c, d, a, m[i+ 5], 21, -57434055);
|
||||||
|
a = II(a, b, c, d, m[i+12], 6, 1700485571);
|
||||||
|
d = II(d, a, b, c, m[i+ 3], 10, -1894986606);
|
||||||
|
c = II(c, d, a, b, m[i+10], 15, -1051523);
|
||||||
|
b = II(b, c, d, a, m[i+ 1], 21, -2054922799);
|
||||||
|
a = II(a, b, c, d, m[i+ 8], 6, 1873313359);
|
||||||
|
d = II(d, a, b, c, m[i+15], 10, -30611744);
|
||||||
|
c = II(c, d, a, b, m[i+ 6], 15, -1560198380);
|
||||||
|
b = II(b, c, d, a, m[i+13], 21, 1309151649);
|
||||||
|
a = II(a, b, c, d, m[i+ 4], 6, -145523070);
|
||||||
|
d = II(d, a, b, c, m[i+11], 10, -1120210379);
|
||||||
|
c = II(c, d, a, b, m[i+ 2], 15, 718787259);
|
||||||
|
b = II(b, c, d, a, m[i+ 9], 21, -343485551);
|
||||||
|
|
||||||
|
a = (a + aa) >>> 0;
|
||||||
|
b = (b + bb) >>> 0;
|
||||||
|
c = (c + cc) >>> 0;
|
||||||
|
d = (d + dd) >>> 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return crypt.endian([a, b, c, d]);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Auxiliary functions
|
||||||
|
md5._ff = function (a, b, c, d, x, s, t) {
|
||||||
|
var n = a + (b & c | ~b & d) + (x >>> 0) + t;
|
||||||
|
return ((n << s) | (n >>> (32 - s))) + b;
|
||||||
|
};
|
||||||
|
md5._gg = function (a, b, c, d, x, s, t) {
|
||||||
|
var n = a + (b & d | c & ~d) + (x >>> 0) + t;
|
||||||
|
return ((n << s) | (n >>> (32 - s))) + b;
|
||||||
|
};
|
||||||
|
md5._hh = function (a, b, c, d, x, s, t) {
|
||||||
|
var n = a + (b ^ c ^ d) + (x >>> 0) + t;
|
||||||
|
return ((n << s) | (n >>> (32 - s))) + b;
|
||||||
|
};
|
||||||
|
md5._ii = function (a, b, c, d, x, s, t) {
|
||||||
|
var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;
|
||||||
|
return ((n << s) | (n >>> (32 - s))) + b;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Package private blocksize
|
||||||
|
md5._blocksize = 16;
|
||||||
|
md5._digestsize = 16;
|
||||||
|
|
||||||
|
module.exports = function (message, options) {
|
||||||
|
if (message === undefined || message === null)
|
||||||
|
throw new Error('Illegal argument ' + message);
|
||||||
|
|
||||||
|
var digestbytes = crypt.wordsToBytes(md5(message, options));
|
||||||
|
return options && options.asBytes ? digestbytes :
|
||||||
|
options && options.asString ? bin.bytesToString(digestbytes) :
|
||||||
|
crypt.bytesToHex(digestbytes);
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 81:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
var base64map
|
||||||
|
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
|
||||||
|
|
||||||
|
crypt = {
|
||||||
|
// Bit-wise rotation left
|
||||||
|
rotl: function(n, b) {
|
||||||
|
return (n << b) | (n >>> (32 - b));
|
||||||
|
},
|
||||||
|
|
||||||
|
// Bit-wise rotation right
|
||||||
|
rotr: function(n, b) {
|
||||||
|
return (n << (32 - b)) | (n >>> b);
|
||||||
|
},
|
||||||
|
|
||||||
|
// Swap big-endian to little-endian and vice versa
|
||||||
|
endian: function(n) {
|
||||||
|
// If number given, swap endian
|
||||||
|
if (n.constructor == Number) {
|
||||||
|
return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Else, assume array and swap all items
|
||||||
|
for (var i = 0; i < n.length; i++)
|
||||||
|
n[i] = crypt.endian(n[i]);
|
||||||
|
return n;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Generate an array of any length of random bytes
|
||||||
|
randomBytes: function(n) {
|
||||||
|
for (var bytes = []; n > 0; n--)
|
||||||
|
bytes.push(Math.floor(Math.random() * 256));
|
||||||
|
return bytes;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a byte array to big-endian 32-bit words
|
||||||
|
bytesToWords: function(bytes) {
|
||||||
|
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
|
||||||
|
words[b >>> 5] |= bytes[i] << (24 - b % 32);
|
||||||
|
return words;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert big-endian 32-bit words to a byte array
|
||||||
|
wordsToBytes: function(words) {
|
||||||
|
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
||||||
|
bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
|
||||||
|
return bytes;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a byte array to a hex string
|
||||||
|
bytesToHex: function(bytes) {
|
||||||
|
for (var hex = [], i = 0; i < bytes.length; i++) {
|
||||||
|
hex.push((bytes[i] >>> 4).toString(16));
|
||||||
|
hex.push((bytes[i] & 0xF).toString(16));
|
||||||
|
}
|
||||||
|
return hex.join('');
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a hex string to a byte array
|
||||||
|
hexToBytes: function(hex) {
|
||||||
|
for (var bytes = [], c = 0; c < hex.length; c += 2)
|
||||||
|
bytes.push(parseInt(hex.substr(c, 2), 16));
|
||||||
|
return bytes;
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a byte array to a base-64 string
|
||||||
|
bytesToBase64: function(bytes) {
|
||||||
|
for (var base64 = [], i = 0; i < bytes.length; i += 3) {
|
||||||
|
var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
||||||
|
for (var j = 0; j < 4; j++)
|
||||||
|
if (i * 8 + j * 6 <= bytes.length * 8)
|
||||||
|
base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));
|
||||||
|
else
|
||||||
|
base64.push('=');
|
||||||
|
}
|
||||||
|
return base64.join('');
|
||||||
|
},
|
||||||
|
|
||||||
|
// Convert a base-64 string to a byte array
|
||||||
|
base64ToBytes: function(base64) {
|
||||||
|
// Remove non-base-64 characters
|
||||||
|
base64 = base64.replace(/[^A-Z0-9+\/]/ig, '');
|
||||||
|
|
||||||
|
for (var bytes = [], i = 0, imod4 = 0; i < base64.length;
|
||||||
|
imod4 = ++i % 4) {
|
||||||
|
if (imod4 == 0) continue;
|
||||||
|
bytes.push(((base64map.indexOf(base64.charAt(i - 1))
|
||||||
|
& (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))
|
||||||
|
| (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));
|
||||||
|
}
|
||||||
|
return bytes;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = crypt;
|
||||||
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 82:
|
||||||
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Determine if an object is a Buffer
|
||||||
|
*
|
||||||
|
* @author Feross Aboukhadijeh <https://feross.org>
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
||||||
|
// Object.prototype.constructor. Remove this eventually
|
||||||
|
module.exports = function (obj) {
|
||||||
|
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
||||||
|
}
|
||||||
|
|
||||||
|
function isBuffer (obj) {
|
||||||
|
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
||||||
|
}
|
||||||
|
|
||||||
|
// For Node v0.10 support. Remove this eventually.
|
||||||
|
function isSlowBuffer (obj) {
|
||||||
|
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***/ })
|
/***/ })
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue