diff --git a/test/cases/new-url/expected/09a1a1112c577c279435.png b/test/cases/new-url/expected/09a1a1112c577c279435.png new file mode 100644 index 00000000..b74b839e Binary files /dev/null and b/test/cases/new-url/expected/09a1a1112c577c279435.png differ diff --git a/test/cases/new-url/expected/main.css b/test/cases/new-url/expected/main.css new file mode 100644 index 00000000..e65f8770 --- /dev/null +++ b/test/cases/new-url/expected/main.css @@ -0,0 +1,8 @@ +body { + background: red; +} + +a { + background: url(09a1a1112c577c279435.png); +} + diff --git a/test/cases/new-url/expected/main.js b/test/cases/new-url/expected/main.js new file mode 100644 index 00000000..28ebe333 --- /dev/null +++ b/test/cases/new-url/expected/main.js @@ -0,0 +1,96 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// extracted by mini-css-extract-plugin + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ __webpack_require__.b = document.baseURI || self.location.href; +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ 0: 0 +/******/ }; +/******/ +/******/ // no chunk on demand loading +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ // no on chunks loaded +/******/ +/******/ // no jsonp function +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +const myURL = new URL(/* asset import */ __webpack_require__(1), __webpack_require__.b); + +console.log(myURL); + +})(); + +/******/ })() +; \ No newline at end of file diff --git a/test/cases/new-url/img.png b/test/cases/new-url/img.png new file mode 100644 index 00000000..b74b839e Binary files /dev/null and b/test/cases/new-url/img.png differ diff --git a/test/cases/new-url/index.js b/test/cases/new-url/index.js new file mode 100644 index 00000000..5c3eacc9 --- /dev/null +++ b/test/cases/new-url/index.js @@ -0,0 +1,3 @@ +const myURL = new URL("./style.css", import.meta.url); + +console.log(myURL); diff --git a/test/cases/new-url/style.css b/test/cases/new-url/style.css new file mode 100644 index 00000000..8ee8028f --- /dev/null +++ b/test/cases/new-url/style.css @@ -0,0 +1,7 @@ +body { + background: red; +} + +a { + background: url("./img.png"); +} diff --git a/test/cases/new-url/webpack.config.js b/test/cases/new-url/webpack.config.js new file mode 100644 index 00000000..1227633c --- /dev/null +++ b/test/cases/new-url/webpack.config.js @@ -0,0 +1,19 @@ +import Self from "../../../src"; + +module.exports = { + entry: "./index.js", + module: { + rules: [ + { + test: /\.css$/, + use: [Self.loader, "css-loader"], + type: "javascript/auto", + }, + ], + }, + plugins: [ + new Self({ + filename: "[name].css", + }), + ], +};