MCPcopy Index your code
hub / github.com/angular/angular-cli / useCIChrome

Function useCIChrome

tests/e2e/utils/project.ts:147–174  ·  view source on GitHub ↗
(projectName: string, projectDir = '')

Source from the content-addressed store, hash-verified

145}
146
147export async function useCIChrome(projectName: string, projectDir = ''): Promise<void> {
148 const karmaConf = path.join(projectDir, 'karma.conf.js');
149 if (fs.existsSync(karmaConf)) {
150 // Ensure the headless sandboxed chrome is configured in the karma config
151 await replaceInFile(
152 karmaConf,
153 `browsers: ['Chrome'],`,
154 `browsers: ['ChromeHeadlessNoSandbox'],
155 customLaunchers: {
156 ChromeHeadlessNoSandbox: {
157 base: 'ChromeHeadless',
158 flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'],
159 },
160 },`,
161 );
162 }
163
164 // Update to use the headless sandboxed chrome
165 return updateJsonFile('angular.json', (workspaceJson) => {
166 const project = workspaceJson.projects[projectName];
167 const appTargets = project.targets || project.architect;
168 if (appTargets.test.builder === '@angular/build:unit-test') {
169 appTargets.test.options.browsers = ['ChromeHeadlessNoSandbox'];
170 } else {
171 appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox';
172 }
173 });
174}
175
176export function getNgCLIVersion(): SemVer {
177 const packages: { [name: string]: PkgInfo } = getGlobalVariable('package-tars');

Calls 3

replaceInFileFunction · 0.90
existsSyncMethod · 0.80
updateJsonFileFunction · 0.70

Tested by

no test coverage detected