diff --git a/test/comparison-tests/node_modules-subdir/app.ts b/test/comparison-tests/node_modules-subdir/app.ts new file mode 100644 index 000000000..efd8ba5a8 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/app.ts @@ -0,0 +1,2 @@ +import * as bar from "foo/bar" +console.log(bar) \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.js b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.js new file mode 100644 index 000000000..82fa821e0 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.js @@ -0,0 +1,53 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.loaded = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var bar = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"foo/bar\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())); + console.log(bar); + + +/***/ } +/******/ ]); \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.transpiled.js b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.transpiled.js new file mode 100644 index 000000000..fe782200b --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/bundle.transpiled.js @@ -0,0 +1,61 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.loaded = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var bar = __webpack_require__(1); + console.log(bar); + + +/***/ }, +/* 1 */ +/***/ function(module, exports) { + + "use strict"; + exports.bar = "sample"; + + +/***/ } +/******/ ]); \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.transpiled.txt b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.transpiled.txt new file mode 100644 index 000000000..e1150ce03 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.transpiled.txt @@ -0,0 +1,5 @@ + Asset Size Chunks Chunk Names +bundle.js 1.57 kB 0 [emitted] main +chunk {0} bundle.js (main) 100 bytes [rendered] + [0] ./.test/node_modules-subdir/app.ts 62 bytes {0} [built] + [1] ./.test/node_modules-subdir/~/foo/bar/index.ts 38 bytes {0} [built] \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.txt b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.txt new file mode 100644 index 000000000..a7b67e94e --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/expectedOutput-2.0/output.txt @@ -0,0 +1,9 @@ + Asset Size Chunks Chunk Names +bundle.js 1.61 kB 0 [emitted] main +chunk {0} bundle.js (main) 62 bytes [rendered] + [0] ./.test/node_modules-subdir/app.ts 62 bytes {0} [built] [1 error] + +ERROR in ./.test/node_modules-subdir/~/foo/bar/index.ts +Module build failed: Error: Typescript emitted no output for node_modules/foo/bar/index.ts + at Object.loader (dist/index.js:27:15) + @ ./.test/node_modules-subdir/app.ts 2:10-28 \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/node_modules/foo/bar/index.ts b/test/comparison-tests/node_modules-subdir/node_modules/foo/bar/index.ts new file mode 100644 index 000000000..6ba93a568 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/node_modules/foo/bar/index.ts @@ -0,0 +1 @@ +export const bar = "sample" diff --git a/test/comparison-tests/node_modules-subdir/node_modules/foo/package.json b/test/comparison-tests/node_modules-subdir/node_modules/foo/package.json new file mode 100644 index 000000000..5326b76a5 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/node_modules/foo/package.json @@ -0,0 +1,12 @@ +{ + "name": "foo", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/test/comparison-tests/node_modules-subdir/tsconfig.json b/test/comparison-tests/node_modules-subdir/tsconfig.json new file mode 100644 index 000000000..c99e8cde6 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "target": "es5" + } +} \ No newline at end of file diff --git a/test/comparison-tests/node_modules-subdir/webpack.config.js b/test/comparison-tests/node_modules-subdir/webpack.config.js new file mode 100644 index 000000000..aae026d84 --- /dev/null +++ b/test/comparison-tests/node_modules-subdir/webpack.config.js @@ -0,0 +1,17 @@ +module.exports = { + entry: './app.ts', + output: { + filename: 'bundle.js' + }, + resolve: { + extensions: ['', '.ts', '.js'] + }, + module: { + loaders: [ + { test: /\.ts$/, loader: 'ts-loader' } + ] + } +} + +// for test harness purposes only, you would not need this in a normal project +module.exports.resolveLoader = { alias: { 'ts-loader': require('path').join(__dirname, "../../index.js") } } \ No newline at end of file