Skip to content

Commit 88ff4d8

Browse files
Allow using plain JavaScript with TypeScript ones. Closes vsternbach#28
- TS configuration changes for application and test - main entry points renamed to plain JS files - Karma plugin changes to support plain and TS files - Webpack configuration updates Thanks!
1 parent 8938de0 commit 88ff4d8

9 files changed

+20
-12
lines changed

karma.conf.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ module.exports = function (config) {
3232
},
3333
files: [
3434
'node_modules/jquery/dist/jquery.js',
35-
'src/test.ts'
35+
'src/test.js'
3636
// 'src/**/*.spec.ts'
3737
],
3838
preprocessors: {
3939
// 'web/**/*.ts': ['webpack'],
40-
'src/test.ts': ['webpack'],
40+
'src/test.js': ['webpack'],
4141
// 'test/test.js': ['webpack'],
4242
// 'web/ui-framework/**/*.js': ['webpack'],
4343
// 'test/testing-utils/*.ts': ['karma-typescript'],

src/app/hero.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export class Hero {
1+
export interface Hero {
22
id: number;
33
name: string;
44
}

src/main.ts src/main.js

File renamed without changes.

src/test.ts src/test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// Then we find all the tests.
33
import { TestBed } from 'angularjs-testbed';
44

5-
const context = (require as any).context('./', true, /\.spec\.ts$/);
5+
const context = require.context('./', true, /\.spec\.ts$/);
66
context.keys().map(context);
77

88
// source files are needed only for coverage
9-
const source = (require as any).context('./app/', true, /\.ts$/);
9+
const source = require.context('./app/', true, /\.ts$/);
1010
source.keys().map(source);
1111

1212
// set strictDi on angular.mock.inject to catch errors if /*@ngInject*/ is missing

src/tsconfig.app.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
{
22
"extends": "../tsconfig.json",
3+
"compilerOptions": {
4+
"allowJs": true,
5+
"checkJs": true
6+
},
37
"exclude": [
4-
"test.ts",
5-
"**/*.spec.ts"
8+
"test.(js|ts)",
9+
"**/*.spec.(js|ts)"
610
]
711
}

src/tsconfig.spec.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
22
"extends": "../tsconfig.json",
3+
"compilerOptions": {
4+
"allowJs": true,
5+
"checkJs": true,
6+
},
37
"files": [
4-
"test.ts"
8+
"test.js"
59
]
610
}

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"target": "es5",
1111
"module": "es2015",
1212
"lib": [
13-
"es2017",
13+
"es2018",
1414
"dom"
1515
]
1616
},

webpack.config.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ module.exports = (env, argv) => {
3939

4040
const config = {
4141
entry: {
42-
app: sourcePath + '/main.ts',
42+
app: sourcePath + '/main.js',
4343
},
4444
output: {
4545
path: distPath,
@@ -61,7 +61,7 @@ module.exports = (env, argv) => {
6161
use: [MiniCssExtractPlugin.loader, 'css-loader', 'resolve-url-loader', 'sass-loader']
6262
},
6363
{
64-
test: /\.ts$/,
64+
test: /\.(js|ts)$/,
6565
exclude: /node_modules/,
6666
use: [
6767
{

webpack.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module.exports = {
2828
use: ['css-loader', 'resolve-url-loader', 'sass-loader']
2929
},
3030
{
31-
test: /\.ts$/,
31+
test: /\.(js|ts)$/,
3232
exclude: /node_modules/,
3333
use: [
3434
{

0 commit comments

Comments
 (0)