style(dev-infra): enforce format on newly included files (#36940)
Historically files to be formatted were added to a listing (via matchers) to be included in formatting. Instead, this change begins efforts to instead include all files in format enforcement, relying instead on an opt out methodology. PR Close #36940
This commit is contained in:
parent
34e4098e85
commit
d3b5e5696f
|
@ -60,14 +60,15 @@ if (require.resolve === module) {
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
function _main(args) {
|
function _main(args) {
|
||||||
triggerWebhook(...args).
|
triggerWebhook(...args)
|
||||||
then(({statusCode, responseText}) => (200 <= statusCode && statusCode < 400) ?
|
.then(
|
||||||
console.log(`Status: ${statusCode}\n${responseText}`) :
|
({statusCode, responseText}) => (200 <= statusCode && statusCode < 400) ?
|
||||||
Promise.reject(new Error(`Request failed (status: ${statusCode}): ${responseText}`))).
|
console.log(`Status: ${statusCode}\n${responseText}`) :
|
||||||
catch(err => {
|
Promise.reject(new Error(`Request failed (status: ${statusCode}): ${responseText}`)))
|
||||||
console.error(err);
|
.catch(err => {
|
||||||
process.exit(1);
|
console.error(err);
|
||||||
});
|
process.exit(1);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function postJson(url, data) {
|
function postJson(url, data) {
|
||||||
|
@ -77,15 +78,12 @@ function postJson(url, data) {
|
||||||
const statusCode = res.statusCode || -1;
|
const statusCode = res.statusCode || -1;
|
||||||
let responseText = '';
|
let responseText = '';
|
||||||
|
|
||||||
res.
|
res.on('error', reject)
|
||||||
on('error', reject).
|
.on('data', d => responseText += d)
|
||||||
on('data', d => responseText += d).
|
.on('end', () => resolve({statusCode, responseText}));
|
||||||
on('end', () => resolve({statusCode, responseText}));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
request(url, opts, onResponse).
|
request(url, opts, onResponse).on('error', reject).end(JSON.stringify(data));
|
||||||
on('error', reject).
|
|
||||||
end(JSON.stringify(data));
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,18 +24,11 @@ var hosts = [];
|
||||||
|
|
||||||
PORTS.forEach(function(port) {
|
PORTS.forEach(function(port) {
|
||||||
fakeServers.push(http.createServer(function() {}).listen(port));
|
fakeServers.push(http.createServer(function() {}).listen(port));
|
||||||
hosts.push({
|
hosts.push({name: HOSTNAME, port: port, sslFlag: 0});
|
||||||
name: HOSTNAME,
|
|
||||||
port: port,
|
|
||||||
sslFlag: 0
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var tunnel = new BrowserStackTunnel({
|
var tunnel =
|
||||||
key: ACCESS_KEY,
|
new BrowserStackTunnel({key: ACCESS_KEY, localIdentifier: TUNNEL_IDENTIFIER, hosts: hosts});
|
||||||
localIdentifier: TUNNEL_IDENTIFIER,
|
|
||||||
hosts: hosts
|
|
||||||
});
|
|
||||||
|
|
||||||
console.info('Starting tunnel on ports', PORTS.join(', '));
|
console.info('Starting tunnel on ports', PORTS.join(', '));
|
||||||
tunnel.start(function(error) {
|
tunnel.start(function(error) {
|
||||||
|
|
|
@ -33,6 +33,4 @@ function buildDevInfraPackage() {
|
||||||
console.info('');
|
console.info('');
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {buildDevInfraPackage};
|
||||||
buildDevInfraPackage
|
|
||||||
};
|
|
||||||
|
|
|
@ -47,7 +47,12 @@ const bazelBin = exec(`${bazelCmd} info bazel-bin`, true);
|
||||||
const scriptPath = relative(baseDir, require.main.filename);
|
const scriptPath = relative(baseDir, require.main.filename);
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
baseDir, bazelBin, bazelCmd, buildTargetPackages, exec, scriptPath,
|
baseDir,
|
||||||
|
bazelBin,
|
||||||
|
bazelCmd,
|
||||||
|
buildTargetPackages,
|
||||||
|
exec,
|
||||||
|
scriptPath,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,12 +73,13 @@ function buildTargetPackages(destPath, enableIvy, description) {
|
||||||
// List of targets to build, e.g. core, common, compiler, etc. Note that we want to also remove
|
// List of targets to build, e.g. core, common, compiler, etc. Note that we want to also remove
|
||||||
// all carriage return (`\r`) characters form the query output, because otherwise the carriage
|
// all carriage return (`\r`) characters form the query output, because otherwise the carriage
|
||||||
// return is part of the bazel target name and bazel will complain.
|
// return is part of the bazel target name and bazel will complain.
|
||||||
const getTargetsCmd =
|
const getTargetsCmd = `${
|
||||||
`${bazelCmd} query --output=label "attr('tags', '\\[.*release-with-framework.*\\]', //packages/...) intersect kind('ng_package|pkg_npm', //packages/...)"`;
|
bazelCmd} query --output=label "attr('tags', '\\[.*release-with-framework.*\\]', //packages/...) intersect kind('ng_package|pkg_npm', //packages/...)"`;
|
||||||
const targets = exec(getTargetsCmd, true).split(/\r?\n/);
|
const targets = exec(getTargetsCmd, true).split(/\r?\n/);
|
||||||
|
|
||||||
// Use `--config=release` so that snapshot builds get published with embedded version info.
|
// Use `--config=release` so that snapshot builds get published with embedded version info.
|
||||||
exec(`${bazelCmd} build --config=release --config=${enableIvy ? 'ivy' : 'view-engine'} ${targets.join(' ')}`);
|
exec(`${bazelCmd} build --config=release --config=${enableIvy ? 'ivy' : 'view-engine'} ${
|
||||||
|
targets.join(' ')}`);
|
||||||
|
|
||||||
// Create the output directory.
|
// Create the output directory.
|
||||||
const absDestPath = resolve(baseDir, destPath);
|
const absDestPath = resolve(baseDir, destPath);
|
||||||
|
|
|
@ -50,11 +50,14 @@ for (const compressionType in limitSizes) {
|
||||||
const operator = actualSize > expectedSize ? 'exceeded' : 'fell below';
|
const operator = actualSize > expectedSize ? 'exceeded' : 'fell below';
|
||||||
|
|
||||||
failureMessages.push(
|
failureMessages.push(
|
||||||
`FAIL: Commit ${commit} ${compressionType} ${filename} ${operator} expected size by 500 bytes or >1% ` +
|
`FAIL: Commit ${commit} ${compressionType} ${filename} ${
|
||||||
`(expected: ${expectedSize}, actual: ${actualSize}).`);
|
operator} expected size by 500 bytes or >1% ` +
|
||||||
|
`(expected: ${expectedSize}, actual: ${actualSize}).`);
|
||||||
} else {
|
} else {
|
||||||
successMessages.push(`SUCCESS: Commit ${commit} ${compressionType} ${filename} did NOT cross size threshold of 500 bytes or >1% ` +
|
successMessages.push(
|
||||||
`(expected: ${expectedSize}, actual: ${actualSize}).`);
|
`SUCCESS: Commit ${commit} ${compressionType} ${
|
||||||
|
filename} did NOT cross size threshold of 500 bytes or >1% ` +
|
||||||
|
`(expected: ${expectedSize}, actual: ${actualSize}).`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +68,8 @@ for (const compressionType in limitSizes) {
|
||||||
successMessages.concat(failureMessages).forEach(message => console.error(message));
|
successMessages.concat(failureMessages).forEach(message => console.error(message));
|
||||||
|
|
||||||
if (failed) {
|
if (failed) {
|
||||||
console.info(`If this is a desired change, please update the size limits in file '${limitFile}'.`);
|
console.info(
|
||||||
|
`If this is a desired change, please update the size limits in file '${limitFile}'.`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
} else {
|
} else {
|
||||||
console.info(`Payload size check passed. All diffs are less than 1% or 500 bytes.`);
|
console.info(`Payload size check passed. All diffs are less than 1% or 500 bytes.`);
|
||||||
|
|
|
@ -28,7 +28,7 @@ if (require.main === module) {
|
||||||
|
|
||||||
function rewriteMsg(msg, prNo) {
|
function rewriteMsg(msg, prNo) {
|
||||||
var lines = msg.split(/\n/);
|
var lines = msg.split(/\n/);
|
||||||
lines[0] += ' (#' + prNo +')';
|
lines[0] += ' (#' + prNo + ')';
|
||||||
lines.push('PR Close #' + prNo);
|
lines.push('PR Close #' + prNo);
|
||||||
return lines.join('\n');
|
return lines.join('\n');
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,14 +34,14 @@ function extractPaths(obj, paths) {
|
||||||
paths.forEach(function(exp) {
|
paths.forEach(function(exp) {
|
||||||
var objs = obj instanceof Array ? [].concat(obj) : [obj];
|
var objs = obj instanceof Array ? [].concat(obj) : [obj];
|
||||||
exp.split('.').forEach(function(name) {
|
exp.split('.').forEach(function(name) {
|
||||||
for(var i = 0; i < objs.length; i++) {
|
for (var i = 0; i < objs.length; i++) {
|
||||||
var o = objs[i];
|
var o = objs[i];
|
||||||
if (o instanceof Array) {
|
if (o instanceof Array) {
|
||||||
// Expand and do over
|
// Expand and do over
|
||||||
objs = objs.slice(0, i).concat(o).concat(objs.slice(i+1, objs.length));
|
objs = objs.slice(0, i).concat(o).concat(objs.slice(i + 1, objs.length));
|
||||||
i--;
|
i--;
|
||||||
} else {
|
} else {
|
||||||
name.split("=").forEach(function(name, index) {
|
name.split('=').forEach(function(name, index) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
objs[i] = o = o[name];
|
objs[i] = o = o[name];
|
||||||
} else if (name.charAt(0) == '^') {
|
} else if (name.charAt(0) == '^') {
|
||||||
|
@ -54,7 +54,7 @@ function extractPaths(obj, paths) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
lines.push(objs.join("|"));
|
lines.push(objs.join('|'));
|
||||||
});
|
});
|
||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,40 +8,42 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var assert = require("assert");
|
var assert = require('assert');
|
||||||
var extractPaths = require('./json_extract').extractPaths;
|
var extractPaths = require('./json_extract').extractPaths;
|
||||||
|
|
||||||
var SAMPLE_LABELS = [
|
var SAMPLE_LABELS = [
|
||||||
{
|
{
|
||||||
"id": 149476251,
|
'id': 149476251,
|
||||||
"url": "https://api.github.com/repos/angular/angular/labels/cla:%20yes",
|
'url': 'https://api.github.com/repos/angular/angular/labels/cla:%20yes',
|
||||||
"name": "cla: yes",
|
'name': 'cla: yes',
|
||||||
"color": "009800",
|
'color': '009800',
|
||||||
"default": false
|
'default': false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 533874619,
|
'id': 533874619,
|
||||||
"url": "https://api.github.com/repos/angular/angular/labels/comp:%20aio",
|
'url': 'https://api.github.com/repos/angular/angular/labels/comp:%20aio',
|
||||||
"name": "comp: aio",
|
'name': 'comp: aio',
|
||||||
"color": "c7def8",
|
'color': 'c7def8',
|
||||||
"default": false
|
'default': false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 133556520,
|
'id': 133556520,
|
||||||
"url": "https://api.github.com/repos/angular/angular/labels/PR%20action:%20merge",
|
'url': 'https://api.github.com/repos/angular/angular/labels/PR%20action:%20merge',
|
||||||
"name": "PR action: merge",
|
'name': 'PR action: merge',
|
||||||
"color": "99ff66",
|
'color': '99ff66',
|
||||||
"default": false
|
'default': false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 655699838,
|
'id': 655699838,
|
||||||
"url": "https://api.github.com/repos/angular/angular/labels/PR%20target:%20master%20&%20patch",
|
'url': 'https://api.github.com/repos/angular/angular/labels/PR%20target:%20master%20&%20patch',
|
||||||
"name": "PR target: master & patch",
|
'name': 'PR target: master & patch',
|
||||||
"color": "5319e7",
|
'color': '5319e7',
|
||||||
"default": false
|
'default': false
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
assert.deepEqual(extractPaths({head: {label: 'value1'}}, ['head.label']), ['value1']);
|
assert.deepEqual(extractPaths({head: {label: 'value1'}}, ['head.label']), ['value1']);
|
||||||
assert.deepEqual(extractPaths(SAMPLE_LABELS, ['name']), ['cla: yes|comp: aio|PR action: merge|PR target: master & patch']);
|
assert.deepEqual(
|
||||||
|
extractPaths(SAMPLE_LABELS, ['name']),
|
||||||
|
['cla: yes|comp: aio|PR action: merge|PR target: master & patch']);
|
||||||
assert.deepEqual(extractPaths(SAMPLE_LABELS, ['name=^PR target:']), ['PR target: master & patch']);
|
assert.deepEqual(extractPaths(SAMPLE_LABELS, ['name=^PR target:']), ['PR target: master & patch']);
|
||||||
|
|
|
@ -13,17 +13,17 @@
|
||||||
// "chromium_revision": "722234" but this does not map easily to the Chrome version
|
// "chromium_revision": "722234" but this does not map easily to the Chrome version
|
||||||
// so we use this mapping here instead.
|
// so we use this mapping here instead.
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"3.3.0": "83.0.4103.0",
|
'3.3.0': '83.0.4103.0',
|
||||||
"3.2.0": "83.0.4103.0",
|
'3.2.0': '83.0.4103.0',
|
||||||
"3.1.0": "83.0.4103.0",
|
'3.1.0': '83.0.4103.0',
|
||||||
"3.0.0": "81.0.4044.0",
|
'3.0.0': '81.0.4044.0',
|
||||||
"2.1.1": "80.0.3987.0",
|
'2.1.1': '80.0.3987.0',
|
||||||
"2.1.0": "80.0.3987.0",
|
'2.1.0': '80.0.3987.0',
|
||||||
"2.0.0": "79.0.3942.0",
|
'2.0.0': '79.0.3942.0',
|
||||||
"1.20.0": "78.0.3882.0",
|
'1.20.0': '78.0.3882.0',
|
||||||
"1.19.0": "77.0.3803.0",
|
'1.19.0': '77.0.3803.0',
|
||||||
"1.17.0": "76.0.3803.0",
|
'1.17.0': '76.0.3803.0',
|
||||||
"1.15.0": "75.0.3765.0",
|
'1.15.0': '75.0.3765.0',
|
||||||
"1.13.0": "74.0.3723.0",
|
'1.13.0': '74.0.3723.0',
|
||||||
"1.12.2": "73.0.3679.0",
|
'1.12.2': '73.0.3679.0',
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,8 @@ const spawnSync = require('child_process').spawnSync;
|
||||||
|
|
||||||
const version = chromeVersionMap[puppeteerVersion];
|
const version = chromeVersionMap[puppeteerVersion];
|
||||||
if (!version) {
|
if (!version) {
|
||||||
console.error(`[webdriver-manager-update.js] Error: Could not find Chrome version for Puppeteer version '${puppeteerVersion}' in Chrome/Puppeteer version map. Please update /scripts/puppeteer-chrome-versions.js.`);
|
console.error(`[webdriver-manager-update.js] Error: Could not find Chrome version for Puppeteer version '${
|
||||||
|
puppeteerVersion}' in Chrome/Puppeteer version map. Please update /scripts/puppeteer-chrome-versions.js.`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,10 +34,12 @@ const args = [
|
||||||
|
|
||||||
const result = spawnSync('yarn', args, {shell: true, stdio: 'inherit'});
|
const result = spawnSync('yarn', args, {shell: true, stdio: 'inherit'});
|
||||||
if (result.error) {
|
if (result.error) {
|
||||||
console.error(`[webdriver-manager-update.js] Call to 'yarn ${args.join(' ')}' failed with error code ${result.error.code}`);
|
console.error(`[webdriver-manager-update.js] Call to 'yarn ${
|
||||||
|
args.join(' ')}' failed with error code ${result.error.code}`);
|
||||||
process.exit(result.status);
|
process.exit(result.status);
|
||||||
}
|
}
|
||||||
if (result.status) {
|
if (result.status) {
|
||||||
console.error(`[webdriver-manager-update.js] Call to 'yarn ${args.join(' ')}' failed with error code ${result.status}`);
|
console.error(`[webdriver-manager-update.js] Call to 'yarn ${
|
||||||
|
args.join(' ')}' failed with error code ${result.status}`);
|
||||||
process.exit(result.status);
|
process.exit(result.status);
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,13 +91,13 @@ module.exports = (gulp, done) => {
|
||||||
`${RELATIVE_I18N_GLOBAL_FOLDER}/${locale}.js`,
|
`${RELATIVE_I18N_GLOBAL_FOLDER}/${locale}.js`,
|
||||||
generateGlobalLocale(
|
generateGlobalLocale(
|
||||||
locale, locale === 'en' ? new cldrJs('en') : localeData, baseCurrencies));
|
locale, locale === 'en' ? new cldrJs('en') : localeData, baseCurrencies));
|
||||||
|
|
||||||
});
|
});
|
||||||
console.log(`${LOCALES.length} locale files generated.`);
|
console.log(`${LOCALES.length} locale files generated.`);
|
||||||
|
|
||||||
console.log(`All i18n cldr files have been generated, formatting files..."`);
|
console.log(`All i18n cldr files have been generated, formatting files..."`);
|
||||||
shelljs.exec(
|
shelljs.exec(
|
||||||
`yarn clang-format -i ${I18N_DATA_FOLDER}/**/*.ts ${I18N_DATA_FOLDER}/*.ts ${I18N_FOLDER}/currencies.ts ${I18N_CORE_FOLDER}/locale_en.ts ${I18N_GLOBAL_FOLDER}/*.js`,
|
`yarn clang-format -i ${I18N_DATA_FOLDER}/**/*.ts ${I18N_DATA_FOLDER}/*.ts ${
|
||||||
|
I18N_FOLDER}/currencies.ts ${I18N_CORE_FOLDER}/locale_en.ts ${I18N_GLOBAL_FOLDER}/*.js`,
|
||||||
{silent: true});
|
{silent: true});
|
||||||
done();
|
done();
|
||||||
};
|
};
|
||||||
|
@ -278,7 +278,8 @@ function generateCurrenciesFile() {
|
||||||
export type CurrenciesSymbols = [string] | [string | undefined, string];
|
export type CurrenciesSymbols = [string] | [string | undefined, string];
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export const CURRENCIES_EN: {[code: string]: CurrenciesSymbols | [string | undefined, string | undefined, number]} = ${stringify(baseCurrencies, true)};
|
export const CURRENCIES_EN: {[code: string]: CurrenciesSymbols | [string | undefined, string | undefined, number]} = ${
|
||||||
|
stringify(baseCurrencies, true)};
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue