diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_config.js b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_config.js new file mode 100644 index 00000000000..7fb5e301d03 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_config.js @@ -0,0 +1,34 @@ +module.exports = { + description: + 'Generates actual files whose filename adheres to entryFileNames for virtual modules when preserving modules', + options: { + input: 'main.js', + output: { + preserveModules: true, + entryFileNames: 'entry-[name]-[format]-[ext][extname][assetExtname].mjs' + }, + plugins: [ + { + resolveId(id) { + if (id === '\0virtualModule') return id; + if (id === '\0virtualWithExt.js') return id; + if (id === '\0virtualWithAssetExt.str') return id; + }, + load(id) { + if (id === '\0virtualModule') return 'export const virtual = "Virtual!";\n'; + if (id === '\0virtualWithExt.js') return 'export const virtual2 = "Virtual2!";\n'; + if (id === '\0virtualWithAssetExt.str') return 'export const virtual3 = "Virtual3!";\n'; + }, + transform(code, id) { + if (id === '\0virtualModule') return null; + if (id === '\0virtualWithExt.js') return null; + if (id === '\0virtualWithAssetExt.str') return null; + return ( + 'import {virtual} from "\0virtualModule";\nimport {virtual2} from "\0virtualWithExt.js";\nimport {virtual3} from "\0virtualWithAssetExt.str";' + + code + ); + } + } + ] + } +}; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualModule-amd-.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualModule-amd-.mjs new file mode 100644 index 00000000000..ce212753ac0 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualModule-amd-.mjs @@ -0,0 +1,9 @@ +define(['exports'], (function (exports) { 'use strict'; + + const virtual = "Virtual!"; + + exports.virtual = virtual; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithAssetExt-amd-str.str.str.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithAssetExt-amd-str.str.str.mjs new file mode 100644 index 00000000000..41ae4d0466c --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithAssetExt-amd-str.str.str.mjs @@ -0,0 +1,9 @@ +define(['exports'], (function (exports) { 'use strict'; + + const virtual3 = "Virtual3!"; + + exports.virtual3 = virtual3; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithExt-amd-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithExt-amd-js.js.mjs new file mode 100644 index 00000000000..b59abe59669 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/_virtual/entry-_virtualWithExt-amd-js.js.mjs @@ -0,0 +1,9 @@ +define(['exports'], (function (exports) { 'use strict'; + + const virtual2 = "Virtual2!"; + + exports.virtual2 = virtual2; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/entry-main-amd-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/entry-main-amd-js.js.mjs new file mode 100644 index 00000000000..27fc4a86228 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/amd/entry-main-amd-js.js.mjs @@ -0,0 +1,7 @@ +define(['./_virtual/entry-_virtualModule-amd-.mjs', './_virtual/entry-_virtualWithExt-amd-js.js.mjs', './_virtual/entry-_virtualWithAssetExt-amd-str.str.str.mjs'], (function (_virtualModule, _virtualWithExt, _virtualWithAssetExt) { 'use strict'; + + assert.equal(_virtualModule.virtual, 'Virtual!'); + assert.equal(_virtualWithExt.virtual2, 'Virtual2!'); + assert.equal(_virtualWithAssetExt.virtual3, 'Virtual3!'); + +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualModule-cjs-.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualModule-cjs-.mjs new file mode 100644 index 00000000000..3b40ebf67c2 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualModule-cjs-.mjs @@ -0,0 +1,7 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const virtual = "Virtual!"; + +exports.virtual = virtual; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithAssetExt-cjs-str.str.str.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithAssetExt-cjs-str.str.str.mjs new file mode 100644 index 00000000000..1be612fa656 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithAssetExt-cjs-str.str.str.mjs @@ -0,0 +1,7 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const virtual3 = "Virtual3!"; + +exports.virtual3 = virtual3; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithExt-cjs-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithExt-cjs-js.js.mjs new file mode 100644 index 00000000000..6c1f17fcbe4 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/_virtual/entry-_virtualWithExt-cjs-js.js.mjs @@ -0,0 +1,7 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +const virtual2 = "Virtual2!"; + +exports.virtual2 = virtual2; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/entry-main-cjs-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/entry-main-cjs-js.js.mjs new file mode 100644 index 00000000000..fc2cfa868da --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/cjs/entry-main-cjs-js.js.mjs @@ -0,0 +1,9 @@ +'use strict'; + +var _virtualModule = require('./_virtual/entry-_virtualModule-cjs-.mjs'); +var _virtualWithExt = require('./_virtual/entry-_virtualWithExt-cjs-js.js.mjs'); +var _virtualWithAssetExt = require('./_virtual/entry-_virtualWithAssetExt-cjs-str.str.str.mjs'); + +assert.equal(_virtualModule.virtual, 'Virtual!'); +assert.equal(_virtualWithExt.virtual2, 'Virtual2!'); +assert.equal(_virtualWithAssetExt.virtual3, 'Virtual3!'); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualModule-es-.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualModule-es-.mjs new file mode 100644 index 00000000000..2bada18c396 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualModule-es-.mjs @@ -0,0 +1,3 @@ +const virtual = "Virtual!"; + +export { virtual }; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithAssetExt-es-str.str.str.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithAssetExt-es-str.str.str.mjs new file mode 100644 index 00000000000..51e7e8dd9ed --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithAssetExt-es-str.str.str.mjs @@ -0,0 +1,3 @@ +const virtual3 = "Virtual3!"; + +export { virtual3 }; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithExt-es-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithExt-es-js.js.mjs new file mode 100644 index 00000000000..b5c5634d0a3 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/_virtual/entry-_virtualWithExt-es-js.js.mjs @@ -0,0 +1,3 @@ +const virtual2 = "Virtual2!"; + +export { virtual2 }; diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/entry-main-es-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/entry-main-es-js.js.mjs new file mode 100644 index 00000000000..4f449ad7730 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/es/entry-main-es-js.js.mjs @@ -0,0 +1,7 @@ +import { virtual } from './_virtual/entry-_virtualModule-es-.mjs'; +import { virtual2 } from './_virtual/entry-_virtualWithExt-es-js.js.mjs'; +import { virtual3 } from './_virtual/entry-_virtualWithAssetExt-es-str.str.str.mjs'; + +assert.equal(virtual, 'Virtual!'); +assert.equal(virtual2, 'Virtual2!'); +assert.equal(virtual3, 'Virtual3!'); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualModule-system-.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualModule-system-.mjs new file mode 100644 index 00000000000..51cfccb8a68 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualModule-system-.mjs @@ -0,0 +1,10 @@ +System.register([], (function (exports) { + 'use strict'; + return { + execute: (function () { + + const virtual = exports('virtual', "Virtual!"); + + }) + }; +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithAssetExt-system-str.str.str.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithAssetExt-system-str.str.str.mjs new file mode 100644 index 00000000000..d81822443bb --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithAssetExt-system-str.str.str.mjs @@ -0,0 +1,10 @@ +System.register([], (function (exports) { + 'use strict'; + return { + execute: (function () { + + const virtual3 = exports('virtual3', "Virtual3!"); + + }) + }; +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithExt-system-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithExt-system-js.js.mjs new file mode 100644 index 00000000000..3a4749cd582 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/_virtual/entry-_virtualWithExt-system-js.js.mjs @@ -0,0 +1,10 @@ +System.register([], (function (exports) { + 'use strict'; + return { + execute: (function () { + + const virtual2 = exports('virtual2', "Virtual2!"); + + }) + }; +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/entry-main-system-js.js.mjs b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/entry-main-system-js.js.mjs new file mode 100644 index 00000000000..f9381cf4e12 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/_expected/system/entry-main-system-js.js.mjs @@ -0,0 +1,20 @@ +System.register(['./_virtual/entry-_virtualModule-system-.mjs', './_virtual/entry-_virtualWithExt-system-js.js.mjs', './_virtual/entry-_virtualWithAssetExt-system-str.str.str.mjs'], (function () { + 'use strict'; + var virtual, virtual2, virtual3; + return { + setters: [function (module) { + virtual = module.virtual; + }, function (module) { + virtual2 = module.virtual2; + }, function (module) { + virtual3 = module.virtual3; + }], + execute: (function () { + + assert.equal(virtual, 'Virtual!'); + assert.equal(virtual2, 'Virtual2!'); + assert.equal(virtual3, 'Virtual3!'); + + }) + }; +})); diff --git a/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/main.js b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/main.js new file mode 100644 index 00000000000..f5d5d01a912 --- /dev/null +++ b/test/chunking-form/samples/preserve-modules-virtual-modules-filename-pattern/main.js @@ -0,0 +1,3 @@ +assert.equal(virtual, 'Virtual!'); +assert.equal(virtual2, 'Virtual2!'); +assert.equal(virtual3, 'Virtual3!');