diff --git a/src/__tests__/fixtures/asset-tag/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/asset-tag/__snapshots__/webpack4/server--main.js index 4e9dda2..ab0b40b 100644 --- a/src/__tests__/fixtures/asset-tag/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/asset-tag/__snapshots__/webpack4/server--main.js @@ -236,14 +236,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/asset-tag/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -254,22 +256,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -277,8 +280,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -291,17 +294,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -309,26 +301,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "wUwFs+xe", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_wUwF", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_wUwF"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -376,6 +363,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/asset-tag/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/asset-tag/__snapshots__/webpack5/server--main.js index 09a3c07..bf487df 100644 --- a/src/__tests__/fixtures/asset-tag/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/asset-tag/__snapshots__/webpack5/server--main.js @@ -138,14 +138,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/asset-tag/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -156,22 +158,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -179,8 +182,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -193,17 +196,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -211,26 +203,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "wUwFs+xe", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_wUwF", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_wUwF"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -280,6 +267,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack4/server--main.js index 72ba57e..63e982e 100644 --- a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack4/server--main.js @@ -148,14 +148,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -166,22 +168,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp_testruntime=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -189,8 +192,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -203,17 +206,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -221,27 +213,22 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "8XgZ/c27", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { out.global.runtimeId = "testruntime"; - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_8XgZ", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_8XgZ"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -289,6 +276,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack5/server--main.js index bc29965..4ed99c9 100644 --- a/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/__snapshots__/webpack5/server--main.js @@ -48,14 +48,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/basic-template-plugin-custom-runtime-id/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -66,22 +68,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp_testruntime=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -89,8 +92,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -103,17 +106,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -121,27 +113,22 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "8XgZ/c27", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { out.global.runtimeId = "testruntime"; - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_8XgZ", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_8XgZ"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -191,6 +178,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/basic-template-plugin-production/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/basic-template-plugin-production/__snapshots__/webpack4/server--main.js index 64808fa..570d29f 100644 --- a/src/__tests__/fixtures/basic-template-plugin-production/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/basic-template-plugin-production/__snapshots__/webpack4/server--main.js @@ -1 +1 @@ -!function(t){var e={};function r(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=e,r.d=function(t,e,s){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(s,n,function(e){return t[e]}.bind(null,n));return s},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=5)}([function(t,e){t.exports=require("marko/dist/runtime/html")},function(t,e){t.exports=require("marko/dist/runtime/components/renderer")},function(t,e){t.exports=require("marko/dist/runtime/helpers/render-tag")},function(t,e){t.exports=require("marko/dist/core-tags/components/init-components-tag.js")},function(t,e){t.exports=require("marko/dist/core-tags/core/await/reorderer-renderer.js")},function(t,e,r){const s=r(6),n=r(7);s.createServer((t,e)=>{n.render({},e)}).listen(0)},function(t,e){t.exports=require("http")},function(t,e,r){"use strict";r.r(e);var s=r(0),n=r(1),i=r.n(n);const o=Object(s.t)();var u=o;o._=i()((function(t,e,r,s,n){e.w("

Hello World

")}),{t:"7Fk+kAfP",i:!0},{});var c={getAssets(t){return this.build[t]},build:{"test_7Fk-":{js:["test_7Fk-.js"]}}},f=r(2),_=r.n(f),l=r(3),a=r.n(l),d=r(4),p=r.n(d);const h=Object(s.t)();e.default=h;function b(){const t=this.___assets;if(this.___renderAssets=this.___assets=void 0,this.flush=this.___flush,this.end=this.___end,t){r.p&&this.script("$mwp="+JSON.stringify(r.p));const e=this.global.cspNonce,s=e?" nonce="+JSON.stringify(e):"",n=this.global.___writtenAssets||(this.global.___writtenAssets=new Set);let i="",o="";for(const e of t){if(e.js)for(const t of e.js)n.has(t)||(n.add(t),i+=``; @@ -189,8 +192,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -203,17 +206,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -221,26 +213,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "r9oeuJMR", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_r9oe", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_r9oe"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -288,6 +275,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/basic-template-plugin/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/basic-template-plugin/__snapshots__/webpack5/server--main.js index bb54e98..bb5f93b 100644 --- a/src/__tests__/fixtures/basic-template-plugin/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/basic-template-plugin/__snapshots__/webpack5/server--main.js @@ -48,14 +48,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/basic-template-plugin/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -66,22 +68,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -89,8 +92,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -103,17 +106,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -121,26 +113,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "r9oeuJMR", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_r9oe", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_r9oe"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -190,6 +177,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack4/server--main.js index 9c49f25..bacdaa7 100644 --- a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack4/server--main.js @@ -136,14 +136,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _bar_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bar.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/bar.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -154,22 +156,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -177,8 +180,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -191,17 +194,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -209,26 +201,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "qMMCl8/W", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("bar_qMMC", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("bar_qMMC"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_bar_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_bar_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -316,14 +303,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _foo_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foo.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/foo.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -334,22 +323,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -357,8 +347,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -371,17 +361,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -389,26 +368,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "FRgaW2aC", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("foo_FRga", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("foo_FRga"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_foo_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_foo_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -466,14 +440,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _template_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./template.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/nested/template.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -484,22 +460,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -507,8 +484,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -521,17 +498,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -539,26 +505,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "vyXF8r3F", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("nested_vyXF", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("nested_vyXF"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_template_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_template_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -629,6 +590,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack5/server--main.js index 68f32cf..ad96cd2 100644 --- a/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/multiple-entries-plugin/__snapshots__/webpack5/server--main.js @@ -55,14 +55,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _bar_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bar.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/bar.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -73,22 +75,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -96,8 +99,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -110,17 +113,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -128,26 +120,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "qMMCl8/W", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("bar_qMMC", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("bar_qMMC"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_bar_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_bar_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -241,14 +228,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _foo_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foo.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/foo.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -259,22 +248,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -282,8 +272,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -296,17 +286,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -314,26 +293,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "FRgaW2aC", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("foo_FRga", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("foo_FRga"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_foo_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_foo_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -395,14 +369,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _template_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./template.marko */ "./src/__tests__/fixtures/multiple-entries-plugin/nested/template.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -413,22 +389,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -436,8 +413,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -450,17 +427,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -468,26 +434,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "vyXF8r3F", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("nested_vyXF", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("nested_vyXF"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_template_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_template_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -537,6 +498,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/server--main.js index 2756d5f..20ff113 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/server--main.js @@ -189,14 +189,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -207,22 +209,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -230,8 +233,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -244,17 +247,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -262,26 +254,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "xbStr3Q2", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_xbSt", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_xbSt"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -334,6 +321,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack5/server--main.js index be7009c..108e978 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack5/server--main.js @@ -91,14 +91,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -109,22 +111,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -132,8 +135,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -146,17 +149,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -164,26 +156,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "xbStr3Q2", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_xbSt", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_xbSt"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -238,6 +225,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/server--main.js index 94ea1be..46d2f93 100644 --- a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/server--main.js @@ -187,14 +187,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-class-component-plugin/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -205,22 +207,23 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -228,8 +231,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -242,17 +245,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -260,26 +252,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "ntnz89r6", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_ntnz", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_ntnz"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -327,6 +314,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack5/server--main.js index 7ea7a6e..2807b19 100644 --- a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack5/server--main.js @@ -89,14 +89,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-class-component-plugin/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -107,22 +109,23 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { __webpack_require__.p && this.script(`$mwp=${JSON.stringify(__webpack_require__.p)}`); + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -130,8 +133,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -144,17 +147,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -162,26 +154,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "ntnz89r6", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_ntnz", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_ntnz"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -231,6 +218,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-public-path/__snapshots__/webpack4/server--main.js b/src/__tests__/fixtures/with-public-path/__snapshots__/webpack4/server--main.js index a69bec0..386f968 100644 --- a/src/__tests__/fixtures/with-public-path/__snapshots__/webpack4/server--main.js +++ b/src/__tests__/fixtures/with-public-path/__snapshots__/webpack4/server--main.js @@ -148,14 +148,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-public-path/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !@marko/webpack/loader!?manifest */ "./src/loader/index.ts!./?manifest"); -/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* empty/unused harmony star reexport *//* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__["t"])(); @@ -166,21 +168,22 @@ const _marko_template = Object(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_ function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -188,8 +191,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -202,17 +205,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -220,26 +212,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "xGHmCIBi", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__["default"].getAssets("test_xGHm", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_xGHm"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default.a, { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__["default"], input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default.a, {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default.a, {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default.a, {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -287,6 +274,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/__tests__/fixtures/with-public-path/__snapshots__/webpack5/server--main.js b/src/__tests__/fixtures/with-public-path/__snapshots__/webpack5/server--main.js index 8e2ff8a..32c723a 100644 --- a/src/__tests__/fixtures/with-public-path/__snapshots__/webpack5/server--main.js +++ b/src/__tests__/fixtures/with-public-path/__snapshots__/webpack5/server--main.js @@ -48,14 +48,16 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _test_marko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko */ "./src/__tests__/fixtures/with-public-path/test.marko"); /* harmony import */ var _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !!@marko/webpack/loader!?manifest */ "./src/loader/index.ts!?manifest"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); -/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); -/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); -/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); -/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/core-tags/core/__flush_here_and_after__.js */ "marko/dist/core-tags/core/__flush_here_and_after__.js"); +/* harmony import */ var marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! marko/dist/runtime/helpers/render-tag */ "marko/dist/runtime/helpers/render-tag"); +/* harmony import */ var marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! marko/dist/core-tags/components/init-components-tag.js */ "marko/dist/core-tags/components/init-components-tag.js"); +/* harmony import */ var marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! marko/dist/core-tags/core/await/reorderer-renderer.js */ "marko/dist/core-tags/core/await/reorderer-renderer.js"); +/* harmony import */ var marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); +/* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7__); const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__.t)(); @@ -66,21 +68,22 @@ const _marko_template = (0,marko_dist_runtime_html__WEBPACK_IMPORTED_MODULE_0__. function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += ``; @@ -88,8 +91,8 @@ function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += ``; @@ -102,17 +105,6 @@ function renderAssets() { } } -function outFlushOverride() { - this.___renderAssets(); - - this.flush(); -} - -function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - - this.end(data, encoding, callback); -} @@ -120,26 +112,21 @@ function outEndOverride(data, encoding, callback) { const _marko_componentType = "xGHmCIBi", _marko_component = {}; -_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_6___default()(function (input, out, _component, component, state) { - const curAssets = out.___assets; - const newAssets = _marko_webpack_loader_manifest__WEBPACK_IMPORTED_MODULE_2__.default.getAssets("test_xGHm", out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } +_marko_template._ = marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_7___default()(function (input, out, _component, component, state) { + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push("test_xGHm"); + + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_flush_here_and_after_js__WEBPACK_IMPORTED_MODULE_3___default()), { + "renderBody": out => { + out.global.___renderAssets && out.global.___renderAssets(); + } + }, out, _component, "0"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "0"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()(_test_marko__WEBPACK_IMPORTED_MODULE_1__.default, input, out, _component, "1"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_4___default()), {}, out, _component, "1"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_components_init_components_tag_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); - marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_3___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_5___default()), {}, out, _component, "2"); + marko_dist_runtime_helpers_render_tag__WEBPACK_IMPORTED_MODULE_4___default()((marko_dist_core_tags_core_await_reorderer_renderer_js__WEBPACK_IMPORTED_MODULE_6___default()), {}, out, _component, "3"); }, { t: _marko_componentType, i: true @@ -189,6 +176,17 @@ module.exports = require("marko/dist/core-tags/components/init-components-tag.js /***/ }), +/***/ "marko/dist/core-tags/core/__flush_here_and_after__.js": +/*!************************************************************************!*\ + !*** external "marko/dist/core-tags/core/__flush_here_and_after__.js" ***! + \************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = require("marko/dist/core-tags/core/__flush_here_and_after__.js");; + +/***/ }), + /***/ "marko/dist/core-tags/core/await/reorderer-renderer.js": /*!************************************************************************!*\ !*** external "marko/dist/core-tags/core/await/reorderer-renderer.js" ***! diff --git a/src/loader/get-asset-code.ts b/src/loader/get-asset-code.ts index 7efaee6..c3d307a 100644 --- a/src/loader/get-asset-code.ts +++ b/src/loader/get-asset-code.ts @@ -13,12 +13,10 @@ import manifest from "!!@marko/webpack/loader!?manifest"; export * from ${templatePath}; static function renderAssets() { - const assets = this.___assets; - this.___renderAssets = this.___assets = undefined; - this.flush = this.___flush; - this.end = this.___end; + const entries = this.global.___entries; + this.global.___entries = undefined; - if (assets) { + if (entries) { ${ !publicPath ? `__webpack_public_path__ && this.script(\`${ @@ -27,15 +25,18 @@ static function renderAssets() { : "" } + const buildName = this.global.buildName; const nonce = this.global.cspNonce; const nonceAttr = nonce ? \` nonce=\${JSON.stringify(nonce)}\` : ""; const written = this.global.___writtenAssets || (this.global.___writtenAssets = new Set()); let scripts = ""; let styles = ""; - for (const curAssets of assets) { - if (curAssets.js) { - for (const href of curAssets.js) { + for (const entry of entries) { + const assets = manifest.getAssets(entry, buildName); + + if (assets.js) { + for (const href of assets.js) { if (!written.has(href)) { written.add(href); scripts += \`\`; @@ -43,8 +44,8 @@ static function renderAssets() { } } - if (curAssets.css) { - for (const href of curAssets.css) { + if (assets.css) { + for (const href of assets.css) { if (!written.has(href)) { written.add(href); styles += \`\`; @@ -57,16 +58,6 @@ static function renderAssets() { } } -static function outFlushOverride() { - this.___renderAssets(); - this.flush(); -} - -static function outEndOverride(data, encoding, callback) { - this.___renderAssets(); - this.end(data, encoding, callback); -} - $ { ${ runtimeId === undefined @@ -74,23 +65,15 @@ $ { : `out.global.runtimeId = ${JSON.stringify(runtimeId)};` } - const curAssets = out.___assets; - const newAssets = manifest.getAssets(${JSON.stringify( + out.global.___renderAssets = renderAssets; + out.global.___entries = (out.global.___entries || []).push(${JSON.stringify( moduleName(resourcePath) - )}, out.global.buildName); - - if (curAssets) { - curAssets.push(newAssets); - } else { - out.___assets = [newAssets]; - out.___flush = out.flush; - out.___end = out.end; - out.___renderAssets = renderAssets; - out.flush = outFlushOverride; - out.end = outEndOverride; - } + )}); } +<__flush_here_and_after__> + $ out.global.___renderAssets && out.global.___renderAssets(); + <\${template} ...input/> diff --git a/src/loader/head-transformer.ts b/src/loader/head-transformer.ts index 70779dc..e68e959 100644 --- a/src/loader/head-transformer.ts +++ b/src/loader/head-transformer.ts @@ -5,7 +5,7 @@ export default function transform( t: typeof types ): void { const renderAssetsMember = t.memberExpression( - t.identifier("out"), + t.memberExpression(t.identifier("out"), t.identifier("global")), t.identifier("___renderAssets") ); path