/
githubmirror
/
node
ОбзорДокументацияВойти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
ДокументацияПоддержка
Политика конфиденциальностиПользовательское соглашениеПолитика использования «cookies»Согласие субъекта персональных данных
2026 ©
node/
tools/
..
actions

tools: delay removal of `commit-queue` label

2 дня назад
clang-format

tools: bump brace-expansion in /tools/clang-format

4 месяца назад
configure.d

tools: make nodedownload module compatible with Python 3.14

год назад
dep_updaters

tools: add an OpenSSL FIPS build to test-shared.yml

5 дней назад
doc

build: allow linting node.1

месяц назад
eslint-rules

lib,tools: add `node-core/func-name-matching` lint rule

месяц назад
eslint

tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/eslint

10 часов назад
gyp

tools: update gyp-next to 0.22.2

3 месяца назад
icu

build,win: enable x64 PGO

4 месяца назад
inspector_protocol

tools: fix inspector_protocol updater

10 месяцев назад
lint-md

tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/lint-md

10 часов назад
macos-installer

tools: set arch in Distribution.xml

5 лет назад
msvs

tools,win: upgrade install additional tools to Visual Studio 2026

6 месяцев назад
nix

tools: add an OpenSSL FIPS build to test-shared.yml

5 дней назад
pip

build: add lint-py which uses flake8

8 лет назад
snapshot

tools: improve error handling in node_mksnapshot

год назад
v8

deps: V8: override `depot_tools` version

5 месяцев назад
v8_gypfiles

build: fix v8_use_perfetto source scraping

8 дней назад
zos

tools: support versioned node shared libs on z/OS

4 года назад
build_addons.py

build,tools: fix addon build deadlock on errors

7 месяцев назад
certdata.txt

crypto: update root certificates to NSS 3.125

9 дней назад
checkimports.py

tools: refactor checkimports.py

3 года назад
compress_json.py

doc: consolidate use of multiple-byte units

4 года назад
copyfile.py

deps,test,src,doc,tools: update to OpenSSL 3.0

5 лет назад
cpplint.py

tools: refloat 10 Node.js patches to cpplint.py

8 месяцев назад
create_android_makefiles

build: add script to create Android .mk files

10 лет назад
create_expfile.sh

build: add weak symbol detection to export script

4 месяца назад
enable_fips_include.py

deps,test,src,doc,tools: update to OpenSSL 3.0

5 лет назад
executable_wrapper.h

tools: port js2c.py to C++

3 года назад
find-inactive-collaborators.mjs

tools: take co-authors into account in `find-inactive-collaborators`

2 года назад
find-inactive-tsc.mjs

tools,meta: update README and tools to reflect changes in TSC charter

3 года назад
gen_node_def.cc

build,tools: fix shared library cross-compile

8 дней назад
generate_config_gypi.py

build: generate_config_gypi.py generates valid JSON

6 месяцев назад
getmoduleversion.py

tools: python: ignore instead of select flake8 rules

7 лет назад
getnapibuildversion.py

node-api: rename internal NAPI_VERSION definition

3 года назад
getnodeversion.py

tools: cleanup getnodeversion.py for readability

7 лет назад
gyp_node.py

tools: remove deps/zlib/GN-scraper.py

год назад
gypi_to_gn.py

tools: fix typos

2 года назад
install.py

Revert "build, doc: generate node.1 with doc-kit"

2 месяца назад
js2c.cc

tools: dump config.gypi as json

9 месяцев назад
license-builder.sh

build,deps: replace cjs-module-lexer with merve

6 месяцев назад
license2rtf.mjs

lib: prefer logical assignment

2 года назад
lint-pr-url.mjs

tools: enforce use of trailing commas in `tools/`

4 года назад
lint-readme-lists.mjs

tools: clarify README linter error message

год назад
lint-sh.mjs

lib: prefer logical assignment

2 года назад
lsan_suppressions.txt

build: add --enable-asan with builtin leakcheck

11 лет назад
macos-firewall.sh

tools: lint osx shell scripts

4 года назад
make-v8.sh

tools: filter V8 scripts for build toolchain

3 месяца назад
merge-wpt-reports.mjs

test: refactor WPTRunner and enable parallel WPT execution

3 года назад
mk-ca-bundle.pl

tools: sync mk-ca-bundle.pl with curl

6 дней назад
mkssldef.py

tools: fix invalid escape sequence in mkssldef

2 года назад
osx-codesign.sh

tools: remove bashisms from macOS release scripts

6 лет назад
osx-entitlements.plist

tools: fix heading spaces for osx-entitlements.plist

2 года назад
osx-notarize.sh

tools: add macOS notarization verification step

3 года назад
osx-productsign.sh

tools: remove bashisms from macOS release scripts

