diff --git a/devtools/client/debugger/new/README.mozilla b/devtools/client/debugger/new/README.mozilla index 291e1393fb1d..813466d276a9 100644 --- a/devtools/client/debugger/new/README.mozilla +++ b/devtools/client/debugger/new/README.mozilla @@ -1,9 +1,9 @@ This is the debugger.html project output. See https://github.com/devtools-html/debugger.html -Version 77 +Version 76 -Comparison: https://github.com/devtools-html/debugger.html/compare/release-76...release-77 +Comparison: https://github.com/devtools-html/debugger.html/compare/release-75...release-76 Packages: - babel-plugin-transform-es2015-modules-commonjs @6.26.2 diff --git a/devtools/client/debugger/new/dist/debugger.css b/devtools/client/debugger/new/dist/debugger.css index e9b066b506f2..791a302e567e 100644 --- a/devtools/client/debugger/new/dist/debugger.css +++ b/devtools/client/debugger/new/dist/debugger.css @@ -1512,7 +1512,6 @@ html .toggle-button.end.vertical svg { .source-outline-panel { flex: 1; - overflow: auto; } .sources-list .managed-tree .tree .node img.blackBox { @@ -3006,11 +3005,6 @@ debug-expression-error { align-items: center; } -.breakpoints-list .breakpoint-heading .filename span { - opacity: 0.7; - padding-left: 4px; -} - /* temporary until we refactor the sources tree and tab icon styles */ .breakpoints-list .breakpoint-heading .source-icon.file { top: 0; @@ -4200,11 +4194,6 @@ html[dir="rtl"] img.moreTabs { align-self: center; } -.source-tab .filename span { - opacity: 0.7; - padding-left: 4px; -} - .source-tab .close-btn { visibility: hidden; line-height: 0; diff --git a/devtools/client/debugger/new/src/actions/pause/pauseOnExceptions.js b/devtools/client/debugger/new/src/actions/pause/pauseOnExceptions.js index c28f76f605d3..b57658b6df5c 100644 --- a/devtools/client/debugger/new/src/actions/pause/pauseOnExceptions.js +++ b/devtools/client/debugger/new/src/actions/pause/pauseOnExceptions.js @@ -7,8 +7,6 @@ exports.pauseOnExceptions = pauseOnExceptions; var _promise = require("../utils/middleware/promise"); -var _telemetry = require("../../utils/telemetry"); - /* 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 . */ @@ -23,14 +21,6 @@ function pauseOnExceptions(shouldPauseOnExceptions, shouldPauseOnCaughtException dispatch, client }) => { - /* eslint-disable camelcase */ - (0, _telemetry.recordEvent)("pause_on_exceptions", { - exceptions: shouldPauseOnExceptions, - // There's no "n" in the key below (#1463117) - caught_exceptio: shouldPauseOnCaughtExceptions - }); - /* eslint-enable camelcase */ - return dispatch({ type: "PAUSE_ON_EXCEPTIONS", shouldPauseOnExceptions, diff --git a/devtools/client/debugger/new/src/actions/sources/newSources.js b/devtools/client/debugger/new/src/actions/sources/newSources.js index d4c170a32748..a3db3b9b3924 100644 --- a/devtools/client/debugger/new/src/actions/sources/newSources.js +++ b/devtools/client/debugger/new/src/actions/sources/newSources.js @@ -116,8 +116,7 @@ function checkSelectedSource(sourceId) { if (rawPendingUrl === source.url) { if ((0, _source.isPrettyURL)(pendingUrl)) { - const prettySource = await dispatch((0, _prettyPrint.togglePrettyPrint)(source.id)); - return dispatch(checkPendingBreakpoints(prettySource.id)); + return await dispatch((0, _prettyPrint.togglePrettyPrint)(source.id)); } await dispatch((0, _sources.selectLocation)({ ...pendingLocation, @@ -136,13 +135,14 @@ function checkPendingBreakpoints(sourceId) { const source = (0, _selectors.getSourceFromId)(getState(), sourceId); const pendingBreakpoints = (0, _selectors.getPendingBreakpointsForSource)(getState(), source.url); - if (pendingBreakpoints.length === 0) { + if (!pendingBreakpoints.size) { return; } // load the source text if there is a pending breakpoint for it await dispatch((0, _loadSourceText.loadSourceText)(source)); - await Promise.all(pendingBreakpoints.map(bp => dispatch((0, _breakpoints.syncBreakpoint)(sourceId, bp)))); + const breakpoints = pendingBreakpoints.valueSeq().toJS(); + await Promise.all(breakpoints.map(bp => dispatch((0, _breakpoints.syncBreakpoint)(sourceId, bp)))); }; } diff --git a/devtools/client/debugger/new/src/actions/sources/prettyPrint.js b/devtools/client/debugger/new/src/actions/sources/prettyPrint.js index fad0605faf91..dd1fd6efb838 100644 --- a/devtools/client/debugger/new/src/actions/sources/prettyPrint.js +++ b/devtools/client/debugger/new/src/actions/sources/prettyPrint.js @@ -134,9 +134,8 @@ function togglePrettyPrint(sourceId) { await dispatch((0, _pause.mapFrames)()); await dispatch((0, _ast.setPausePoints)(newPrettySource.id)); await dispatch((0, _ast.setSymbols)(newPrettySource.id)); - dispatch((0, _sources.selectLocation)({ ...options.location, + return dispatch((0, _sources.selectLocation)({ ...options.location, sourceId: newPrettySource.id })); - return newPrettySource; }; } \ No newline at end of file diff --git a/devtools/client/debugger/new/src/components/Editor/Tab.js b/devtools/client/debugger/new/src/components/Editor/Tab.js index 688746dbffc1..b82b4da62612 100644 --- a/devtools/client/debugger/new/src/components/Editor/Tab.js +++ b/devtools/client/debugger/new/src/components/Editor/Tab.js @@ -134,8 +134,7 @@ class Tab extends _react.PureComponent { selectedSource, selectSpecificSource, closeTab, - source, - tabSources + source } = this.props; const sourceId = source.id; const active = selectedSource && sourceId == selectedSource.id && !this.isProjectSearchEnabled() && !this.isSourceSearchEnabled(); @@ -161,7 +160,6 @@ class Tab extends _react.PureComponent { active, pretty: isPrettyCode }); - const path = (0, _source.getDisplayPath)(source, tabSources); return _react2.default.createElement("div", { className: className, key: sourceId, @@ -173,7 +171,7 @@ class Tab extends _react.PureComponent { shouldHide: icon => ["file", "javascript"].includes(icon) }), _react2.default.createElement("div", { className: "filename" - }, (0, _source.getTruncatedFileName)(source), path && _react2.default.createElement("span", null, `../${path}/..`)), _react2.default.createElement(_Button.CloseButton, { + }, (0, _source.getTruncatedFileName)(source)), _react2.default.createElement(_Button.CloseButton, { handleClick: onClickClose, tooltip: L10N.getStr("sourceTabs.closeTabButtonTooltip") })); diff --git a/devtools/client/debugger/new/src/components/SecondaryPanes/Breakpoints/index.js b/devtools/client/debugger/new/src/components/SecondaryPanes/Breakpoints/index.js index 11b1697d7a79..62eb424b6731 100644 --- a/devtools/client/debugger/new/src/components/SecondaryPanes/Breakpoints/index.js +++ b/devtools/client/debugger/new/src/components/SecondaryPanes/Breakpoints/index.js @@ -72,32 +72,22 @@ class Breakpoints extends _react.Component { const { breakpointSources } = this.props; - const sources = [...breakpointSources.map(({ - source, - breakpoints - }) => source)]; return [...breakpointSources.map(({ source, - breakpoints, - i - }) => { - const path = (0, _source.getDisplayPath)(source, sources); - return [_react2.default.createElement("div", { - className: "breakpoint-heading", - title: (0, _source.getRawSourceURL)(source.url), - key: source.url, - onClick: () => this.props.selectSource(source.id) - }, _react2.default.createElement(_SourceIcon2.default, { - source: source, - shouldHide: icon => ["file", "javascript"].includes(icon) - }), _react2.default.createElement("div", { - className: "filename" - }, (0, _source.getTruncatedFileName)(source), path && _react2.default.createElement("span", null, `../${path}/..`))), ...breakpoints.map(breakpoint => _react2.default.createElement(_Breakpoint2.default, { - breakpoint: breakpoint, - source: source, - key: (0, _breakpoint.makeLocationId)(breakpoint.location) - }))]; - })]; + breakpoints + }) => [_react2.default.createElement("div", { + className: "breakpoint-heading", + title: (0, _source.getRawSourceURL)(source.url), + key: source.url, + onClick: () => this.props.selectSource(source.id) + }, _react2.default.createElement(_SourceIcon2.default, { + source: source, + shouldHide: icon => ["file", "javascript"].includes(icon) + }), (0, _source.getTruncatedFileName)(source)), ...breakpoints.map(breakpoint => _react2.default.createElement(_Breakpoint2.default, { + breakpoint: breakpoint, + source: source, + key: (0, _breakpoint.makeLocationId)(breakpoint.location) + }))])]; } render() { diff --git a/devtools/client/debugger/new/src/reducers/pending-breakpoints.js b/devtools/client/debugger/new/src/reducers/pending-breakpoints.js index 050dd274f781..bfa0a1680ed4 100644 --- a/devtools/client/debugger/new/src/reducers/pending-breakpoints.js +++ b/devtools/client/debugger/new/src/reducers/pending-breakpoints.js @@ -5,13 +5,24 @@ Object.defineProperty(exports, "__esModule", { }); exports.initialPendingBreakpointsState = initialPendingBreakpointsState; exports.getPendingBreakpoints = getPendingBreakpoints; -exports.getPendingBreakpointList = getPendingBreakpointList; exports.getPendingBreakpointsForSource = getPendingBreakpointsForSource; +var _immutable = require("devtools/client/shared/vendor/immutable"); + +var I = _interopRequireWildcard(_immutable); + +var _makeRecord = require("../utils/makeRecord"); + +var _makeRecord2 = _interopRequireDefault(_makeRecord); + var _breakpoint = require("../utils/breakpoint/index"); var _prefs = require("../utils/prefs"); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + /* 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 . */ @@ -21,13 +32,19 @@ var _prefs = require("../utils/prefs"); * @module reducers/pending-breakpoints */ function initialPendingBreakpointsState() { - return restorePendingBreakpoints(); + return (0, _makeRecord2.default)({ + pendingBreakpoints: restorePendingBreakpoints() + })(); } function update(state = initialPendingBreakpointsState(), action) { switch (action.type) { case "ADD_BREAKPOINT": { + if (action.breakpoint.hidden) { + return state; + } + return addBreakpoint(state, action); } @@ -75,7 +92,7 @@ function update(state = initialPendingBreakpointsState(), action) { } function addBreakpoint(state, action) { - if (action.breakpoint.hidden || action.status !== "done") { + if (action.status !== "done") { return state; } // when the action completes, we can commit the breakpoint @@ -85,9 +102,7 @@ function addBreakpoint(state, action) { } = action.value; const locationId = (0, _breakpoint.makePendingLocationId)(breakpoint.location); const pendingBreakpoint = (0, _breakpoint.createPendingBreakpoint)(breakpoint); - return { ...state, - [locationId]: pendingBreakpoint - }; + return state.setIn(["pendingBreakpoints", locationId], pendingBreakpoint); } function syncBreakpoint(state, action) { @@ -97,8 +112,7 @@ function syncBreakpoint(state, action) { } = action; if (previousLocation) { - const previousLocationId = (0, _breakpoint.makePendingLocationId)(previousLocation); - state = deleteBreakpoint(state, previousLocationId); + state = state.deleteIn(["pendingBreakpoints", (0, _breakpoint.makePendingLocationId)(previousLocation)]); } if (!breakpoint) { @@ -107,9 +121,7 @@ function syncBreakpoint(state, action) { const locationId = (0, _breakpoint.makePendingLocationId)(breakpoint.location); const pendingBreakpoint = (0, _breakpoint.createPendingBreakpoint)(breakpoint); - return { ...state, - [locationId]: pendingBreakpoint - }; + return state.setIn(["pendingBreakpoints", locationId], pendingBreakpoint); } function updateBreakpoint(state, action) { @@ -118,9 +130,7 @@ function updateBreakpoint(state, action) { } = action; const locationId = (0, _breakpoint.makePendingLocationId)(breakpoint.location); const pendingBreakpoint = (0, _breakpoint.createPendingBreakpoint)(breakpoint); - return { ...state, - [locationId]: pendingBreakpoint - }; + return state.setIn(["pendingBreakpoints", locationId], pendingBreakpoint); } function updateAllBreakpoints(state, action) { @@ -129,10 +139,7 @@ function updateAllBreakpoints(state, action) { } = action; breakpoints.forEach(breakpoint => { const locationId = (0, _breakpoint.makePendingLocationId)(breakpoint.location); - const pendingBreakpoint = (0, _breakpoint.createPendingBreakpoint)(breakpoint); - state = { ...state, - [locationId]: pendingBreakpoint - }; + state = state.setIn(["pendingBreakpoints", locationId], breakpoint); }); return state; } @@ -142,39 +149,28 @@ function removeBreakpoint(state, action) { breakpoint } = action; const locationId = (0, _breakpoint.makePendingLocationId)(breakpoint.location); - const pendingBp = state[locationId]; + const pendingBp = state.pendingBreakpoints.get(locationId); if (!pendingBp && action.status == "start") { - return {}; + return state.set("pendingBreakpoints", I.Map()); } - return deleteBreakpoint(state, locationId); -} - -function deleteBreakpoint(state, locationId) { - state = { ...state - }; - delete state[locationId]; - return state; + return state.deleteIn(["pendingBreakpoints", locationId]); } // Selectors // TODO: these functions should be moved out of the reducer function getPendingBreakpoints(state) { - return state.pendingBreakpoints; -} - -function getPendingBreakpointList(state) { - return Object.values(getPendingBreakpoints(state)); + return state.pendingBreakpoints.pendingBreakpoints; } function getPendingBreakpointsForSource(state, sourceUrl) { - return getPendingBreakpointList(state).filter(pendingBreakpoint => pendingBreakpoint.location.sourceUrl === sourceUrl); + const pendingBreakpoints = state.pendingBreakpoints.pendingBreakpoints || I.Map(); + return pendingBreakpoints.filter(pendingBreakpoint => pendingBreakpoint.location.sourceUrl === sourceUrl); } function restorePendingBreakpoints() { - return { ..._prefs.prefs.pendingBreakpoints - }; + return I.Map(_prefs.prefs.pendingBreakpoints); } exports.default = update; \ No newline at end of file diff --git a/devtools/client/debugger/new/src/utils/bootstrap.js b/devtools/client/debugger/new/src/utils/bootstrap.js index ed8e7e162e9b..10edc0b6fe5d 100644 --- a/devtools/client/debugger/new/src/utils/bootstrap.js +++ b/devtools/client/debugger/new/src/utils/bootstrap.js @@ -146,13 +146,10 @@ function bootstrapApp(store) { } } -let currentPendingBreakpoints; - function updatePrefs(state) { - let previousPendingBreakpoints = currentPendingBreakpoints; - currentPendingBreakpoints = selectors.getPendingBreakpoints(state); + const pendingBreakpoints = selectors.getPendingBreakpoints(state); - if (previousPendingBreakpoints && currentPendingBreakpoints !== previousPendingBreakpoints) { - _prefs.prefs.pendingBreakpoints = currentPendingBreakpoints; + if (_prefs.prefs.pendingBreakpoints !== pendingBreakpoints) { + _prefs.prefs.pendingBreakpoints = pendingBreakpoints; } } \ No newline at end of file diff --git a/devtools/client/debugger/new/src/utils/source.js b/devtools/client/debugger/new/src/utils/source.js index 9addfc0f69a0..bc55580f4f1e 100644 --- a/devtools/client/debugger/new/src/utils/source.js +++ b/devtools/client/debugger/new/src/utils/source.js @@ -23,7 +23,6 @@ exports.getRawSourceURL = getRawSourceURL; exports.getFormattedSourceId = getFormattedSourceId; exports.getFilename = getFilename; exports.getTruncatedFileName = getTruncatedFileName; -exports.getDisplayPath = getDisplayPath; exports.getFileURL = getFileURL; exports.getSourcePath = getSourcePath; exports.getSourceLineCount = getSourceLineCount; @@ -185,40 +184,6 @@ function getFilename(source) { function getTruncatedFileName(source, length = 30) { return (0, _text.truncateMiddleText)(getFilename(source), length); } -/* Gets path for files with same filename for editor tabs, breakpoints, etc. - * Pass the source, and list of other sources - * - * @memberof utils/source - * @static - */ - - -function getDisplayPath(mySource, sources) { - const filename = getFilename(mySource); // Find sources that have the same filename, but different paths - // as the original source - - const similarSources = sources.filter(source => mySource.url != source.url && filename == getFilename(source)); - - if (similarSources.length == 0) { - return undefined; - } // get an array of source path directories e.g. ['a/b/c.html'] => [['b', 'a']] - - - const paths = [mySource, ...similarSources].map(source => (0, _sourcesTree.getURL)(source).path.split("/").reverse().slice(1)); // create an array of similar path directories and one dis-similar directory - // for example [`a/b/c.html`, `a1/b/c.html`] => ['b', 'a'] - // where 'b' is the similar directory and 'a' is the dis-similar directory. - - let similar = true; - const displayPath = []; - - for (let i = 0; similar && i < paths[0].length; i++) { - const [dir, ...dirs] = paths.map(path => path[i]); - displayPath.push(dir); - similar = dirs.includes(dir); - } - - return displayPath.reverse().join("/"); -} /** * Gets a readable source URL for display purposes. * If the source does not have a URL, the source ID will be returned instead. diff --git a/devtools/client/debugger/new/test/mochitest/browser.ini b/devtools/client/debugger/new/test/mochitest/browser.ini index a41567721c96..b345638e7768 100644 --- a/devtools/client/debugger/new/test/mochitest/browser.ini +++ b/devtools/client/debugger/new/test/mochitest/browser.ini @@ -10,64 +10,6 @@ support-files = !/devtools/client/shared/test/telemetry-test-helpers.js ## START-SOURCEMAPPED-FIXTURES - Generated by examples/sourcemapped/build.js examples/sourcemapped/polyfill-bundle.js - examples/sourcemapped/output/parcel/babel-bindings-with-flow.js - examples/sourcemapped/output/parcel/babel-bindings-with-flow.map - examples/sourcemapped/output/parcel/babel-flowtype-bindings.js - examples/sourcemapped/output/parcel/babel-flowtype-bindings.map - examples/sourcemapped/output/parcel/classes.js - examples/sourcemapped/output/parcel/classes.map - examples/sourcemapped/output/parcel/esmodules.js - examples/sourcemapped/output/parcel/esmodules.map - examples/sourcemapped/output/parcel/esmodules-cjs.js - examples/sourcemapped/output/parcel/esmodules-cjs.map - examples/sourcemapped/output/parcel/esmodules-es6.js - examples/sourcemapped/output/parcel/esmodules-es6.map - examples/sourcemapped/output/parcel/eval-maps.js - examples/sourcemapped/output/parcel/eval-maps.map - examples/sourcemapped/output/parcel/for-loops.js - examples/sourcemapped/output/parcel/for-loops.map - examples/sourcemapped/output/parcel/for-of.js - examples/sourcemapped/output/parcel/for-of.map - examples/sourcemapped/output/parcel/functions.js - examples/sourcemapped/output/parcel/functions.map - examples/sourcemapped/output/parcel/lex-and-nonlex.js - examples/sourcemapped/output/parcel/lex-and-nonlex.map - examples/sourcemapped/output/parcel/line-start-bindings-es6.js - examples/sourcemapped/output/parcel/line-start-bindings-es6.map - examples/sourcemapped/output/parcel/modules-cjs.js - examples/sourcemapped/output/parcel/modules-cjs.map - examples/sourcemapped/output/parcel/out-of-order-declarations-cjs.js - examples/sourcemapped/output/parcel/out-of-order-declarations-cjs.map - examples/sourcemapped/output/parcel/shadowed-vars.js - examples/sourcemapped/output/parcel/shadowed-vars.map - examples/sourcemapped/output/parcel/step-over-for-of.js - examples/sourcemapped/output/parcel/step-over-for-of.map - examples/sourcemapped/output/parcel/step-over-for-of-array.js - examples/sourcemapped/output/parcel/step-over-for-of-array.map - examples/sourcemapped/output/parcel/step-over-for-of-array-closure.js - examples/sourcemapped/output/parcel/step-over-for-of-array-closure.map - examples/sourcemapped/output/parcel/step-over-for-of-closure.js - examples/sourcemapped/output/parcel/step-over-for-of-closure.map - examples/sourcemapped/output/parcel/step-over-function-params.js - examples/sourcemapped/output/parcel/step-over-function-params.map - examples/sourcemapped/output/parcel/step-over-regenerator-await.js - examples/sourcemapped/output/parcel/step-over-regenerator-await.map - examples/sourcemapped/output/parcel/switches.js - examples/sourcemapped/output/parcel/switches.map - examples/sourcemapped/output/parcel/this-arguments-bindings.js - examples/sourcemapped/output/parcel/this-arguments-bindings.map - examples/sourcemapped/output/parcel/try-catches.js - examples/sourcemapped/output/parcel/try-catches.map - examples/sourcemapped/output/parcel/type-module.js - examples/sourcemapped/output/parcel/type-module.map - examples/sourcemapped/output/parcel/type-script-cjs.js - examples/sourcemapped/output/parcel/type-script-cjs.map - examples/sourcemapped/output/parcel/typescript-classes.js - examples/sourcemapped/output/parcel/typescript-classes.map - examples/sourcemapped/output/parcel/webpack-functions.js - examples/sourcemapped/output/parcel/webpack-functions.map - examples/sourcemapped/output/parcel/webpack-line-mappings.js - examples/sourcemapped/output/parcel/webpack-line-mappings.map examples/sourcemapped/output/webpack3/classes.js examples/sourcemapped/output/webpack3/classes.js.map examples/sourcemapped/output/webpack3/esmodules.js @@ -178,228 +120,6 @@ support-files = examples/sourcemapped/output/webpack3-babel6/webpack-functions.js.map examples/sourcemapped/output/webpack3-babel6/webpack-line-mappings.js examples/sourcemapped/output/webpack3-babel6/webpack-line-mappings.js.map - examples/sourcemapped/output/webpack3-babel7/babel-bindings-with-flow.js - examples/sourcemapped/output/webpack3-babel7/babel-bindings-with-flow.js.map - examples/sourcemapped/output/webpack3-babel7/babel-flowtype-bindings.js - examples/sourcemapped/output/webpack3-babel7/babel-flowtype-bindings.js.map - examples/sourcemapped/output/webpack3-babel7/classes.js - examples/sourcemapped/output/webpack3-babel7/classes.js.map - examples/sourcemapped/output/webpack3-babel7/esmodules.js - examples/sourcemapped/output/webpack3-babel7/esmodules.js.map - examples/sourcemapped/output/webpack3-babel7/esmodules-cjs.js - examples/sourcemapped/output/webpack3-babel7/esmodules-cjs.js.map - examples/sourcemapped/output/webpack3-babel7/esmodules-es6.js - examples/sourcemapped/output/webpack3-babel7/esmodules-es6.js.map - examples/sourcemapped/output/webpack3-babel7/eval-maps.js - examples/sourcemapped/output/webpack3-babel7/eval-maps.js.map - examples/sourcemapped/output/webpack3-babel7/for-loops.js - examples/sourcemapped/output/webpack3-babel7/for-loops.js.map - examples/sourcemapped/output/webpack3-babel7/for-of.js - examples/sourcemapped/output/webpack3-babel7/for-of.js.map - examples/sourcemapped/output/webpack3-babel7/functions.js - examples/sourcemapped/output/webpack3-babel7/functions.js.map - examples/sourcemapped/output/webpack3-babel7/lex-and-nonlex.js - examples/sourcemapped/output/webpack3-babel7/lex-and-nonlex.js.map - examples/sourcemapped/output/webpack3-babel7/line-start-bindings-es6.js - examples/sourcemapped/output/webpack3-babel7/line-start-bindings-es6.js.map - examples/sourcemapped/output/webpack3-babel7/modules-cjs.js - examples/sourcemapped/output/webpack3-babel7/modules-cjs.js.map - examples/sourcemapped/output/webpack3-babel7/out-of-order-declarations-cjs.js - examples/sourcemapped/output/webpack3-babel7/out-of-order-declarations-cjs.js.map - examples/sourcemapped/output/webpack3-babel7/shadowed-vars.js - examples/sourcemapped/output/webpack3-babel7/shadowed-vars.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-for-of.js - examples/sourcemapped/output/webpack3-babel7/step-over-for-of.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-array.js - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-array.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-array-closure.js - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-array-closure.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-closure.js - examples/sourcemapped/output/webpack3-babel7/step-over-for-of-closure.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-function-params.js - examples/sourcemapped/output/webpack3-babel7/step-over-function-params.js.map - examples/sourcemapped/output/webpack3-babel7/step-over-regenerator-await.js - examples/sourcemapped/output/webpack3-babel7/step-over-regenerator-await.js.map - examples/sourcemapped/output/webpack3-babel7/switches.js - examples/sourcemapped/output/webpack3-babel7/switches.js.map - examples/sourcemapped/output/webpack3-babel7/this-arguments-bindings.js - examples/sourcemapped/output/webpack3-babel7/this-arguments-bindings.js.map - examples/sourcemapped/output/webpack3-babel7/try-catches.js - examples/sourcemapped/output/webpack3-babel7/try-catches.js.map - examples/sourcemapped/output/webpack3-babel7/type-module.js - examples/sourcemapped/output/webpack3-babel7/type-module.js.map - examples/sourcemapped/output/webpack3-babel7/type-script-cjs.js - examples/sourcemapped/output/webpack3-babel7/type-script-cjs.js.map - examples/sourcemapped/output/webpack3-babel7/webpack-functions.js - examples/sourcemapped/output/webpack3-babel7/webpack-functions.js.map - examples/sourcemapped/output/webpack3-babel7/webpack-line-mappings.js - examples/sourcemapped/output/webpack3-babel7/webpack-line-mappings.js.map - examples/sourcemapped/output/webpack4/classes.js - examples/sourcemapped/output/webpack4/classes.js.map - examples/sourcemapped/output/webpack4/esmodules.js - examples/sourcemapped/output/webpack4/esmodules.js.map - examples/sourcemapped/output/webpack4/esmodules-cjs.js - examples/sourcemapped/output/webpack4/esmodules-cjs.js.map - examples/sourcemapped/output/webpack4/esmodules-es6.js - examples/sourcemapped/output/webpack4/esmodules-es6.js.map - examples/sourcemapped/output/webpack4/eval-maps.js - examples/sourcemapped/output/webpack4/eval-maps.js.map - examples/sourcemapped/output/webpack4/for-loops.js - examples/sourcemapped/output/webpack4/for-loops.js.map - examples/sourcemapped/output/webpack4/for-of.js - examples/sourcemapped/output/webpack4/for-of.js.map - examples/sourcemapped/output/webpack4/functions.js - examples/sourcemapped/output/webpack4/functions.js.map - examples/sourcemapped/output/webpack4/lex-and-nonlex.js - examples/sourcemapped/output/webpack4/lex-and-nonlex.js.map - examples/sourcemapped/output/webpack4/line-start-bindings-es6.js - examples/sourcemapped/output/webpack4/line-start-bindings-es6.js.map - examples/sourcemapped/output/webpack4/modules-cjs.js - examples/sourcemapped/output/webpack4/modules-cjs.js.map - examples/sourcemapped/output/webpack4/out-of-order-declarations-cjs.js - examples/sourcemapped/output/webpack4/out-of-order-declarations-cjs.js.map - examples/sourcemapped/output/webpack4/shadowed-vars.js - examples/sourcemapped/output/webpack4/shadowed-vars.js.map - examples/sourcemapped/output/webpack4/step-over-for-of.js - examples/sourcemapped/output/webpack4/step-over-for-of.js.map - examples/sourcemapped/output/webpack4/step-over-for-of-array.js - examples/sourcemapped/output/webpack4/step-over-for-of-array.js.map - examples/sourcemapped/output/webpack4/step-over-for-of-array-closure.js - examples/sourcemapped/output/webpack4/step-over-for-of-array-closure.js.map - examples/sourcemapped/output/webpack4/step-over-for-of-closure.js - examples/sourcemapped/output/webpack4/step-over-for-of-closure.js.map - examples/sourcemapped/output/webpack4/step-over-function-params.js - examples/sourcemapped/output/webpack4/step-over-function-params.js.map - examples/sourcemapped/output/webpack4/step-over-regenerator-await.js - examples/sourcemapped/output/webpack4/step-over-regenerator-await.js.map - examples/sourcemapped/output/webpack4/switches.js - examples/sourcemapped/output/webpack4/switches.js.map - examples/sourcemapped/output/webpack4/this-arguments-bindings.js - examples/sourcemapped/output/webpack4/this-arguments-bindings.js.map - examples/sourcemapped/output/webpack4/try-catches.js - examples/sourcemapped/output/webpack4/try-catches.js.map - examples/sourcemapped/output/webpack4/type-module.js - examples/sourcemapped/output/webpack4/type-module.js.map - examples/sourcemapped/output/webpack4/type-script-cjs.js - examples/sourcemapped/output/webpack4/type-script-cjs.js.map - examples/sourcemapped/output/webpack4/typescript-classes.js - examples/sourcemapped/output/webpack4/typescript-classes.js.map - examples/sourcemapped/output/webpack4/webpack-functions.js - examples/sourcemapped/output/webpack4/webpack-functions.js.map - examples/sourcemapped/output/webpack4/webpack-line-mappings.js - examples/sourcemapped/output/webpack4/webpack-line-mappings.js.map - examples/sourcemapped/output/webpack4-babel6/babel-bindings-with-flow.js - examples/sourcemapped/output/webpack4-babel6/babel-bindings-with-flow.js.map - examples/sourcemapped/output/webpack4-babel6/babel-flowtype-bindings.js - examples/sourcemapped/output/webpack4-babel6/babel-flowtype-bindings.js.map - examples/sourcemapped/output/webpack4-babel6/classes.js - examples/sourcemapped/output/webpack4-babel6/classes.js.map - examples/sourcemapped/output/webpack4-babel6/esmodules.js - examples/sourcemapped/output/webpack4-babel6/esmodules.js.map - examples/sourcemapped/output/webpack4-babel6/esmodules-cjs.js - examples/sourcemapped/output/webpack4-babel6/esmodules-cjs.js.map - examples/sourcemapped/output/webpack4-babel6/esmodules-es6.js - examples/sourcemapped/output/webpack4-babel6/esmodules-es6.js.map - examples/sourcemapped/output/webpack4-babel6/eval-maps.js - examples/sourcemapped/output/webpack4-babel6/eval-maps.js.map - examples/sourcemapped/output/webpack4-babel6/for-loops.js - examples/sourcemapped/output/webpack4-babel6/for-loops.js.map - examples/sourcemapped/output/webpack4-babel6/for-of.js - examples/sourcemapped/output/webpack4-babel6/for-of.js.map - examples/sourcemapped/output/webpack4-babel6/functions.js - examples/sourcemapped/output/webpack4-babel6/functions.js.map - examples/sourcemapped/output/webpack4-babel6/lex-and-nonlex.js - examples/sourcemapped/output/webpack4-babel6/lex-and-nonlex.js.map - examples/sourcemapped/output/webpack4-babel6/line-start-bindings-es6.js - examples/sourcemapped/output/webpack4-babel6/line-start-bindings-es6.js.map - examples/sourcemapped/output/webpack4-babel6/modules-cjs.js - examples/sourcemapped/output/webpack4-babel6/modules-cjs.js.map - examples/sourcemapped/output/webpack4-babel6/out-of-order-declarations-cjs.js - examples/sourcemapped/output/webpack4-babel6/out-of-order-declarations-cjs.js.map - examples/sourcemapped/output/webpack4-babel6/shadowed-vars.js - examples/sourcemapped/output/webpack4-babel6/shadowed-vars.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-for-of.js - examples/sourcemapped/output/webpack4-babel6/step-over-for-of.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-array.js - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-array.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-array-closure.js - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-array-closure.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-closure.js - examples/sourcemapped/output/webpack4-babel6/step-over-for-of-closure.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-function-params.js - examples/sourcemapped/output/webpack4-babel6/step-over-function-params.js.map - examples/sourcemapped/output/webpack4-babel6/step-over-regenerator-await.js - examples/sourcemapped/output/webpack4-babel6/step-over-regenerator-await.js.map - examples/sourcemapped/output/webpack4-babel6/switches.js - examples/sourcemapped/output/webpack4-babel6/switches.js.map - examples/sourcemapped/output/webpack4-babel6/this-arguments-bindings.js - examples/sourcemapped/output/webpack4-babel6/this-arguments-bindings.js.map - examples/sourcemapped/output/webpack4-babel6/try-catches.js - examples/sourcemapped/output/webpack4-babel6/try-catches.js.map - examples/sourcemapped/output/webpack4-babel6/type-module.js - examples/sourcemapped/output/webpack4-babel6/type-module.js.map - examples/sourcemapped/output/webpack4-babel6/type-script-cjs.js - examples/sourcemapped/output/webpack4-babel6/type-script-cjs.js.map - examples/sourcemapped/output/webpack4-babel6/webpack-functions.js - examples/sourcemapped/output/webpack4-babel6/webpack-functions.js.map - examples/sourcemapped/output/webpack4-babel6/webpack-line-mappings.js - examples/sourcemapped/output/webpack4-babel6/webpack-line-mappings.js.map - examples/sourcemapped/output/webpack4-babel7/babel-bindings-with-flow.js - examples/sourcemapped/output/webpack4-babel7/babel-bindings-with-flow.js.map - examples/sourcemapped/output/webpack4-babel7/babel-flowtype-bindings.js - examples/sourcemapped/output/webpack4-babel7/babel-flowtype-bindings.js.map - examples/sourcemapped/output/webpack4-babel7/classes.js - examples/sourcemapped/output/webpack4-babel7/classes.js.map - examples/sourcemapped/output/webpack4-babel7/esmodules.js - examples/sourcemapped/output/webpack4-babel7/esmodules.js.map - examples/sourcemapped/output/webpack4-babel7/esmodules-cjs.js - examples/sourcemapped/output/webpack4-babel7/esmodules-cjs.js.map - examples/sourcemapped/output/webpack4-babel7/esmodules-es6.js - examples/sourcemapped/output/webpack4-babel7/esmodules-es6.js.map - examples/sourcemapped/output/webpack4-babel7/eval-maps.js - examples/sourcemapped/output/webpack4-babel7/eval-maps.js.map - examples/sourcemapped/output/webpack4-babel7/for-loops.js - examples/sourcemapped/output/webpack4-babel7/for-loops.js.map - examples/sourcemapped/output/webpack4-babel7/for-of.js - examples/sourcemapped/output/webpack4-babel7/for-of.js.map - examples/sourcemapped/output/webpack4-babel7/functions.js - examples/sourcemapped/output/webpack4-babel7/functions.js.map - examples/sourcemapped/output/webpack4-babel7/lex-and-nonlex.js - examples/sourcemapped/output/webpack4-babel7/lex-and-nonlex.js.map - examples/sourcemapped/output/webpack4-babel7/line-start-bindings-es6.js - examples/sourcemapped/output/webpack4-babel7/line-start-bindings-es6.js.map - examples/sourcemapped/output/webpack4-babel7/modules-cjs.js - examples/sourcemapped/output/webpack4-babel7/modules-cjs.js.map - examples/sourcemapped/output/webpack4-babel7/out-of-order-declarations-cjs.js - examples/sourcemapped/output/webpack4-babel7/out-of-order-declarations-cjs.js.map - examples/sourcemapped/output/webpack4-babel7/shadowed-vars.js - examples/sourcemapped/output/webpack4-babel7/shadowed-vars.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-for-of.js - examples/sourcemapped/output/webpack4-babel7/step-over-for-of.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-array.js - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-array.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-array-closure.js - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-array-closure.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-closure.js - examples/sourcemapped/output/webpack4-babel7/step-over-for-of-closure.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-function-params.js - examples/sourcemapped/output/webpack4-babel7/step-over-function-params.js.map - examples/sourcemapped/output/webpack4-babel7/step-over-regenerator-await.js - examples/sourcemapped/output/webpack4-babel7/step-over-regenerator-await.js.map - examples/sourcemapped/output/webpack4-babel7/switches.js - examples/sourcemapped/output/webpack4-babel7/switches.js.map - examples/sourcemapped/output/webpack4-babel7/this-arguments-bindings.js - examples/sourcemapped/output/webpack4-babel7/this-arguments-bindings.js.map - examples/sourcemapped/output/webpack4-babel7/try-catches.js - examples/sourcemapped/output/webpack4-babel7/try-catches.js.map - examples/sourcemapped/output/webpack4-babel7/type-module.js - examples/sourcemapped/output/webpack4-babel7/type-module.js.map - examples/sourcemapped/output/webpack4-babel7/type-script-cjs.js - examples/sourcemapped/output/webpack4-babel7/type-script-cjs.js.map - examples/sourcemapped/output/webpack4-babel7/webpack-functions.js - examples/sourcemapped/output/webpack4-babel7/webpack-functions.js.map - examples/sourcemapped/output/webpack4-babel7/webpack-line-mappings.js - examples/sourcemapped/output/webpack4-babel7/webpack-line-mappings.js.map examples/sourcemapped/output/rollup/classes.js examples/sourcemapped/output/rollup/classes.js.map examples/sourcemapped/output/rollup/esmodules.js @@ -494,54 +214,6 @@ support-files = examples/sourcemapped/output/rollup-babel6/webpack-functions.js.map examples/sourcemapped/output/rollup-babel6/webpack-line-mappings.js examples/sourcemapped/output/rollup-babel6/webpack-line-mappings.js.map - examples/sourcemapped/output/rollup-babel7/babel-bindings-with-flow.js - examples/sourcemapped/output/rollup-babel7/babel-bindings-with-flow.js.map - examples/sourcemapped/output/rollup-babel7/babel-flowtype-bindings.js - examples/sourcemapped/output/rollup-babel7/babel-flowtype-bindings.js.map - examples/sourcemapped/output/rollup-babel7/classes.js - examples/sourcemapped/output/rollup-babel7/classes.js.map - examples/sourcemapped/output/rollup-babel7/esmodules.js - examples/sourcemapped/output/rollup-babel7/esmodules.js.map - examples/sourcemapped/output/rollup-babel7/esmodules-es6.js - examples/sourcemapped/output/rollup-babel7/esmodules-es6.js.map - examples/sourcemapped/output/rollup-babel7/eval-maps.js - examples/sourcemapped/output/rollup-babel7/eval-maps.js.map - examples/sourcemapped/output/rollup-babel7/for-loops.js - examples/sourcemapped/output/rollup-babel7/for-loops.js.map - examples/sourcemapped/output/rollup-babel7/for-of.js - examples/sourcemapped/output/rollup-babel7/for-of.js.map - examples/sourcemapped/output/rollup-babel7/functions.js - examples/sourcemapped/output/rollup-babel7/functions.js.map - examples/sourcemapped/output/rollup-babel7/lex-and-nonlex.js - examples/sourcemapped/output/rollup-babel7/lex-and-nonlex.js.map - examples/sourcemapped/output/rollup-babel7/line-start-bindings-es6.js - examples/sourcemapped/output/rollup-babel7/line-start-bindings-es6.js.map - examples/sourcemapped/output/rollup-babel7/shadowed-vars.js - examples/sourcemapped/output/rollup-babel7/shadowed-vars.js.map - examples/sourcemapped/output/rollup-babel7/step-over-for-of.js - examples/sourcemapped/output/rollup-babel7/step-over-for-of.js.map - examples/sourcemapped/output/rollup-babel7/step-over-for-of-array.js - examples/sourcemapped/output/rollup-babel7/step-over-for-of-array.js.map - examples/sourcemapped/output/rollup-babel7/step-over-for-of-array-closure.js - examples/sourcemapped/output/rollup-babel7/step-over-for-of-array-closure.js.map - examples/sourcemapped/output/rollup-babel7/step-over-for-of-closure.js - examples/sourcemapped/output/rollup-babel7/step-over-for-of-closure.js.map - examples/sourcemapped/output/rollup-babel7/step-over-function-params.js - examples/sourcemapped/output/rollup-babel7/step-over-function-params.js.map - examples/sourcemapped/output/rollup-babel7/step-over-regenerator-await.js - examples/sourcemapped/output/rollup-babel7/step-over-regenerator-await.js.map - examples/sourcemapped/output/rollup-babel7/switches.js - examples/sourcemapped/output/rollup-babel7/switches.js.map - examples/sourcemapped/output/rollup-babel7/this-arguments-bindings.js - examples/sourcemapped/output/rollup-babel7/this-arguments-bindings.js.map - examples/sourcemapped/output/rollup-babel7/try-catches.js - examples/sourcemapped/output/rollup-babel7/try-catches.js.map - examples/sourcemapped/output/rollup-babel7/type-module.js - examples/sourcemapped/output/rollup-babel7/type-module.js.map - examples/sourcemapped/output/rollup-babel7/webpack-functions.js - examples/sourcemapped/output/rollup-babel7/webpack-functions.js.map - examples/sourcemapped/output/rollup-babel7/webpack-line-mappings.js - examples/sourcemapped/output/rollup-babel7/webpack-line-mappings.js.map ## END-SOURCEMAPPED-FIXTURES examples/ember/quickstart/dist/index.html examples/ember/quickstart/dist/assets/quickstart.css diff --git a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-breakpoint-console.js b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-breakpoint-console.js index a3dd57455ee3..16d3bf793a84 100644 --- a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-breakpoint-console.js +++ b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-breakpoint-console.js @@ -1,10 +1,3 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -// This test can be really slow on debug platforms and should be split. -requestLongerTimeout(3); - - async function evalInConsol async function evalInConsoleAtPoint( dbg, target, diff --git a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-scopes.js b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-scopes.js index 08471a2dd22b..7d776a4e1fc5 100644 --- a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-scopes.js +++ b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemapped-scopes.js @@ -6,48 +6,7 @@ requestLongerTimeout(20); // Tests loading sourcemapped sources for Babel's compile output. -const ACTIVE_TARGETS = new Set([ - // "webpack3", - "webpack3-babel6", - // "webpack3-babel7", - // "webpack4", - // "webpack4-babel6", - // "webpack4-babel7", - "rollup", - // "rollup-babel6", - // "rollup-babel7", - "parcel", -]); - -const ACTIVE_FIXTURES = [ - testBabelBindingsWithFlow, - testBabelFlowtypeBindings, - testEvalMaps, - testForOf, - testShadowedVars, - testLineStartBindingsES6, - testThisArgumentsBindings, - testClasses, - testForLoops, - testFunctions, - testSwitches, - testTryCatches, - testLexAndNonlex, - testTypescriptClasses, - testTypeModule, - testTypeScriptCJS, - testOutOfOrderDeclarationsCJS, - testModulesCJS, - testWebpackLineMappings, - testWebpackFunctions, - testESModules, - testESModulesCJS, - testESModulesES6, -]; - async function breakpointScopes(dbg, target, fixture, { line, column }, scopes) { - if (!ACTIVE_TARGETS.has(target)) return; - const filename = `${target}://./${fixture}/input.`; const fnName = pairToFnName(target, fixture); @@ -69,52 +28,50 @@ add_task(async function() { const dbg = await initDebugger("doc-sourcemapped.html"); - for (const fixture of ACTIVE_FIXTURES) { - await fixture(dbg); - } + await testBabelBindingsWithFlow(dbg); + await testBabelFlowtypeBindings(dbg); + await testEvalMaps(dbg); + await testForOf(dbg); + await testShadowedVars(dbg); + await testLineStartBindingsES6(dbg); + await testThisArgumentsBindings(dbg); + await testClasses(dbg); + await testForLoops(dbg); + await testFunctions(dbg); + await testSwitches(dbg); + await testTryCatches(dbg); + await testLexAndNonlex(dbg); + await testTypescriptClasses(dbg); + await testTypeModule(dbg); + await testTypeScriptCJS(dbg); + await testOutOfOrderDeclarationsCJS(dbg); + await testCommonJS(dbg); + await testWebpackLineMappings(dbg); + await testWebpackFunctions(dbg); + await testESModules(dbg); + await testESModulesCJS(dbg); + await testESModulesES6(dbg); }); function targetToFlags(target) { const isRollup = target.startsWith("rollup"); const isWebpack = target.startsWith("webpack"); - const isParcel = target.startsWith("parcel"); - const hasBabel = target.includes("-babel") || isParcel; - const isWebpack4 = target.startsWith("webpack4"); + const hasBabel = target.includes("-babel"); // Rollup removes lots of things as dead code, so they are marked as optimized out. const rollupOptimized = isRollup ? "(optimized away)" : null; const webpackImportGetter = isWebpack ? "Getter" : null; - const webpack4ImportGetter = isWebpack4 ? "Getter" : null; const maybeLineStart = hasBabel ? col => col : col => 0; - const defaultExport = isWebpack4 - ? name => `${name}()` - : name => [name, "(optimized away)"]; - return { - isRollup, - isWebpack, - isParcel, - rollupOptimized, - webpackImportGetter, - webpack4ImportGetter, - maybeLineStart, - defaultExport, - }; + return { isRollup, isWebpack, rollupOptimized, webpackImportGetter, maybeLineStart }; } function pairToFnName(target, fixture) { return (target + "-" + fixture).replace(/-([a-z])/g, (s, c) => c.toUpperCase()); } -function runtimeFunctionName(target, fixture) { - // Webpack 4 appears to output it's bundles in such a way that Spidermonkey - if (target === "webpack4") return "js"; - - return pairToFnName(target, fixture); -} - function webpackModule(target, fixture, optimizedOut) { return [ - runtimeFunctionName(target, fixture), + pairToFnName(target, fixture), ["__webpack_exports__", optimizedOut ? "(optimized away)" : "{\u2026}"], optimizedOut ? ["__webpack_require__", "(optimized away)"] : "__webpack_require__()", ["arguments", optimizedOut ? "(unavailable)" : "Arguments"], @@ -124,13 +81,8 @@ function webpackModule(target, fixture, optimizedOut) { async function testBabelBindingsWithFlow(dbg) { // Flow is not available on the non-babel builds. for (const target of [ - "parcel", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { webpackImportGetter } = targetToFlags(target); @@ -147,13 +99,8 @@ async function testBabelBindingsWithFlow(dbg) { async function testBabelFlowtypeBindings(dbg) { // Flow is not available on the non-babel builds. for (const target of [ - "parcel", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { webpackImportGetter } = targetToFlags(target); @@ -177,40 +124,28 @@ async function testEvalMaps(dbg) { // never loading. I'm not sure what causes that. If we observe flakiness in CI, // we should consider disabling this test for now. - for (const target of [ - "webpack3", - "webpack4", - ]) { - const { defaultExport } = targetToFlags(target); - - await breakpointScopes(dbg, target, "eval-maps", { line: 14, column: 0 }, [ - "Block", - ["", "Window"], - ["three", "5"], - ["two", "4"], - "Block", - ["three", "3"], - ["two", "2"], - "Block", - ["arguments", "Arguments"], - ["one", "1"], - ...webpackModule(target, "eval-maps", true /* optimized out */), - ["module", "(optimized away)"], - defaultExport("root"), - ]); - } + await breakpointScopes(dbg, "webpack3", "eval-maps", { line: 14, column: 0 }, [ + "Block", + ["", "Window"], + ["three", "5"], + ["two", "4"], + "Block", + ["three", "3"], + ["two", "2"], + "Block", + ["arguments", "Arguments"], + ["one", "1"], + ...webpackModule("webpack3", "eval-maps", true /* optimized out */), + ["module", "(optimized away)"], + "root", + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { defaultExport, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "eval-maps", { line: 14, column: maybeLineStart(4) }, [ "Block", @@ -222,44 +157,32 @@ async function testEvalMaps(dbg) { "root", ["one", "1"], "Module", - defaultExport("root"), + "root", ]); } } async function testForOf(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - const { defaultExport } = targetToFlags(target); - - await breakpointScopes(dbg, target, "for-of", { line: 5, column: 0 }, [ - "Block", - ["", "Window"], - ["x", "1"], - "Block", - ["arguments", "Arguments"], - "doThing()", - "Block", - "mod", - ...webpackModule(target, "for-of", true /* optimizedOut */), - defaultExport("forOf"), - "module" - ]); - } + await breakpointScopes(dbg, "webpack3", "for-of", { line: 5, column: 0 }, [ + "Block", + ["", "Window"], + ["x", "1"], + "Block", + ["arguments", "Arguments"], + "doThing()", + "Block", + "mod", + ...webpackModule("webpack3", "for-of", true /* optimizedOut */), + "forOf", + "module" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { defaultExport, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "for-of", { line: 5, column: maybeLineStart(4) }, [ "For", @@ -267,53 +190,43 @@ async function testForOf(dbg) { "forOf", "doThing()", "Module", - defaultExport("forOf"), + "forOf", "mod" ]); } } async function testShadowedVars(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "shadowed-vars", { line: 18, column: 0 }, [ - "Block", - ["", "Window"], - ["aConst", '"const3"'], - ["aLet", '"let3"'], + await breakpointScopes(dbg, "webpack3", "shadowed-vars", { line: 18, column: 0 }, [ + "Block", + ["", "Window"], + ["aConst", '"const3"'], + ["aLet", '"let3"'], - "Block", - ["aConst", '"const2"'], - ["aLet", '"let2"'], - "Outer()", + "Block", + ["aConst", '"const2"'], + ["aLet", '"let2"'], + "Outer()", - "Block", - ["aConst", '"const1"'], - ["aLet", '"let1"'], - "Outer()", + "Block", + ["aConst", '"const1"'], + ["aLet", '"let1"'], + "Outer()", - "Block", - ["arguments", "Arguments"], - ["aVar", '"var3"'], + "Block", + ["arguments", "Arguments"], + ["aVar", '"var3"'], - ...webpackModule(target, "shadowed-vars", true /* optimizedOut */), - ["module", "(optimized away)"], - ]); - } + ...webpackModule("webpack3", "shadowed-vars", true /* optimizedOut */), + ["module", "(optimized away)"], + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { isParcel, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "shadowed-vars", { line: 18, column: maybeLineStart(6) }, [ "Block", @@ -322,9 +235,7 @@ async function testShadowedVars(dbg) { "Block", ["aConst", rollupOptimized || '"const2"'], ["aLet", rollupOptimized || '"let2"'], - isParcel ? - "Outer()" : - rollupOptimized ? ["Outer", rollupOptimized ] : "Outer:_Outer()", + rollupOptimized ? ["Outer", rollupOptimized ] : "Outer:_Outer()", "Function Body", ["aConst", rollupOptimized || '"const1"'], ["aLet", rollupOptimized || '"let1"'], @@ -336,43 +247,33 @@ async function testShadowedVars(dbg) { } async function testLineStartBindingsES6(dbg) { - for (const target of [ + await breakpointScopes( + dbg, "webpack3", - "webpack4", - ]) { - await breakpointScopes( - dbg, - target, - "line-start-bindings-es6", - { line: 19, column: 0 }, - [ - "Block", - ["", "{\u2026}"], - ["one", "1"], - ["two", "2"], - "Block", - ["arguments", "Arguments"], + "line-start-bindings-es6", + { line: 19, column: 0 }, + [ + "Block", + ["", "{\u2026}"], + ["one", "1"], + ["two", "2"], + "Block", + ["arguments", "Arguments"], - "Block", - ["aFunc", "(optimized away)"], - ["arguments", "(unavailable)"], + "Block", + ["aFunc", "(optimized away)"], + ["arguments", "(unavailable)"], - ...webpackModule(target, "line-start-bindings-es6", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ] - ); - } + ...webpackModule("webpack3", "line-start-bindings-es6", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ] + ); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); @@ -396,67 +297,57 @@ async function testLineStartBindingsES6(dbg) { } async function testThisArgumentsBindings(dbg) { - for (const target of [ + await breakpointScopes( + dbg, "webpack3", - "webpack4", - ]) { - await breakpointScopes( - dbg, - target, - "this-arguments-bindings", - { line: 4, column: 0 }, - [ - "Block", - ["", '"this-value"'], - ["arrow", "(uninitialized)"], - "fn", - ["arg", '"arg-value"'], - ["arguments", "Arguments"], - "root", - ["arguments", "Arguments"], - "fn()", - ...webpackModule(target, "this-arguments-bindings", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ] - ); + "this-arguments-bindings", + { line: 4, column: 0 }, + [ + "Block", + ["", '"this-value"'], + ["arrow", "(uninitialized)"], + "fn", + ["arg", '"arg-value"'], + ["arguments", "Arguments"], + "root", + ["arguments", "Arguments"], + "fn()", + ...webpackModule("webpack3", "this-arguments-bindings", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ] + ); - await breakpointScopes( - dbg, - target, - "this-arguments-bindings", - { line: 8, column: 0 }, - [ - "Block", - ["", '"this-value"'], - ["argArrow", '"arrow-arg"'], - ["arguments", "Arguments"], - "Block", - ["arrow", "(optimized away)"], - "fn", - ["arg", '"arg-value"'], - ["arguments", "Arguments"], - "root", - ["arguments", "Arguments"], - "fn()", - ...webpackModule(target, "this-arguments-bindings", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ] - ); - } + await breakpointScopes( + dbg, + "webpack3", + "this-arguments-bindings", + { line: 8, column: 0 }, + [ + "Block", + ["", '"this-value"'], + ["argArrow", '"arrow-arg"'], + ["arguments", "Arguments"], + "Block", + ["arrow", "(optimized away)"], + "fn", + ["arg", '"arg-value"'], + ["arguments", "Arguments"], + "root", + ["arguments", "Arguments"], + "fn()", + ...webpackModule("webpack3", "this-arguments-bindings", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ] + ); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { isParcel, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes( dbg, @@ -466,7 +357,7 @@ async function testThisArgumentsBindings(dbg) { [ "Function Body", ["", '"this-value"'], - ["arrow", (target === "rollup" || isParcel) ? "(uninitialized)" : "undefined"], + ["arrow", target === "rollup" ? "(uninitialized)" : "undefined"], "fn", ["arg", '"arg-value"'], ["arguments", "Arguments"], @@ -487,7 +378,7 @@ async function testThisArgumentsBindings(dbg) { ["", '"this-value"'], ["argArrow", '"arrow-arg"'], "Function Body", - (target === "rollup" || isParcel) ? ["arrow", "(optimized away)"] : "arrow()", + target === "rollup" ? ["arrow", "(optimized away)"] : "arrow()", "fn", ["arg", '"arg-value"'], ["arguments", "Arguments"], @@ -501,67 +392,57 @@ async function testThisArgumentsBindings(dbg) { } async function testClasses(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "classes", { line: 6, column: 0 }, [ - "Block", - ["", "{}"], - ["arguments", "Arguments"], - "Block", - ["Thing", "(optimized away)"], - "Block", - "Another()", - ["one", "1"], - "Thing()", - "Block", - ["arguments", "(unavailable)"], - ...webpackModule(target, "classes", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); + await breakpointScopes(dbg, "webpack3", "classes", { line: 6, column: 0 }, [ + "Block", + ["", "{}"], + ["arguments", "Arguments"], + "Block", + ["Thing", "(optimized away)"], + "Block", + "Another()", + ["one", "1"], + "Thing()", + "Block", + ["arguments", "(unavailable)"], + ...webpackModule("webpack3", "classes", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); - await breakpointScopes(dbg, target, "classes", { line: 16, column: 0 }, [ - "Block", - ["", "{}"], - ["three", "3"], - ["two", "2"], - "Block", - ["arguments", "Arguments"], - "Block", - "Another()", - "Block", - "Another()", - ["one", "1"], - "Thing()", - "Block", - ["arguments", "(unavailable)"], - ...webpackModule(target, "classes", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "classes", { line: 16, column: 0 }, [ + "Block", + ["", "{}"], + ["three", "3"], + ["two", "2"], + "Block", + ["arguments", "Arguments"], + "Block", + "Another()", + "Block", + "Another()", + ["one", "1"], + "Thing()", + "Block", + ["arguments", "(unavailable)"], + ...webpackModule("webpack3", "classes", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { isParcel, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "classes", { line: 6, column: maybeLineStart(6) }, [ "Class", - (target === "rollup" || isParcel) ? ["Thing", "(optimized away)"] : "Thing()", + target === "rollup" ? ["Thing", "(optimized away)"] : "Thing()", "Function Body", "Another()", "one", - (target === "rollup" || isParcel) ? ["Thing", "(optimized away)"] : "Thing()", + target === "rollup" ? ["Thing", "(optimized away)"] : "Thing()", "Module", "root()" ]); @@ -583,57 +464,47 @@ async function testClasses(dbg) { } async function testForLoops(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "for-loops", { line: 5, column: 0 }, [ - "Block", - ["", "Window"], - ["i", "1"], - "Block", - ["i", "0"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "for-loops", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - await breakpointScopes(dbg, target, "for-loops", { line: 9, column: 0 }, [ - "Block", - ["", "Window"], - ["i", '"2"'], - "Block", - ["i", "0"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "for-loops", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - await breakpointScopes(dbg, target, "for-loops", { line: 13, column: 0 }, [ - "Block", - ["", "Window"], - ["i", "3"], - "Block", - ["i", "0"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "for-loops", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "for-loops", { line: 5, column: 0 }, [ + "Block", + ["", "Window"], + ["i", "1"], + "Block", + ["i", "0"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "for-loops", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); + await breakpointScopes(dbg, "webpack3", "for-loops", { line: 9, column: 0 }, [ + "Block", + ["", "Window"], + ["i", '"2"'], + "Block", + ["i", "0"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "for-loops", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); + await breakpointScopes(dbg, "webpack3", "for-loops", { line: 13, column: 0 }, [ + "Block", + ["", "Window"], + ["i", "3"], + "Block", + ["i", "0"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "for-loops", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); @@ -665,47 +536,37 @@ async function testForLoops(dbg) { } async function testFunctions(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "functions", { line: 6, column: 0 }, [ - "Block", - ["", "(optimized away)"], - ["arguments", "Arguments"], - ["p3", "undefined"], - "Block", - "arrow()", - "inner", - ["arguments", "Arguments"], - ["p2", "undefined"], - "Block", - "inner()", - "Block", - ["inner", "(optimized away)"], - "decl", - ["arguments", "Arguments"], - ["p1", "undefined"], - "root", - ["arguments", "Arguments"], - "decl()", - ...webpackModule(target, "functions", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "functions", { line: 6, column: 0 }, [ + "Block", + ["", "(optimized away)"], + ["arguments", "Arguments"], + ["p3", "undefined"], + "Block", + "arrow()", + "inner", + ["arguments", "Arguments"], + ["p2", "undefined"], + "Block", + "inner()", + "Block", + ["inner", "(optimized away)"], + "decl", + ["arguments", "Arguments"], + ["p1", "undefined"], + "root", + ["arguments", "Arguments"], + "decl()", + ...webpackModule("webpack3", "functions", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { isParcel, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "functions", { line: 6, column: maybeLineStart(8) }, [ "arrow", @@ -717,7 +578,7 @@ async function testFunctions(dbg) { "Function Expression", "inner()", "Function Body", - (target === "rollup" || isParcel) ? ["inner", "(optimized away)"] : "inner()", + target === "rollup" ? ["inner", "(optimized away)"] : "inner()", "decl", ["p1", "undefined"], "root", @@ -729,48 +590,38 @@ async function testFunctions(dbg) { } async function testSwitches(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "switches", { line: 7, column: 0 }, [ - "Block", - ["", "Window"], - ["val", "2"], - "Block", - ["val", "1"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "switches", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); + await breakpointScopes(dbg, "webpack3", "switches", { line: 7, column: 0 }, [ + "Block", + ["", "Window"], + ["val", "2"], + "Block", + ["val", "1"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "switches", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); - await breakpointScopes(dbg, target, "switches", { line: 10, column: 0 }, [ - "Block", - ["", "Window"], - ["val", "3"], - "Block", - ["val", "2"], - "Block", - ["val", "1"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "switches", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "switches", { line: 10, column: 0 }, [ + "Block", + ["", "Window"], + ["val", "3"], + "Block", + ["val", "2"], + "Block", + ["val", "1"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "switches", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); @@ -797,35 +648,25 @@ async function testSwitches(dbg) { } async function testTryCatches(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "try-catches", { line: 8, column: 0 }, [ - "Block", - ["", "Window"], - ["two", "2"], - "Block", - ["err", '"AnError"'], - "Block", - ["one", "1"], - "Block", - ["arguments", "Arguments"], - ...webpackModule(target, "try-catches", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "try-catches", { line: 8, column: 0 }, [ + "Block", + ["", "Window"], + ["two", "2"], + "Block", + ["err", '"AnError"'], + "Block", + ["one", "1"], + "Block", + ["arguments", "Arguments"], + ...webpackModule("webpack3", "try-catches", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); @@ -843,42 +684,32 @@ async function testTryCatches(dbg) { } async function testLexAndNonlex(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "lex-and-nonlex", { line: 3, column: 0 }, [ - "Block", - ["", "undefined"], - ["arguments", "Arguments"], - "Block", - "Thing()", - "Block", - ["arguments", "(unavailable)"], - ["someHelper", "(optimized away)"], - ...webpackModule(target, "lex-and-nonlex", true /* optimizedOut */), - ["module", "(optimized away)"], - "root()" - ]); - } + await breakpointScopes(dbg, "webpack3", "lex-and-nonlex", { line: 3, column: 0 }, [ + "Block", + ["", "undefined"], + ["arguments", "Arguments"], + "Block", + "Thing()", + "Block", + ["arguments", "(unavailable)"], + ["someHelper", "(optimized away)"], + ...webpackModule("webpack3", "lex-and-nonlex", true /* optimizedOut */), + ["module", "(optimized away)"], + "root()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { isParcel, rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes(dbg, target, "lex-and-nonlex", { line: 3, column: maybeLineStart(4) }, [ "Function Body", "Thing()", "root", - (target === "rollup" || isParcel) ? ["someHelper", "(optimized away)"] : "someHelper()", + target === "rollup" ? ["someHelper", "(optimized away)"] : "someHelper()", "Module", "root()" ]); @@ -888,12 +719,10 @@ async function testLexAndNonlex(dbg) { async function testTypescriptClasses(dbg) { // Typescript is not available on the Babel builds. for (const target of [ - "parcel", "webpack3", - "webpack4", "rollup", ]) { - const { isRollup, isParcel, rollupOptimized } = targetToFlags(target); + const { isRollup, rollupOptimized } = targetToFlags(target); await breakpointScopes(dbg, target, "typescript-classes", { line: 50, column: 2 }, [ "Module", @@ -907,10 +736,7 @@ async function testTypescriptClasses(dbg) { // Rollup optimizes out the 'ns' reference here, but when it does, it leave a mapping // pointed at a location that is super weird, so it ends up being unmapped instead // be "(optimized out)". - // Parcel converts the "ns;" mapping into a single full-line mapping, for some reason. - // That may have to do with https://github.com/parcel-bundler/parcel/pull/1755#discussion_r205584159 - // though it's not 100% clear. - ["ns", (isRollup || isParcel) ? "(unmapped)" : "{\u2026}"], + ["ns", isRollup ? "(unmapped)" : "{\u2026}"], "SubDecl()", "SubVar:SubExpr()" ]); @@ -918,32 +744,22 @@ async function testTypescriptClasses(dbg) { } async function testTypeModule(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "type-module", { line: 7, column: 0 }, [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - "Block", - ["alsoModuleScoped", "2"], - ...webpackModule(target, "type-module", true /* optimizedOut */), - ["module", "(optimized away)"], - ["moduleScoped", "1"], - "thirdModuleScoped()" - ]); - } + await breakpointScopes(dbg, "webpack3", "type-module", { line: 7, column: 0 }, [ + "Block", + ["", "Window"], + ["arguments", "Arguments"], + "Block", + ["alsoModuleScoped", "2"], + ...webpackModule("webpack3", "type-module", true /* optimizedOut */), + ["module", "(optimized away)"], + ["moduleScoped", "1"], + "thirdModuleScoped()" + ]); for (const target of [ - "parcel", "rollup", "rollup-babel6", - "rollup-babel7", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { const { rollupOptimized, webpackImportGetter, maybeLineStart } = targetToFlags(target); @@ -957,34 +773,25 @@ async function testTypeModule(dbg) { } async function testTypeScriptCJS(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "type-script-cjs", { line: 7, column: 0 }, [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - "Block", - "alsoModuleScopes", + await breakpointScopes(dbg, "webpack3", "type-script-cjs", { line: 7, column: 0 }, [ + "Block", + ["", "Window"], + ["arguments", "Arguments"], + "Block", + "alsoModuleScopes", - runtimeFunctionName(target, "type-script-cjs"), - ["arguments", "(unavailable)"], - ["exports", "(optimized away)"], - ["module", "(optimized away)"], - "moduleScoped", - "nonModules", - "thirdModuleScoped", - ]); - } + "webpack3TypeScriptCjs", + ["arguments", "(unavailable)"], + ["exports", "(optimized away)"], + ["module", "(optimized away)"], + "moduleScoped", + "nonModules", + "thirdModuleScoped", + ]); // CJS does not work on Rollup. for (const target of [ - "parcel", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { await breakpointScopes(dbg, target, "type-script-cjs", { line: 7, column: 2 }, [ "Module", @@ -999,11 +806,7 @@ async function testTypeScriptCJS(dbg) { async function testOutOfOrderDeclarationsCJS(dbg) { // CJS does not work on Rollup. for (const target of [ - "parcel", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { await breakpointScopes( dbg, @@ -1026,7 +829,7 @@ async function testOutOfOrderDeclarationsCJS(dbg) { // making us use the first, optimized-out binding. Given that imports // are almost never the last thing in a file though, this is probably not // a huge deal for now. - ["aDefault", target.match(/webpack(3|4)-babel7/) ? '"a-default"' : "(optimized away)"], + ["aDefault", "(optimized away)"], ["root", "(optimized away)"], ["val", "(optimized away)"] ] @@ -1034,33 +837,24 @@ async function testOutOfOrderDeclarationsCJS(dbg) { } } -async function testModulesCJS(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - await breakpointScopes(dbg, target, "modules-cjs", { line: 7, column: 0 }, [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - "Block", - ["alsoModuleScoped", "2"], - runtimeFunctionName(target, "modules-cjs"), - ["arguments", "(unavailable)"], - ["exports", "(optimized away)"], - ["module", "(optimized away)"], - ["moduleScoped", "1"], - "thirdModuleScoped()" - ]); - } +async function testCommonJS(dbg) { + await breakpointScopes(dbg, "webpack3", "modules-cjs", { line: 7, column: 0 }, [ + "Block", + ["", "Window"], + ["arguments", "Arguments"], + "Block", + ["alsoModuleScoped", "2"], + "webpack3ModulesCjs", + ["arguments", "(unavailable)"], + ["exports", "(optimized away)"], + ["module", "(optimized away)"], + ["moduleScoped", "1"], + "thirdModuleScoped()" + ]); // CJS does not work on Rollup. for (const target of [ - "parcel", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { await breakpointScopes(dbg, target, "modules-cjs", { line: 7, column: 2 }, [ "Module", @@ -1092,7 +886,7 @@ async function testWebpackLineMappings(dbg) { "root", ["arguments", "Arguments"], "fn:someName()", - runtimeFunctionName("webpack3", "webpack-line-mappings"), + "webpack3WebpackLineMappings", ["__webpack_exports__", "(optimized away)"], ["__WEBPACK_IMPORTED_MODULE_0__src_mod1__", "{\u2026}"], ["__webpack_require__", "(optimized away)"], @@ -1101,58 +895,21 @@ async function testWebpackLineMappings(dbg) { "root()" ] ); - - await breakpointScopes( - dbg, - "webpack4", - "webpack-line-mappings", - { line: 11, column: 0 }, - [ - "Block", - ["", '"this-value"'], - ["arg", '"arg-value"'], - ["arguments", "Arguments"], - ["inner", "undefined"], - "Block", - ["someName", "(optimized away)"], - "Block", - ["two", "2"], - "Block", - ["one", "1"], - "root", - ["arguments", "Arguments"], - "fn:someName()", - runtimeFunctionName("webpack4", "webpack-line-mappings"), - ["__webpack_exports__", "(optimized away)"], - ["__webpack_require__", "(optimized away)"], - ["_src_mod1__WEBPACK_IMPORTED_MODULE_0__", "{\u2026}"], - ["arguments", "(unavailable)"], - ["module", "(optimized away)"], - "root()" - ] - ); } async function testWebpackFunctions(dbg) { - for (const target of [ - "webpack3", - "webpack4", - ]) { - const { defaultExport } = targetToFlags(target); - - await breakpointScopes(dbg, target, "webpack-functions", { line: 4, column: 0 }, [ - "Block", - ["", "{\u2026}"], - ["arguments", "Arguments"], - ["x", "4"], - runtimeFunctionName(target, "webpack-functions"), - ["__webpack_exports__", "(optimized away)"], - ["__webpack_require__", "(optimized away)"], - ["arguments", "(unavailable)"], - ["module", "{\u2026}"], - defaultExport("root") - ]); - } + await breakpointScopes(dbg, "webpack3", "webpack-functions", { line: 4, column: 0 }, [ + "Block", + ["", "{\u2026}"], + ["arguments", "Arguments"], + ["x", "4"], + "webpack3WebpackFunctions", + ["__webpack_exports__", "(optimized away)"], + ["__webpack_require__", "(optimized away)"], + ["arguments", "(unavailable)"], + ["module", "{\u2026}"], + ["root", "(optimized away)"] + ]); } async function testESModules(dbg) { @@ -1165,7 +922,7 @@ async function testESModules(dbg) { "Block", ["", "Window"], ["arguments", "Arguments"], - runtimeFunctionName("webpack3", "esmodules"), + pairToFnName("webpack3", "esmodules"), "__webpack_exports__", "__WEBPACK_IMPORTED_MODULE_0__src_mod1__", "__WEBPACK_IMPORTED_MODULE_1__src_mod2__", @@ -1186,45 +943,11 @@ async function testESModules(dbg) { ] ); - await breakpointScopes( - dbg, - "webpack4", - "esmodules", - { line: 20, column: 0 }, - [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - runtimeFunctionName("webpack4", "esmodules"), - "__webpack_exports__", - "__webpack_require__", - "_src_mod1__WEBPACK_IMPORTED_MODULE_0__", - "_src_mod10__WEBPACK_IMPORTED_MODULE_8__", - "_src_mod11__WEBPACK_IMPORTED_MODULE_9__", - "_src_mod2__WEBPACK_IMPORTED_MODULE_1__", - "_src_mod3__WEBPACK_IMPORTED_MODULE_2__", - "_src_mod4__WEBPACK_IMPORTED_MODULE_3__", - "_src_mod5__WEBPACK_IMPORTED_MODULE_4__", - "_src_mod6__WEBPACK_IMPORTED_MODULE_5__", - "_src_mod7__WEBPACK_IMPORTED_MODULE_6__", - "_src_mod9__WEBPACK_IMPORTED_MODULE_7__", - "_src_optimized_out__WEBPACK_IMPORTED_MODULE_10__", - "arguments", - "example()", - "module", - "root()", - ] - ); - for (const target of [ - "parcel", "rollup", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { defaultExport, webpackImportGetter, maybeLineStart } = targetToFlags(target); + const { webpackImportGetter, maybeLineStart } = targetToFlags(target); await breakpointScopes( dbg, @@ -1246,48 +969,43 @@ async function testESModules(dbg) { ["anotherNamed", webpackImportGetter || '"a-named"'], ["anotherNamed2", webpackImportGetter || '"a-named2"'], ["anotherNamed3", webpackImportGetter || '"a-named3"'], - defaultExport("example"), + ["example", "(optimized away)"], ["optimizedOut", "(optimized away)"], "root()" ] ); } - for (const target of [ + // This test currently bails out because Babel does not map function calls + // fully and includes the () of the call in the range of the identifier. + // this means that Rollup, has to map locations for calls to imports, + // it can fail. This will be addressed in Babel eventually. + await breakpointScopes( + dbg, "rollup-babel6", - "rollup-babel7", - ]) { - // This test currently bails out because Babel does not map function calls - // fully and includes the () of the call in the range of the identifier. - // this means that Rollup, has to map locations for calls to imports, - // it can fail. This will be addressed in Babel eventually. - await breakpointScopes( - dbg, - target, - "esmodules", - { line: 20, column: 2 }, - [ - "root", - ["", "Window"], - ["arguments", "Arguments"], - runtimeFunctionName(target, "esmodules"), - ["aDefault", '"a-default"'], - ["aDefault2", '"a-default2"'], - ["aDefault3", '"a-default3"'], - ["aNamed", '"a-named"'], - ["aNamed$1", '(optimized away)'], - ["aNamed2", '"a-named2"'], - ["aNamed3", '"a-named3"'], - ["aNamespace", "{\u2026}"], - ["arguments", "(unavailable)"], - ["mod4", "(optimized away)"], - ["original", '"an-original"'], - ["original$1", '"an-original2"'], - ["original$2", '"an-original3"'], - "root()" - ] - ); - } + "esmodules", + { line: 20, column: 2 }, + [ + "root", + ["", "Window"], + ["arguments", "Arguments"], + "rollupBabel6Esmodules", + ["aDefault", '"a-default"'], + ["aDefault2", '"a-default2"'], + ["aDefault3", '"a-default3"'], + ["aNamed", '"a-named"'], + ["aNamed$1", '(optimized away)'], + ["aNamed2", '"a-named2"'], + ["aNamed3", '"a-named3"'], + ["aNamespace", "{\u2026}"], + ["arguments", "(unavailable)"], + ["mod4", "(optimized away)"], + ["original", '"an-original"'], + ["original$1", '"an-original2"'], + ["original$2", '"an-original3"'], + "root()" + ] + ); } @@ -1301,7 +1019,7 @@ async function testESModulesCJS(dbg) { "Block", ["", "Window"], ["arguments", "Arguments"], - runtimeFunctionName("webpack3", "esmodules-cjs"), + pairToFnName("webpack3", "esmodules-cjs"), "__webpack_exports__", "__WEBPACK_IMPORTED_MODULE_0__src_mod1__", "__WEBPACK_IMPORTED_MODULE_1__src_mod2__", @@ -1322,43 +1040,9 @@ async function testESModulesCJS(dbg) { ] ); - await breakpointScopes( - dbg, - "webpack4", - "esmodules-cjs", - { line: 20, column: 0 }, - [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - runtimeFunctionName("webpack4", "esmodules-cjs"), - "__webpack_exports__", - "__webpack_require__", - "_src_mod1__WEBPACK_IMPORTED_MODULE_0__", - "_src_mod10__WEBPACK_IMPORTED_MODULE_8__", - "_src_mod11__WEBPACK_IMPORTED_MODULE_9__", - "_src_mod2__WEBPACK_IMPORTED_MODULE_1__", - "_src_mod3__WEBPACK_IMPORTED_MODULE_2__", - "_src_mod4__WEBPACK_IMPORTED_MODULE_3__", - "_src_mod5__WEBPACK_IMPORTED_MODULE_4__", - "_src_mod6__WEBPACK_IMPORTED_MODULE_5__", - "_src_mod7__WEBPACK_IMPORTED_MODULE_6__", - "_src_mod9__WEBPACK_IMPORTED_MODULE_7__", - "_src_optimized_out__WEBPACK_IMPORTED_MODULE_10__", - "arguments", - "example()", - "module", - "root()", - ] - ); - // CJS does not work on Rollup. for (const target of [ - "parcel", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { await breakpointScopes( dbg, @@ -1398,7 +1082,7 @@ async function testESModulesES6(dbg) { "Block", ["", "Window"], ["arguments", "Arguments"], - runtimeFunctionName("webpack3", "esmodules-es6"), + pairToFnName("webpack3", "esmodules-es6"), "__webpack_exports__", "__WEBPACK_IMPORTED_MODULE_0__src_mod1__", "__WEBPACK_IMPORTED_MODULE_1__src_mod2__", @@ -1419,45 +1103,11 @@ async function testESModulesES6(dbg) { ] ); - await breakpointScopes( - dbg, - "webpack4", - "esmodules-es6", - { line: 20, column: 0 }, - [ - "Block", - ["", "Window"], - ["arguments", "Arguments"], - runtimeFunctionName("webpack4", "esmodules-es6"), - "__webpack_exports__", - "__webpack_require__", - "_src_mod1__WEBPACK_IMPORTED_MODULE_0__", - "_src_mod10__WEBPACK_IMPORTED_MODULE_8__", - "_src_mod11__WEBPACK_IMPORTED_MODULE_9__", - "_src_mod2__WEBPACK_IMPORTED_MODULE_1__", - "_src_mod3__WEBPACK_IMPORTED_MODULE_2__", - "_src_mod4__WEBPACK_IMPORTED_MODULE_3__", - "_src_mod5__WEBPACK_IMPORTED_MODULE_4__", - "_src_mod6__WEBPACK_IMPORTED_MODULE_5__", - "_src_mod7__WEBPACK_IMPORTED_MODULE_6__", - "_src_mod9__WEBPACK_IMPORTED_MODULE_7__", - "_src_optimized_out__WEBPACK_IMPORTED_MODULE_10__", - "arguments", - "example()", - "module", - "root()", - ] - ); - for (const target of [ - "parcel", "rollup", "webpack3-babel6", - "webpack3-babel7", - "webpack4-babel6", - "webpack4-babel7", ]) { - const { defaultExport, webpack4ImportGetter, maybeLineStart } = targetToFlags(target); + const { maybeLineStart } = targetToFlags(target); await breakpointScopes( dbg, @@ -1469,60 +1119,55 @@ async function testESModulesES6(dbg) { ["aDefault", '"a-default"'], ["aDefault2", '"a-default2"'], ["aDefault3", '"a-default3"'], - ["anAliased", webpack4ImportGetter || '"an-original"'], - ["anAliased2", webpack4ImportGetter || '"an-original2"'], - ["anAliased3", webpack4ImportGetter || '"an-original3"'], - ["aNamed", webpack4ImportGetter || '"a-named"'], - ["aNamed2", webpack4ImportGetter || '"a-named2"'], - ["aNamed3", webpack4ImportGetter || '"a-named3"'], + ["anAliased", '"an-original"'], + ["anAliased2", '"an-original2"'], + ["anAliased3", '"an-original3"'], + ["aNamed", '"a-named"'], + ["aNamed2", '"a-named2"'], + ["aNamed3", '"a-named3"'], ["aNamespace", "{\u2026}"], - ["anotherNamed", webpack4ImportGetter || '"a-named"'], - ["anotherNamed2", webpack4ImportGetter || '"a-named2"'], - ["anotherNamed3", webpack4ImportGetter || '"a-named3"'], - defaultExport("example"), + ["anotherNamed", '"a-named"'], + ["anotherNamed2", '"a-named2"'], + ["anotherNamed3", '"a-named3"'], + ["example", "(optimized away)"], ["optimizedOut", "(optimized away)"], "root()" ] ); } - for (const target of [ + // This test currently bails out because Babel does not map function calls + // fully and includes the () of the call in the range of the identifier. + // this means that Rollup, has to map locations for calls to imports, + // it can fail. This will be addressed in Babel eventually. + await breakpointScopes( + dbg, "rollup-babel6", - "rollup-babel7", - ]) { - // This test currently bails out because Babel does not map function calls - // fully and includes the () of the call in the range of the identifier. - // this means that Rollup, has to map locations for calls to imports, - // it can fail. This will be addressed in Babel eventually. - await breakpointScopes( - dbg, - target, - "esmodules-es6", - { line: 20, column: 2 }, - [ - "root", - ["", "Window"], - ["arguments", "Arguments"], + "esmodules-es6", + { line: 20, column: 2 }, + [ + "root", + ["", "Window"], + ["arguments", "Arguments"], - "Block", - ["aNamed", '"a-named"'], - ["aNamed$1", "undefined"], - ["aNamed2", '"a-named2"'], - ["aNamed3", '"a-named3"'], - ["original", '"an-original"'], - ["original$1", '"an-original2"'], - ["original$2", '"an-original3"'], + "Block", + ["aNamed", '"a-named"'], + ["aNamed$1", "undefined"], + ["aNamed2", '"a-named2"'], + ["aNamed3", '"a-named3"'], + ["original", '"an-original"'], + ["original$1", '"an-original2"'], + ["original$2", '"an-original3"'], - runtimeFunctionName(target, "esmodules-es6"), - ["aDefault", '"a-default"'], - ["aDefault2", '"a-default2"'], - ["aDefault3", '"a-default3"'], + "rollupBabel6EsmodulesEs6", + ["aDefault", '"a-default"'], + ["aDefault2", '"a-default2"'], + ["aDefault3", '"a-default3"'], - ["aNamespace", "{\u2026}"], - ["arguments", "(unavailable)"], - ["mod4", "(optimized away)"], - "root()" - ] - ); - } + ["aNamespace", "{\u2026}"], + ["arguments", "(unavailable)"], + ["mod4", "(optimized away)"], + "root()" + ] + ); } diff --git a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps-bogus.js b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps-bogus.js index ab47ad0aff6c..b3e639cac8b1 100644 --- a/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps-bogus.js +++ b/devtools/client/debugger/new/test/mochitest/browser_dbg-sourcemaps-bogus.js @@ -7,7 +7,11 @@ requestLongerTimeout(2); add_task(async function() { // NOTE: the CORS call makes the test run times inconsistent - const dbg = await initDebugger("doc-sourcemap-bogus.html", "bogus-map.js"); + const dbg = await initDebugger("doc-sourcemap-bogus.html"); + const { + selectors: { getSourceCount }, + getState + } = dbg; await selectSource(dbg, "bogus-map.js"); @@ -20,5 +24,5 @@ add_task(async function() { // Make sure that only the single generated source exists. The // sourcemap failed to download. - is(dbg.selectors.getSourceCount(dbg.getState()), 1, "Only 1 source exists"); + is(getSourceCount(getState()), 1, "Only 1 source exists"); }); diff --git a/devtools/client/debugger/new/test/mochitest/examples/doc-sourcemapped.html b/devtools/client/debugger/new/test/mochitest/examples/doc-sourcemapped.html index c8e10550c59d..7c17ef3d4aa6 100644 --- a/devtools/client/debugger/new/test/mochitest/examples/doc-sourcemapped.html +++ b/devtools/client/debugger/new/test/mochitest/examples/doc-sourcemapped.html @@ -12,67 +12,7 @@ -

