From 61e4f76ad34be2094ad912356ab2c9736b0c3e84 Mon Sep 17 00:00:00 2001 From: Dylan Piercey Date: Mon, 10 Aug 2020 11:39:13 -0700 Subject: [PATCH] fix: webpack incorrectly merging expressions in prod --- .../__snapshots__/browser--test_gpFj.js | 2 +- .../__snapshots__/browser--bar_aSxt.js | 2 +- .../__snapshots__/browser--foo_3XPO.js | 2 +- .../__snapshots__/browser-A--test_YDNP.A.js | 4 +-- .../__snapshots__/browser-B--test_YDNP.B.js | 4 +-- .../__snapshots__/browser-C--test_YDNP.C.js | 4 +-- .../__snapshots__/browser--test_nzzJ.js | 4 +-- src/loader/index.ts | 25 ++++++++++--------- 8 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/browser--test_gpFj.js b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/browser--test_gpFj.js index b221b66..29f2bb5 100644 --- a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/browser--test_gpFj.js +++ b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/browser--test_gpFj.js @@ -21,7 +21,7 @@ if (window.$mwp_testruntime) __webpack_require__.p = $mwp_testruntime; __webpack_require__(/*! ./test.marko?dependencies */ "./src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/test.marko?dependencies"); const { init } = __webpack_require__(/*! marko/components */ "marko/components"); -uinit("testruntime"); +init("testruntime"); /***/ }), diff --git a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--bar_aSxt.js b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--bar_aSxt.js index b40fee4..a07225e 100644 --- a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--bar_aSxt.js +++ b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--bar_aSxt.js @@ -7,7 +7,7 @@ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./components/shared.marko?dependencies */ "./src/__tests__/fixtures/multiple-entries-plugin/components/shared.marko?dependencies"); +__webpack_require__(/*! ./components/shared.marko?dependencies */ "./src/__tests__/fixtures/multiple-entries-plugin/components/shared.marko?dependencies") /***/ }), diff --git a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--foo_3XPO.js b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--foo_3XPO.js index 993c275..b61a13e 100644 --- a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--foo_3XPO.js +++ b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/browser--foo_3XPO.js @@ -7,7 +7,7 @@ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./components/shared.marko?dependencies */ "./src/__tests__/fixtures/multiple-entries-plugin/components/shared.marko?dependencies"); +__webpack_require__(/*! ./components/shared.marko?dependencies */ "./src/__tests__/fixtures/multiple-entries-plugin/components/shared.marko?dependencies") /***/ }), diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-A--test_YDNP.A.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-A--test_YDNP.A.js index 2cc8a10..38e8f48 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-A--test_YDNP.A.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-A--test_YDNP.A.js @@ -52,7 +52,7 @@ marko_template.Component = marko_defineComponent(marko_component, marko_template /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); +__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko") /***/ }), @@ -86,7 +86,7 @@ __webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-co /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! ./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css"); -__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies"); +__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies") /***/ }), diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-B--test_YDNP.B.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-B--test_YDNP.B.js index dd78cdf..84354c9 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-B--test_YDNP.B.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-B--test_YDNP.B.js @@ -52,7 +52,7 @@ marko_template.Component = marko_defineComponent(marko_component, marko_template /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); +__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko") /***/ }), @@ -86,7 +86,7 @@ __webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-co /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! ./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css"); -__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies"); +__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies") /***/ }), diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-C--test_YDNP.C.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-C--test_YDNP.C.js index 9d675bf..e02fb8e 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-C--test_YDNP.C.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/browser-C--test_YDNP.C.js @@ -52,7 +52,7 @@ marko_template.Component = marko_defineComponent(marko_component, marko_template /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); +__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko") /***/ }), @@ -86,7 +86,7 @@ __webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-co /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! ./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css"); -__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies"); +__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko?dependencies") /***/ }), diff --git a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/browser--test_nzzJ.js b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/browser--test_nzzJ.js index ac2be3a..ed5b4ce 100644 --- a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/browser--test_nzzJ.js +++ b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/browser--test_nzzJ.js @@ -50,7 +50,7 @@ marko_template.Component = marko_defineComponent(marko_component, marko_template /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin/components/nested/index.marko"); +__webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-component-plugin/components/nested/index.marko") /***/ }), @@ -84,7 +84,7 @@ __webpack_require__(/*! ./index.marko */ "./src/__tests__/fixtures/with-class-co /***/ (function(module, exports, __webpack_require__) { __webpack_require__(/*! ./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin/test.marko.css"); -__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin/components/nested/index.marko?dependencies"); +__webpack_require__(/*! ./components/nested/index.marko?dependencies */ "./src/__tests__/fixtures/with-class-component-plugin/components/nested/index.marko?dependencies") /***/ }), diff --git a/src/loader/index.ts b/src/loader/index.ts index b75414f..99e3755 100644 --- a/src/loader/index.ts +++ b/src/loader/index.ts @@ -133,9 +133,9 @@ export default function(source: string): void | string | Buffer { publicPath === undefined ? `if (window.${mwpVar}) __webpack_public_path__ = ${mwpVar};\n` : "" - }${loadStr(`./${path.basename(this.resourcePath)}?dependencies`)}\n${ + }${loadStr(`./${path.basename(this.resourcePath)}?dependencies`)};\n${ runtimeId - ? `${loadStr("marko/components", "{ init }")}\nuinit(${JSON.stringify( + ? `${loadStr("marko/components", "{ init }")};\ninit(${JSON.stringify( runtimeId )});` : "window.$initComponents && $initComponents();" @@ -203,13 +203,14 @@ export default function(source: string): void | string | Buffer { if (dependenciesOnly) { code = ""; + map = undefined; if (meta.component) { // Register a split component. - dependencies = dependencies.concat( + dependencies.push( loadStr("marko/components", "{ register }"), loadStr(meta.component, "component"), - `register(${JSON.stringify(meta.id)}, component);` + `register(${JSON.stringify(meta.id)}, component)` ); } @@ -259,16 +260,16 @@ export default function(source: string): void | string | Buffer { if (code) { if (map) { const concat = new ConcatMap(true, "", "\n"); - concat.add(null, dependencies.join("\n")); + concat.add(null, dependencies.join(";\n")); concat.add(this.resourcePath, code, map); map = concat.sourceMap; code = concat.content; } else { dependencies.push(code as string); - code = dependencies.join("\n"); + code = dependencies.join(";\n"); } } else { - code = dependencies.join("\n"); + code = dependencies.join(";\n"); map = undefined; } } @@ -292,7 +293,7 @@ function getMissingDepRequire(resource: string, meta): string | false { const templateFileName = getBasenameWithoutExt(resource); return `require.context(".", false, /\\${path.sep}${ templateFileName === "index" ? "" : `${templateFileName}\\.` - }(?:${missingDeps.join("|")})\\.[^\\${path.sep}]+$/);`; + }(?:${missingDeps.join("|")})\\.[^\\${path.sep}]+$/)`; } return false; @@ -326,20 +327,20 @@ function importStr(request: string, lhs?: string) { const id = JSON.stringify(request); if (lhs) { - return `import ${lhs} from ${id};`; + return `import ${lhs} from ${id}`; } - return `import ${id};`; + return `import ${id}`; } function requireStr(request: string, lhs?: string) { const id = JSON.stringify(request); if (lhs) { - return `const ${lhs} = require(${id});`; + return `const ${lhs} = require(${id})`; } - return `require(${id});`; + return `require(${id})`; } function normalizeTarget(target: string): string {