source: frontend/node_modules/webpack/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3*/
4
5"use strict";
6
7const RuntimeGlobals = require("../RuntimeGlobals");
8const Template = require("../Template");
9const HelperRuntimeModule = require("./HelperRuntimeModule");
10
11/** @typedef {import("../Compilation")} Compilation */
12
13class SetAnonymousDefaultNameRuntimeModule extends HelperRuntimeModule {
14 constructor() {
15 super("set anonymous default export name");
16 }
17
18 /**
19 * Generates runtime code for this runtime module.
20 * @returns {string | null} runtime code
21 */
22 generate() {
23 const compilation = /** @type {Compilation} */ (this.compilation);
24 const { runtimeTemplate } = compilation;
25 const fn = RuntimeGlobals.setAnonymousDefaultName;
26 return Template.asString([
27 "// set .name for anonymous default exports per ES spec",
28 `${fn} = ${runtimeTemplate.basicFunction("x", [
29 '(Object.getOwnPropertyDescriptor(x, "name") || {}).writable || Object.defineProperty(x, "name", { value: "default", configurable: true });'
30 ])};`
31 ]);
32 }
33}
34
35module.exports = SetAnonymousDefaultNameRuntimeModule;
Note: See TracBrowser for help on using the repository browser.