chore: remove sortrequires task (#7074)

This commit is contained in:
Rachel Fenichel
2023-05-11 11:35:45 -07:00
committed by GitHub
parent 9442b73d99
commit 8b635ab43a
5 changed files with 747 additions and 185 deletions

View File

@@ -18,7 +18,6 @@ const gitTasks = require('./scripts/gulpfiles/git_tasks');
const licenseTasks = require('./scripts/gulpfiles/license_tasks');
const appengineTasks = require('./scripts/gulpfiles/appengine_tasks');
const releaseTasks = require('./scripts/gulpfiles/release_tasks');
const cleanupTasks = require('./scripts/gulpfiles/cleanup_tasks');
const docsTasks = require('./scripts/gulpfiles/docs_tasks');
const testTasks = require('./scripts/gulpfiles/test_tasks');
@@ -42,7 +41,6 @@ module.exports = {
// Manually-invokable targets, with prerequisites where required.
messages: buildTasks.messages, // Generate msg/json/en.json et al.
sortRequires: cleanupTasks.sortRequires,
checkLicenses: licenseTasks.checkLicenses,
clean: gulp.parallel(buildTasks.cleanBuildDir, packageTasks.cleanReleaseDir),
test: testTasks.test,

840
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -35,7 +35,6 @@
"docs": "gulp docs",
"format": "prettier --write .",
"format:check": "prettier --check .",
"format:sortrequires": "gulp sortRequires",
"generate:langfiles": "exit 1 # Deprecated; use \"npm run messages\" instead.",
"messages": "gulp messages",
"license": "gulp checkLicenses",
@@ -108,7 +107,6 @@
"readline-sync": "^1.4.10",
"rimraf": "^5.0.0",
"selenium-standalone": "^8.0.3",
"through2": "^4.0.2",
"typescript": "^5.0.2",
"webdriverio": "^8.0.5",
"yargs": "^17.2.1"

View File

@@ -16,10 +16,8 @@ gulp.sourcemaps = require('gulp-sourcemaps');
const path = require('path');
const fs = require('fs');
const {exec, execSync} = require('child_process');
const through2 = require('through2');
const closureCompiler = require('google-closure-compiler').gulp();
const closureDeps = require('google-closure-deps');
const argv = require('yargs').argv;
const {rimraf} = require('rimraf');

View File

@@ -1,86 +0,0 @@
/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview Gulp tasks to complete various clean up tasks.
*/
const gulp = require('gulp');
const path = require('path');
const through2 = require('through2');
/**
* Sorts goog.requires in core, blocks and generators.
*/
function sortRequires() {
const srcs = ['core/**/**/*.js', 'blocks/*.js', 'generators/**/*.js'];
const excludes = ['core/requires.js'];
return gulp.src(srcs, {base: './'})
.pipe(through2.obj((file, _enc, next) => {
if (file.isNull() || file.isDirectory()) {
next(null, file);
return;
}
if (file.extname !== '.js' && path.extname(file.history[0]) !== '.js') {
next(null, file);
return;
}
const relPath = path.relative(path.join(file.cwd, file.base), file.path);
if (excludes.indexOf(relPath) > -1) {
next(null, file);
return;
}
const contents = file.contents.toString();
// Capture requires.
const re = /goog\.(require|requireType)\('(.*)'\);/gm;
const requiresList = [];
const requireTypesList = [];
let firstIndex;
let lastIndex;
while ((match = re.exec(contents)) !== null) {
if (match[1] === 'require') requiresList.push(match[2]);
if (match[1] === 'requireType') requireTypesList.push(match[2]);
if (firstIndex === undefined) {
firstIndex = match.index;
} else {
lastIndex = re.lastIndex;
}
}
// Sort requires.
requiresList.sort(
(a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
requireTypesList.sort(
(a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
// Replace in file.
const requiresSection = requiresList.length ?
requiresList.map(r => `goog.require('${r}');`).join('\n') + '\n\n' :
'';
const requireTypesSection = requireTypesList.length ?
requireTypesList.map(r => `goog.requireType('${r}');`).join('\n') +
'\n\n' :
'';
const requires = `${requiresSection}${requireTypesSection}\n`;
if (firstIndex !== undefined & lastIndex !== undefined) {
file.contents = Buffer.from(
contents.substring(0, firstIndex) + requires +
contents.substring(lastIndex).trimStart());
}
next(null, file);
}))
.pipe(gulp.dest('./'));
};
module.exports = {
// Manually-invokable targets, with prerequisites where required.
sortRequires: sortRequires
};