ci(aio): use custom package.json to run with local distributables (#19600)

Closes #19388

PR Close #19600
This commit is contained in:
Peter Bacon Darwin
2017-10-06 10:48:18 +01:00
committed by Chuck Jazdzewski
parent 074a997302
commit d8fd892e71
6 changed files with 495 additions and 549 deletions

View File

@ -4,8 +4,6 @@ const path = require('canonical-path');
const shelljs = require('shelljs');
const yargs = require('yargs');
const ngPackagesInstaller = require('../ng-packages-installer');
const SHARED_PATH = path.resolve(__dirname, 'shared');
const SHARED_NODE_MODULES_PATH = path.resolve(SHARED_PATH, 'node_modules');
const BOILERPLATE_BASE_PATH = path.resolve(SHARED_PATH, 'boilerplate');
@ -29,10 +27,6 @@ const BOILERPLATE_TEST_PATHS = [
'karma.conf.js'
];
const ANGULAR_TOOLS_PACKAGES_PATH = path.resolve(ANGULAR_DIST_PATH, 'tools', '@angular');
const ANGULAR_TOOLS_PACKAGES = [
'tsc-wrapped'
];
const EXAMPLE_CONFIG_FILENAME = 'example-config.json';
class ExampleBoilerPlate {
@ -83,13 +77,9 @@ class ExampleBoilerPlate {
}
installNodeModules(basePath, useLocal) {
shelljs.exec('yarn', {cwd: basePath});
if (useLocal) {
ngPackagesInstaller.overwritePackages(basePath);
} else {
ngPackagesInstaller.restorePackages(basePath);
}
const tool = 'node tools/ng-packages-installer';
const command = useLocal ? 'overwrite' : 'restore';
shelljs.exec([tool, command, basePath, '--debug'].join(' '));
}
getFoldersContaining(basePath, filename, ignore) {

View File

@ -3,7 +3,6 @@ const fs = require('fs-extra');
const glob = require('glob');
const shelljs = require('shelljs');
const ngPackagesInstaller = require('../ng-packages-installer');
const exampleBoilerPlate = require('./example-boilerplate');
describe('example-boilerplate tool', () => {
@ -87,31 +86,22 @@ describe('example-boilerplate tool', () => {
describe('installNodeModules', () => {
beforeEach(() => {
spyOn(shelljs, 'exec');
spyOn(ngPackagesInstaller, 'overwritePackages');
spyOn(ngPackagesInstaller, 'restorePackages');
});
it('should run `yarn` in the base path', () => {
exampleBoilerPlate.installNodeModules('some/base/path');
expect(shelljs.exec).toHaveBeenCalledWith('yarn', { cwd: 'some/base/path' });
});
it('should overwrite the Angular packages if `useLocal` is true', () => {
ngPackagesInstaller.overwritePackages.and.callFake(() => expect(shelljs.exec).toHaveBeenCalled());
exampleBoilerPlate.installNodeModules('some/base/path', true);
expect(ngPackagesInstaller.overwritePackages).toHaveBeenCalledWith('some/base/path');
expect(ngPackagesInstaller.restorePackages).not.toHaveBeenCalled();
expect(shelljs.exec).toHaveBeenCalledWith('node tools/ng-packages-installer overwrite some/base/path --debug');
expect(shelljs.exec.calls.count()).toEqual(1);
});
it('should restore the Angular packages if `useLocal` is not true', () => {
exampleBoilerPlate.installNodeModules('some/base/path1');
expect(ngPackagesInstaller.restorePackages).toHaveBeenCalledWith('some/base/path1');
expect(shelljs.exec).toHaveBeenCalledWith('node tools/ng-packages-installer restore some/base/path1 --debug');
exampleBoilerPlate.installNodeModules('some/base/path2', false);
expect(ngPackagesInstaller.restorePackages).toHaveBeenCalledWith('some/base/path2');
expect(shelljs.exec).toHaveBeenCalledWith('node tools/ng-packages-installer restore some/base/path2 --debug');
expect(ngPackagesInstaller.overwritePackages).not.toHaveBeenCalled();
expect(shelljs.exec.calls.count()).toEqual(2);
});
});