diff options
Diffstat (limited to 'devtools/client/jsonview/viewer-config.js')
-rw-r--r-- | devtools/client/jsonview/viewer-config.js | 46 |
1 files changed, 46 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..6ab0de0a8f --- /dev/null +++ b/devtools/client/jsonview/viewer-config.js @@ -0,0 +1,46 @@ +/* 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: {} })); +// custom-formatter is required in the Reps bundle but 1. we don't need in the JSON Viewer, +// and 2. it causes issues as this requires the ObjectInspector, which can't be loaded +// via requirejs. +define("CustomFormatterMock", () => ({})); + +/** + * 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", + "devtools/client/shared/components/reps/reps/custom-formatter": + "CustomFormatterMock", + }, + }, +}); + +// Load the main panel module +requirejs(["json-viewer"]); |