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 b365478
Show file tree
Hide file tree
Showing 10 changed files with 111 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
17 changes: 17 additions & 0 deletions test/execution-tests/3.5.0-dev.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-dev.0_incremental/main.js
@@ -0,0 +1,2 @@
const testsContext = require.context('./', true, /\.tests\.ts(x?)$/);
testsContext.keys().forEach(testsContext);
10 changes: 10 additions & 0 deletions test/execution-tests/3.5.0-dev.0_incremental/package.json
@@ -0,0 +1,10 @@
{
"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"
}
}
11 changes: 11 additions & 0 deletions test/execution-tests/3.5.0-dev.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;
@@ -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-dev.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-dev.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")
}
}
11 changes: 11 additions & 0 deletions test/execution-tests/3.5.0-dev.0_incremental/yarn.lock
@@ -0,0 +1,11 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


"@types/jasmine@^2.5.35":
version "2.8.16"
resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.16.tgz#a6cb24b1149d65293bd616923500014838e14e7d"

jasmine-core@^2.3.4:
version "2.99.1"
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.99.1.tgz#e6400df1e6b56e130b61c4bcd093daa7f6e8ca15"

0 comments on commit b365478

Please sign in to comment.