@embroider/macros
Version:
Standardized build-time macros for ember apps.
36 lines • 1.41 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildMacros = buildMacros;
const macros_config_1 = __importDefault(require("./macros-config"));
function buildMacros(options = {}) {
let root = options.dir || process.cwd();
let macros = macros_config_1.default.for({}, root);
let transforms = macros_config_1.default.transforms();
transforms.setConfig(macros);
let { setOwnConfig, setConfig, configure } = options;
if (setOwnConfig) {
macros.setOwnConfig(root, setOwnConfig);
}
if (setConfig) {
for (let [packageName, config] of Object.entries(setConfig)) {
macros.setConfig(root, packageName, config);
}
}
configure === null || configure === void 0 ? void 0 : configure(macros);
if (process.env.NODE_ENV === 'development') {
macros.enablePackageDevelopment(process.cwd());
macros.enableRuntimeMode();
}
// `buildMacros` is only ever called under Embroider 4.x, where the eager
// implementation is mandatory.
macros.importSyncImplementation = 'eager';
macros.finalize();
return {
babelMacros: macros.babelPluginConfig(),
templateMacros: transforms.plugins,
};
}
//# sourceMappingURL=babel.js.map