From 7d5f8e942e6ade36648c6bd84a60106f85ca18ad Mon Sep 17 00:00:00 2001 From: Dylan Piercey Date: Mon, 7 Jun 2021 14:44:45 -0700 Subject: [PATCH] fix: issue with runtimeId not forwarded to Marko compiler --- package-lock.json | 94 ++++++++++++------- .../webpack4/browser-A--test_xbSt.A.js | 2 +- .../webpack4/browser-B--test_xbSt.B.js | 2 +- .../webpack4/browser-C--test_xbSt.C.js | 2 +- .../webpack4/browser--test_ntnz.js | 2 +- .../__snapshots__/webpack4/main.js | 2 +- .../with-css/__snapshots__/webpack4/main.js | 2 +- .../with-css/__snapshots__/webpack5/main.js | 2 +- src/__tests__/main.ts | 15 ++- src/loader/index.ts | 1 + 10 files changed, 81 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index c71dca2..7ce9f17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1092,9 +1092,9 @@ } }, "@types/eslint": { - "version": "7.2.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.10.tgz", - "integrity": "sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ==", + "version": "7.2.13", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz", + "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==", "dev": true, "requires": { "@types/estree": "*", @@ -1112,9 +1112,9 @@ } }, "@types/estree": { - "version": "0.0.46", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", - "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", + "version": "0.0.47", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz", + "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==", "dev": true }, "@types/graceful-fs": { @@ -10879,22 +10879,22 @@ } }, "webpack5": { - "version": "npm:webpack@5.33.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.33.2.tgz", - "integrity": "sha512-X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg==", + "version": "npm:webpack@5.38.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", + "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.46", + "@types/estree": "^0.0.47", "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/wasm-edit": "1.11.0", "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.0.4", + "acorn": "^8.2.1", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.7.0", + "enhanced-resolve": "^5.8.0", "es-module-lexer": "^0.4.0", - "eslint-scope": "^5.1.1", + "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.4", @@ -10905,8 +10905,8 @@ "schema-utils": "^3.0.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" }, "dependencies": { "@webassemblyjs/ast": { @@ -11039,9 +11039,9 @@ } }, "acorn": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz", - "integrity": "sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", "dev": true }, "commander": { @@ -11050,6 +11050,27 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, "loader-runner": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", @@ -11080,6 +11101,15 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "tapable": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", @@ -11087,9 +11117,9 @@ "dev": true }, "terser": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", - "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -11106,23 +11136,23 @@ } }, "terser-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz", + "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==", "dev": true, "requires": { - "jest-worker": "^26.6.2", + "jest-worker": "^27.0.2", "p-limit": "^3.1.0", "schema-utils": "^3.0.0", "serialize-javascript": "^5.0.1", "source-map": "^0.6.1", - "terser": "^5.5.1" + "terser": "^5.7.0" } }, "watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -11130,9 +11160,9 @@ } }, "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", "dev": true, "requires": { "source-list-map": "^2.0.1", diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-A--test_xbSt.A.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-A--test_xbSt.A.js index b87a49e..cb11fb1 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-A--test_xbSt.A.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-A--test_xbSt.A.js @@ -176,7 +176,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/src/runtime/components */ "marko/src/runtime/components"); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); /* harmony import */ var _components_nested_index_marko__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nested/index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); if (window.$mwp) __webpack_require__.p = $mwp; diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-B--test_xbSt.B.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-B--test_xbSt.B.js index 0377368..3ca503a 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-B--test_xbSt.B.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-B--test_xbSt.B.js @@ -176,7 +176,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/src/runtime/components */ "marko/src/runtime/components"); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); /* harmony import */ var _components_nested_index_marko__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nested/index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); if (window.$mwp) __webpack_require__.p = $mwp; diff --git a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-C--test_xbSt.C.js b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-C--test_xbSt.C.js index 656f282..6db90d3 100644 --- a/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-C--test_xbSt.C.js +++ b/src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/__snapshots__/webpack4/browser-C--test_xbSt.C.js @@ -176,7 +176,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/src/runtime/components */ "marko/src/runtime/components"); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_class_component_plugin_dynamic_bundle_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/test.marko?virtual=./test.marko.css"); /* harmony import */ var _components_nested_index_marko__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nested/index.marko */ "./src/__tests__/fixtures/with-class-component-plugin-dynamic-bundle/components/nested/index.marko"); if (window.$mwp) __webpack_require__.p = $mwp; diff --git a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/browser--test_ntnz.js b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/browser--test_ntnz.js index 92ab3d0..05ca57a 100644 --- a/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/browser--test_ntnz.js +++ b/src/__tests__/fixtures/with-class-component-plugin/__snapshots__/webpack4/browser--test_ntnz.js @@ -174,7 +174,7 @@ __webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/src/runtime/components */ "marko/src/runtime/components"); /* harmony import */ var marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_src_runtime_components__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_class_component_plugin_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_class_component_plugin_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-class-component-plugin/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-class-component-plugin/test.marko?virtual=./test.marko.css"); /* harmony import */ var _components_nested_index_marko__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nested/index.marko */ "./src/__tests__/fixtures/with-class-component-plugin/components/nested/index.marko"); if (window.$mwp) __webpack_require__.p = $mwp; diff --git a/src/__tests__/fixtures/with-css-extract/__snapshots__/webpack4/main.js b/src/__tests__/fixtures/with-css-extract/__snapshots__/webpack4/main.js index 77a2dab..f62abcd 100644 --- a/src/__tests__/fixtures/with-css-extract/__snapshots__/webpack4/main.js +++ b/src/__tests__/fixtures/with-css-extract/__snapshots__/webpack4/main.js @@ -97,7 +97,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/dist/runtime/vdom */ "marko/dist/runtime/vdom"); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_css_extract_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-css-extract/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css-extract/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-css-extract/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_css_extract_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-css-extract/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css-extract/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-css-extract/test.marko?virtual=./test.marko.css"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! marko/dist/runtime/vdom/helpers/v-element */ "marko/dist/runtime/vdom/helpers/v-element"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); diff --git a/src/__tests__/fixtures/with-css/__snapshots__/webpack4/main.js b/src/__tests__/fixtures/with-css/__snapshots__/webpack4/main.js index 2261e0c..6aa115c 100644 --- a/src/__tests__/fixtures/with-css/__snapshots__/webpack4/main.js +++ b/src/__tests__/fixtures/with-css/__snapshots__/webpack4/main.js @@ -476,7 +476,7 @@ module.exports = function (list, options) { __webpack_require__.r(__webpack_exports__); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/dist/runtime/vdom */ "marko/dist/runtime/vdom"); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_css_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_css_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css = ./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css/test.marko.css!./=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! marko/dist/runtime/vdom/helpers/v-element */ "marko/dist/runtime/vdom/helpers/v-element"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); diff --git a/src/__tests__/fixtures/with-css/__snapshots__/webpack5/main.js b/src/__tests__/fixtures/with-css/__snapshots__/webpack5/main.js index 115bceb..d005d67 100644 --- a/src/__tests__/fixtures/with-css/__snapshots__/webpack5/main.js +++ b/src/__tests__/fixtures/with-css/__snapshots__/webpack5/main.js @@ -537,7 +537,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marko/dist/runtime/vdom */ "marko/dist/runtime/vdom"); /* harmony import */ var marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _test_marko_css_home_dpiercey_dev_github_marko_webpack_src_loader_index_ts_home_dpiercey_dev_github_marko_webpack_src_tests_fixtures_with_css_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css!=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css/test.marko.css!=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css"); +/* harmony import */ var _test_marko_css_SOURCE_loader_index_ts_SOURCE_tests_fixtures_with_css_test_marko_virtual_test_marko_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.marko.css!=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css */ "./src/__tests__/fixtures/with-css/test.marko.css!=!./src/loader/index.ts!./src/__tests__/fixtures/with-css/test.marko?virtual=./test.marko.css"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! marko/dist/runtime/vdom/helpers/v-element */ "marko/dist/runtime/vdom/helpers/v-element"); /* harmony import */ var marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(marko_dist_runtime_vdom_helpers_v_element__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var marko_dist_runtime_components_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! marko/dist/runtime/components/renderer */ "marko/dist/runtime/components/renderer"); diff --git a/src/__tests__/main.ts b/src/__tests__/main.ts index a0012b0..29dc64a 100644 --- a/src/__tests__/main.ts +++ b/src/__tests__/main.ts @@ -3,12 +3,20 @@ import * as path from "path"; import webpack4 from "webpack"; import webpack5 from "webpack5"; import { toMatchFile } from "jest-file-snapshot"; +import escapeStringRegexp from "escape-string-regexp"; import compilation from "./util/compilation"; expect.extend({ toMatchFile }); +const srcDir = path.dirname(__dirname); const fixturesDir = path.join(__dirname, "fixtures"); const fixtures = fs.readdirSync(fixturesDir); +const srcDirReg = new RegExp( + [srcDir, srcDir.slice(srcDir.indexOf(path.sep)).replace(/[/\\/_.]+/g, "_")] + .map(escapeStringRegexp) + .join("|"), + "gi" +); for (const [version, webpack] of Object.entries({ webpack4, webpack5 })) { describe(`${version}`, () => { @@ -39,10 +47,9 @@ for (const [version, webpack] of Object.entries({ webpack4, webpack5 })) { const prefixName = compilationName ? `${compilationName}--` : ""; for (const assetName in compilation.assets) { - const source = outputFS.readFileSync( - path.join(outputPath, assetName), - "utf-8" - ); + const source = outputFS + .readFileSync(path.join(outputPath, assetName), "utf-8") + .replace(srcDirReg, "_SOURCE"); const snapshotName = prefixName + assetName; const snapshotIndex = remainingSnapshots.indexOf(snapshotName); diff --git a/src/loader/index.ts b/src/loader/index.ts index ebe6197..c82c815 100644 --- a/src/loader/index.ts +++ b/src/loader/index.ts @@ -116,6 +116,7 @@ export default async function ( sourceMaps, fileSystem: this.fs, writeVersionComment: false, + runtimeId: pluginOptions.runtimeId, cache: (compiler.markoCompileCache ||= new Map()), resolveVirtualDependency(resourcePath, { code, map, virtualPath }) { const absoluteVirtualPath = `${resourcePath}?virtual=${virtualPath}`;