6 лет назад
prepare_lief.py

deps: add tools and scripts to pull LIEF as a dependency

7 месяцев назад
pseudo-tty.py

tools: fix typos

2 года назад
release.sh

tools: filter release keys to reduce interactivity

2 года назад
run-valgrind.py

tools: improve valgrind support

8 лет назад
run-worker.js

src,lib: stabilize permission model

2 года назад
search_files.py

test: search cctest files

2 года назад
sign.bat

win,tools: add description to signature

10 месяцев назад
specialize_node_d.py

tools: prepare tools/specialize_node_d.py for Python 3

8 лет назад
test-npm-package.js

tools: enable no-else-return lint rule

6 лет назад
test-v8.bat

build: convert V8 test JSON to JUnit XML

4 года назад
test.py

test: move FFI tests to `NATIVE_SUITES`

3 месяца назад
utils.py

test: fix timeout of test-cpu-prof-dir-worker.js in LoongArch devices

3 года назад
v8-json-to-junit.py

build: update ruff and add `lint-py-fix`

2 года назад
valgrind.supp

tools: improve valgrind support

8 лет назад
lint-readme-lists.mjs
#!/usr/bin/env node
 
// Validates the list in the README are in the correct order, and consistent with the actual GitHub teams.
 
import assert from 'node:assert';
import { open } from 'node:fs/promises';
import { argv } from 'node:process';
 
const ghHandleLine = /^\* \[(.+)\]\(https:\/\/github\.com\/(.+)\) -$/;
const memberInfoLine = /^ {2}\*\*[^*]+\*\* <<[^@]+@.+\.[a-z]+>>( \(\w+(\/[^)/]+)+\))?( - \[Support me\]\(.+\))?$/;
 
const lists = {
'__proto__': null,
 
'TSC voting members': 'tsc',
'TSC regular members': null,
'TSC emeriti members': null,
'Collaborators': 'collaborators',
'Collaborator emeriti': null,
'Triagers': 'issue-triage',
};
const actualMembers = {
__proto__: null,
// The bot is part of `@nodejs/collaborators`, but is not listed in the README.
collaborators: new Set().add('nodejs-github-bot'),
};
const tscMembers = new Set();
 
const readme = await open(new URL('../README.md', import.meta.url), 'r');
 
let currentList = null;
let previousGithubHandleInfoRequired;
let previousGithubHandle;
let lineNumber = 0;
 
for await (const line of readme.readLines()) {
lineNumber++;
if (previousGithubHandleInfoRequired) {
if (!memberInfoLine.test(line)) {
throw new Error(`${previousGithubHandleInfoRequired} info are not formatted correctly (README.md:${lineNumber})`);
}
previousGithubHandle = previousGithubHandleInfoRequired;
previousGithubHandleInfoRequired = null;
} else if (line.startsWith('### ')) {
currentList = line.slice(4);
previousGithubHandle = null;
} else if (line.startsWith('#### ')) {
currentList = line.slice(5);
previousGithubHandle = null;
} else if (currentList in lists && line.startsWith('* [')) {
const currentGithubHandle = line.slice(3, line.indexOf(']'));
const currentGithubHandleLowerCase = currentGithubHandle.toLowerCase();
if (
previousGithubHandle &&
previousGithubHandle >= currentGithubHandleLowerCase
) {
throw new Error(
`${currentGithubHandle} should be listed before ${previousGithubHandle} in the ${currentList} list (README.md:${lineNumber})`,
);
}
 
const match = line.match(ghHandleLine);
if (!match) {
throw new Error(`${line} should match ${ghHandleLine} (README.md:${lineNumber})`);
}
assert.strictEqual(match[1], match[2], `GitHub handle does not match the URL (README.md:${lineNumber})`);
 
if (
currentList === 'TSC voting members' ||
currentList === 'TSC regular members'
) {
tscMembers.add(currentGithubHandle);
} else if (currentList === 'Collaborators') {
tscMembers.delete(currentGithubHandle);
}
if (lists[currentList]) {
(actualMembers[lists[currentList]] ??= new Set()).add(currentGithubHandle);
}
previousGithubHandleInfoRequired = currentGithubHandleLowerCase;
}
}
console.info('Lists are in the alphabetical order.');
 
assert.deepStrictEqual(tscMembers, new Set(), 'Some TSC members are not listed as Collaborators');
 
if (argv[2] && argv[2] !== '{}') {
const reviver = (_, value) =>
(typeof value === 'string' && value[0] === '[' && value.at(-1) === ']' ?
new Set(JSON.parse(value)) :
value);
assert.deepStrictEqual(JSON.parse(argv[2], reviver), { ...actualMembers });
} else {
console.warn('Skipping the check of GitHub teams membership.');
}