源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
Dependency audit / audit (push) Canceled after 0s
CI / plan (push) Canceled after 0s
Gitoxide helper admission / macos-latest (push) Canceled after 0s
Gitoxide helper admission / ubuntu-latest (push) Canceled after 0s
Gitoxide helper admission / windows-latest (push) Canceled after 0s
Runtime Host peer admission / quality (push) Canceled after 0s
Windows recovery / windows_recovery (push) Canceled after 0s
CI / heavy (push) Canceled after 0s
CI / test (push) Canceled after 0s
Dependency audit / audit (push) Canceled after 0s
CI / plan (push) Canceled after 0s
Gitoxide helper admission / macos-latest (push) Canceled after 0s
Gitoxide helper admission / ubuntu-latest (push) Canceled after 0s
Gitoxide helper admission / windows-latest (push) Canceled after 0s
Runtime Host peer admission / quality (push) Canceled after 0s
Windows recovery / windows_recovery (push) Canceled after 0s
CI / heavy (push) Canceled after 0s
CI / test (push) Canceled after 0s
This commit is contained in:
commit
7be535059e
3358 files changed
+1306357
No files matched your search
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env node
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
// Applies patches/ during the root postinstall.
|
||||
//
|
||||
// patch-package is a root devDependency, so `npm ci --workspace <name>` and
|
||||
// `npm ci --omit=dev` install a tree without it while still running the root
|
||||
// postinstall. Failing there would break install modes that work on main, so a
|
||||
// missing patch-package is reported and skipped; a patch that exists but no
|
||||
// longer applies still fails the install via --error-on-fail.
|
||||
//
|
||||
// Skipping is safe because those trees are not what ships: every release and CI
|
||||
// lane runs a plain root `npm ci`, and an unpatched tree turns
|
||||
// packages/runtime/src/__tests__/model-factory-tool-call-index.test.ts red.
|
||||
import { spawnSync } from 'node:child_process';
|
||||
import { existsSync, readdirSync } from 'node:fs';
|
||||
import { createRequire } from 'node:module';
|
||||
import { dirname, join } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const repoRoot = dirname(dirname(fileURLToPath(import.meta.url)));
|
||||
const patchesDirectory = join(repoRoot, 'patches');
|
||||
|
||||
if (
|
||||
!existsSync(patchesDirectory) ||
|
||||
!readdirSync(patchesDirectory).some((entry) => entry.endsWith('.patch'))
|
||||
) {
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
let patchPackageEntry;
|
||||
try {
|
||||
patchPackageEntry = createRequire(import.meta.url).resolve('patch-package/index.js');
|
||||
} catch {
|
||||
console.warn(
|
||||
'patch-package is not installed; skipping patches/. Run a plain `npm ci` from the repo root before building or packaging.',
|
||||
);
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const result = spawnSync(process.execPath, [patchPackageEntry, '--error-on-fail'], {
|
||||
cwd: repoRoot,
|
||||
stdio: 'inherit',
|
||||
});
|
||||
process.exit(result.status ?? 1);
|
||||
Reference in new issue
Block a user