Skip to content

Commit

Permalink
initial commit adding test and fix
Browse files Browse the repository at this point in the history
  • Loading branch information
konpikwastaken committed May 29, 2019
1 parent 18151d5 commit 82127c1
Show file tree
Hide file tree
Showing 11 changed files with 2,590 additions and 2 deletions.
7 changes: 6 additions & 1 deletion src/config.ts
Expand Up @@ -125,13 +125,18 @@ function findConfigFile(
export function getConfigParseResult(
compiler: typeof typescript,
configFile: ConfigFile,
basePath: string
basePath: string,
configFilePath: string | undefined
) {
const configParseResult = compiler.parseJsonConfigFileContent(
configFile.config,
compiler.sys,
basePath
);
// set internal options.configFilePath flag on options to denote that we read this from a file
configParseResult.options = Object.assign({}, configParseResult.options, {
configFilePath
});

return configParseResult;
}
3 changes: 2 additions & 1 deletion src/instances.ts
Expand Up @@ -99,7 +99,8 @@ function successfulTypeScriptInstance(
const configParseResult = getConfigParseResult(
compiler,
configFile,
basePath
basePath,
configFilePath
);

if (configParseResult.errors.length > 0 && !loaderOptions.happyPackMode) {
Expand Down
1 change: 1 addition & 0 deletions test/execution-tests/3.5.0_incremental/README.md
@@ -0,0 +1 @@
Note that this execution test will pass on 3.4.x but will fail once root level typescript is updated to 3.5.0-rc or higher.
17 changes: 17 additions & 0 deletions test/execution-tests/3.5.0_incremental/karma.conf.js
@@ -0,0 +1,17 @@
/* eslint-disable no-var, strict */
'use strict';
var webpackConfig = require('./webpack.config.js');
var makeKarmaConfig = require('../../karmaConfig');

module.exports = function(config) {
config.set(
makeKarmaConfig({
config,
webpackConfig,
files: [
// This ensures we have the es6 shims in place from babel and then loads all the tests
'main.js'
]
})
);
};
2 changes: 2 additions & 0 deletions test/execution-tests/3.5.0_incremental/main.js
@@ -0,0 +1,2 @@
const testsContext = require.context('./', true, /\.tests\.ts(x?)$/);
testsContext.keys().forEach(testsContext);
13 changes: 13 additions & 0 deletions test/execution-tests/3.5.0_incremental/package.json
@@ -0,0 +1,13 @@
{
"name": "3.5.0_incremental",
"license": "MIT",
"version": "1.0.0",
"main": "index.js",
"devDependencies": {
"@types/jasmine": "^2.5.35",
"jasmine-core": "^2.3.4",
"typescript": "3.5.0-rc",
"webpack": "^4.32.2",
"webpack-cli": "^3.3.2"
}
}
11 changes: 11 additions & 0 deletions test/execution-tests/3.5.0_incremental/src/main.ts
@@ -0,0 +1,11 @@
class Foo {
private message: string;
constructor() {
this.message = 'hello world';
}
public write() {
// tslint:disable-next-line:no-console
console.log(this.message);
}
}
export default Foo;
8 changes: 8 additions & 0 deletions test/execution-tests/3.5.0_incremental/test/main.tests.ts
@@ -0,0 +1,8 @@
import main from '../src/main';

describe("main", () => {
it("should compile successfully", () => {
// blank expectation, actual failure is in build
expect(main).not.toBeNull();
});
});
10 changes: 10 additions & 0 deletions test/execution-tests/3.5.0_incremental/tsconfig.json
@@ -0,0 +1,10 @@
{
"compilerOptions": {
"noEmitOnError": true,
"noErrorTruncation": true,
"incremental": true,
"outDir": "./dist",
"target": "es5",
"module": "es6"
}
}
34 changes: 34 additions & 0 deletions test/execution-tests/3.5.0_incremental/webpack.config.js
@@ -0,0 +1,34 @@
/* eslint-disable no-var, strict, prefer-arrow-callback */
'use strict';

var path = require('path');
var webpack = require('webpack');
var path = require('path');

module.exports = {
mode: 'development',
entry: './src/main.ts',
output: {
filename: 'bundle.js'
},
module: {
rules: [{
test: /\.ts(x?)$/,
exclude: /node_modules/,
use: [{
loader: 'ts-loader',
}]
}]
},
resolve: {
// Add `.ts` and `.tsx` as a resolvable extension.
extensions: ['.ts', '.tsx', '.js']
},
};

// for test harness purposes only, you would not need this in a normal project
module.exports.resolveLoader = {
alias: {
'ts-loader': path.join(__dirname, "../../../index.js")
}
}

0 comments on commit 82127c1

Please sign in to comment.