55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
import * as ts from 'typescript';
|
|
import {Tsc, tsc as pureTsc} from '../src/tsc';
|
|
import {VinylFile} from '../src/vinyl_file';
|
|
|
|
describe('options parsing', () => {
|
|
|
|
const configData = `
|
|
{
|
|
"angularCompilerOptions": {
|
|
"googleClosureOutput": true
|
|
},
|
|
"compilerOptions": {
|
|
"module": "commonjs",
|
|
"outDir": "built"
|
|
}
|
|
}`;
|
|
|
|
const tsc = new Tsc(() => configData, () => ['tsconfig.json']);
|
|
const config = {path: 'basePath/tsconfig.json', contents: new Buffer(configData)};
|
|
|
|
it('should combine all options into ngOptions', () => {
|
|
const {parsed, ngOptions} =
|
|
tsc.readConfiguration('projectDir', 'basePath', {target: ts.ScriptTarget.ES2015});
|
|
|
|
expect(ngOptions).toEqual({
|
|
genDir: 'basePath',
|
|
googleClosureOutput: true,
|
|
module: ts.ModuleKind.CommonJS,
|
|
outDir: 'basePath/built',
|
|
configFilePath: undefined,
|
|
target: ts.ScriptTarget.ES2015
|
|
});
|
|
});
|
|
|
|
it('should combine all options into ngOptions from vinyl like object', () => {
|
|
const {parsed, ngOptions} = pureTsc.readConfiguration(config as VinylFile, 'basePath');
|
|
|
|
expect(ngOptions).toEqual({
|
|
genDir: 'basePath',
|
|
googleClosureOutput: true,
|
|
module: ts.ModuleKind.CommonJS,
|
|
outDir: 'basePath/built',
|
|
configFilePath: undefined
|
|
});
|
|
});
|
|
});
|