parcel

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

webpack3

+ -->

webpack3

@@ -126,8 +66,7 @@ - -

webpack3-babel6

+

webpack3-babel6

@@ -183,234 +122,7 @@ - -

webpack3-babel7

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

webpack4

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

webpack4-babel6

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

webpack4-babel7

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

rollup

+

rollup

@@ -456,8 +168,7 @@ - -

rollup-babel6

+

rollup-babel6

@@ -506,55 +217,6 @@ -

rollup-babel7

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/devtools/client/debugger/new/test/mochitest/examples/sourcemapped/build.js b/devtools/client/debugger/new/test/mochitest/examples/sourcemapped/build.js index 541b54b83b1b..75c1bc252ba9 100755 --- a/devtools/client/debugger/new/test/mochitest/examples/sourcemapped/build.js +++ b/devtools/client/debugger/new/test/mochitest/examples/sourcemapped/build.js @@ -27,16 +27,10 @@ const tests = fs (async function() { const targets = [ - await require("./builds/parcel")(tests, __dirname), await require("./builds/webpack3")(tests, __dirname), await require("./builds/webpack3-babel6")(tests, __dirname), - await require("./builds/webpack3-babel7")(tests, __dirname), - await require("./builds/webpack4")(tests, __dirname), - await require("./builds/webpack4-babel6")(tests, __dirname), - await require("./builds/webpack4-babel7")(tests, __dirname), await require("./builds/rollup")(tests, __dirname), - await require("./builds/rollup-babel6")(tests, __dirname), - await require("./builds/rollup-babel7")(tests, __dirname) + await require("./builds/rollup-babel6")(tests, __dirname) ]; await util.promisify(webpack)({ @@ -62,7 +56,7 @@ const tests = fs Run "yarn build" to update. -->${targets .map(({ target, fixtures }) => { - return `\n

${target}

${fixtures + return `

${target}

${fixtures .map( ({ name, testFnName, scriptPath }) => `\n