summaryrefslogtreecommitdiffstats
path: root/tools/lint/eslint/eslint-plugin-mozilla/lib/environments/jsm.js
blob: 30d8e0eb9c271906cd79271af6a09f189061bd12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 * @fileoverview Defines the environment for jsm files.
 *
 * 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/.
 */

"use strict";

module.exports = {
  globals: {
    // These globals are hard-coded and available in .jsm scopes.
    // https://searchfox.org/mozilla-central/rev/dcb0cfb66e4ed3b9c7fbef1e80572426ff5f3c3a/js/xpconnect/loader/mozJSModuleLoader.cpp#222-223
    // Although `debug` is allowed for jsm files, this is non-standard and something
    // we don't want to allow in mjs files. Hence it is not included here.
    atob: false,
    btoa: false,
    dump: false,
    // The WebAssembly global is available in most (if not all) contexts where
    // JS can run. It's definitely available in JSMs. So even if this is not
    // the perfect place to add it, it's not wrong, and we can move it later.
    WebAssembly: false,
  },
};