59 lines
2.1 KiB
TypeScript
59 lines
2.1 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 fs from 'fs';
|
||
|
import * as path from 'path';
|
||
|
import * as shx from 'shelljs';
|
||
|
|
||
|
const UTF8 = {
|
||
|
encoding: 'utf-8'
|
||
|
};
|
||
|
|
||
|
shx.cd(path.join(
|
||
|
process.env['TEST_SRCDIR'], 'angular', 'packages', 'bazel', 'test', 'ng_package', 'example',
|
||
|
'npm_package'));
|
||
|
|
||
|
describe('ng_package', () => {
|
||
|
it('should have right bundle files', () => {
|
||
|
expect(shx.ls('-R', 'bundles').stdout.split('\n').filter(n => !!n).sort()).toEqual([
|
||
|
'example-secondary.umd.js',
|
||
|
'example-secondary.umd.js.map',
|
||
|
'example-secondary.umd.min.js',
|
||
|
'example-secondary.umd.min.js.map',
|
||
|
'example.umd.js',
|
||
|
'example.umd.js.map',
|
||
|
'example.umd.min.js',
|
||
|
'example.umd.min.js.map',
|
||
|
]);
|
||
|
});
|
||
|
it('should have right fesm files', () => {
|
||
|
const expected = [
|
||
|
'example.js',
|
||
|
'example.js.map',
|
||
|
'secondary.js',
|
||
|
'secondary.js.map',
|
||
|
];
|
||
|
expect(shx.ls('-R', 'esm5').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
||
|
expect(shx.ls('-R', 'esm2015').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
||
|
});
|
||
|
it('should have main entry point package.json properties set', () => {
|
||
|
const packageJson = JSON.parse(fs.readFileSync('package.json', UTF8));
|
||
|
expect(packageJson['main']).toBe('./bundles/example.umd.js');
|
||
|
expect(packageJson['module']).toBe('./esm5/example.js');
|
||
|
expect(packageJson['es2015']).toBe('./esm2015/example.js');
|
||
|
expect(packageJson['typings']).toBe('./example.d.ts');
|
||
|
});
|
||
|
it('should have secondary entry point package.json properties set', () => {
|
||
|
const packageJson = JSON.parse(fs.readFileSync(path.join('secondary', 'package.json'), UTF8));
|
||
|
expect(packageJson['main']).toBe('../bundles/example-secondary.umd.js');
|
||
|
expect(packageJson['module']).toBe('../esm5/secondary.js');
|
||
|
expect(packageJson['es2015']).toBe('../esm2015/secondary.js');
|
||
|
expect(packageJson['typings']).toBe('./secondary.d.ts');
|
||
|
});
|
||
|
});
|