UNPKG

948 BJavaScriptView Raw
1"use strict";
2
3const hasOwn = Object.prototype.hasOwnProperty;
4const defaultParser = require("./parsers/default.js");
5const defaultOptions = {
6 ast: false,
7 // If not false, "use strict" will be added to any modules with at least
8 // one import or export declaration.
9 enforceStrictMode: true,
10 generateLetDeclarations: false,
11 avoidModernSyntax: false,
12 sourceType: "unambiguous",
13 moduleAlias: "module",
14 dynamicImport: false,
15 // Controls whether finalizeHoisting performs one-time-only transforms like
16 // wrapping the module body in a function.
17 finalCompilationPass: true,
18 parse(code) {
19 return defaultParser.parse(code);
20 }
21};
22
23function get(options, name) {
24 const result = hasOwn.call(options, name) ? options[name] : void 0;
25 return result === void 0 ? defaultOptions[name] : result;
26}
27
28exports.get = get;
29
30function setDefaults(options) {
31 Object.assign(defaultOptions, options);
32}
33
34exports.setDefaults = setDefaults;