diff options
Diffstat (limited to 'devtools/client/jsonview/viewer-config.js')
-rw-r--r-- | devtools/client/jsonview/viewer-config.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/devtools/client/jsonview/viewer-config.js b/devtools/client/jsonview/viewer-config.js new file mode 100644 index 0000000000..35e94e6689 --- /dev/null +++ b/devtools/client/jsonview/viewer-config.js @@ -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/. */ +/* global requirejs */ + +"use strict"; + +// Send readyState change notification event to the window. It's useful for tests. +JSONView.readyState = "loading"; +window.dispatchEvent(new CustomEvent("AppReadyStateChange")); + +// Services is required in the Reps bundle but can't be loaded in the json-viewer. +// Since it's only used for the ObjectInspector, that the json-viewer does not use, we +// can mock it. The mock should be removed when we un-bundle reps, (i.e. land individual +// files instead of a big bundle). +define("ServicesMock", () => ({ appinfo: {} })); + +/** + * RequireJS configuration for JSON Viewer. + * + * React module ID is using exactly the same (relative) path as the rest + * of the code base, so it's consistent and modules can be easily reused. + */ +require.config({ + baseUrl: "resource://devtools-client-jsonview/", + paths: { + "devtools/client/jsonview": "resource://devtools-client-jsonview", + "devtools/client/shared": "resource://devtools-client-shared", + "devtools/shared": "resource://devtools/shared", + Services: "resource://devtools-client-shared/vendor/react-prop-types", + }, + map: { + "*": { + Services: "ServicesMock", + }, + }, +}); + +// Load the main panel module +requirejs(["json-viewer"]); |