mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-27 10:30:58 -04:00
refactor: extract rebuild implementation into @pnpm/building.after-install (#10916)
* refactor: extract rebuild implementation into @pnpm/building.after-install Move the rebuild implementation (rebuildProjects, rebuildSelectedPkgs) from @pnpm/plugin-commands-rebuild into a new @pnpm/building.after-install package. This breaks the circular dependency chain: config/deps-installer → core → plugin-commands-rebuild → cli-utils → config/deps-installer The CLI command layer stays in plugin-commands-rebuild, while the core rebuild logic now lives in building/after-install with no dependency on cli-utils. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add README for @pnpm/building.after-install Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: rename @pnpm/builder.policy to @pnpm/building.policy Move builder/policy to building/policy, consolidating all build-related packages under the building/ domain. Update all consumers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add changeset * refactor: remove old implementation files from plugin-commands-rebuild These files were copied to @pnpm/building.after-install but not removed from the original location. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: remove unused deps from plugin-commands-rebuild Dependencies that were only needed by the implementation (now in @pnpm/building.after-install) are removed. Deps used only in tests are moved to devDependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
6
.changeset/tiny-geckos-allow.md
Normal file
6
.changeset/tiny-geckos-allow.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/building.after-install": major
|
||||
"@pnpm/building.policy": major
|
||||
---
|
||||
|
||||
Initial release.
|
||||
17
building/after-install/README.md
Normal file
17
building/after-install/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# @pnpm/building.after-install
|
||||
|
||||
> Rebuild packages that are already installed by running their lifecycle scripts
|
||||
|
||||
<!--@shields('npm')-->
|
||||
[](https://www.npmjs.com/package/@pnpm/building.after-install)
|
||||
<!--/@-->
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
pnpm add @pnpm/building.after-install
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
77
building/after-install/package.json
Normal file
77
building/after-install/package.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"name": "@pnpm/building.after-install",
|
||||
"version": "1000.0.0-0",
|
||||
"description": "Rebuild packages that are already installed by running their lifecycle scripts",
|
||||
"keywords": [
|
||||
"pnpm",
|
||||
"pnpm11",
|
||||
"rebuild"
|
||||
],
|
||||
"license": "MIT",
|
||||
"funding": "https://opencollective.com/pnpm",
|
||||
"repository": "https://github.com/pnpm/pnpm/tree/main/building/after-install",
|
||||
"homepage": "https://github.com/pnpm/pnpm/tree/main/building/after-install#readme",
|
||||
"bugs": {
|
||||
"url": "https://github.com/pnpm/pnpm/issues"
|
||||
},
|
||||
"type": "module",
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
"exports": {
|
||||
".": "./lib/index.js"
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"!*.map"
|
||||
],
|
||||
"scripts": {
|
||||
"lint": "eslint \"src/**/*.ts\"",
|
||||
"prepublishOnly": "pnpm run compile",
|
||||
"compile": "tsgo --build && pnpm run lint --fix",
|
||||
"test": "pnpm run compile"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/building.policy": "workspace:*",
|
||||
"@pnpm/calc-dep-state": "workspace:*",
|
||||
"@pnpm/config": "workspace:*",
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/core-loggers": "workspace:*",
|
||||
"@pnpm/dependency-path": "workspace:*",
|
||||
"@pnpm/deps.graph-sequencer": "workspace:*",
|
||||
"@pnpm/error": "workspace:*",
|
||||
"@pnpm/exec.pkg-requires-build": "workspace:*",
|
||||
"@pnpm/get-context": "workspace:*",
|
||||
"@pnpm/lifecycle": "workspace:*",
|
||||
"@pnpm/link-bins": "workspace:*",
|
||||
"@pnpm/lockfile.types": "workspace:*",
|
||||
"@pnpm/lockfile.utils": "workspace:*",
|
||||
"@pnpm/lockfile.walker": "workspace:*",
|
||||
"@pnpm/modules-yaml": "workspace:*",
|
||||
"@pnpm/normalize-registries": "workspace:*",
|
||||
"@pnpm/npm-package-arg": "catalog:",
|
||||
"@pnpm/read-package-json": "workspace:*",
|
||||
"@pnpm/store-connection-manager": "workspace:*",
|
||||
"@pnpm/store-controller-types": "workspace:*",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"@pnpm/store.index": "workspace:*",
|
||||
"@pnpm/types": "workspace:*",
|
||||
"load-json-file": "catalog:",
|
||||
"p-limit": "catalog:",
|
||||
"run-groups": "catalog:",
|
||||
"semver": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@pnpm/logger": "catalog:",
|
||||
"@pnpm/worker": "workspace:^"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@pnpm/building.after-install": "workspace:*",
|
||||
"@types/semver": "catalog:"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.13"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "@pnpm/jest-config"
|
||||
}
|
||||
}
|
||||
@@ -58,7 +58,7 @@ Pick<StrictRebuildOptions, 'storeDir' | 'storeController'> & Pick<Config, 'rootP
|
||||
|
||||
const defaults = async (opts: RebuildOptions): Promise<StrictRebuildOptions> => {
|
||||
const packageManager = opts.packageManager ??
|
||||
await loadJsonFile<{ name: string, version: string }>(path.join(import.meta.dirname, '../../package.json'))!
|
||||
await loadJsonFile<{ name: string, version: string }>(path.join(import.meta.dirname, '../package.json'))!
|
||||
const dir = opts.dir ?? process.cwd()
|
||||
const lockfileDir = opts.lockfileDir ?? dir
|
||||
return {
|
||||
@@ -34,7 +34,7 @@ import type {
|
||||
ProjectId,
|
||||
ProjectRootDir,
|
||||
} from '@pnpm/types'
|
||||
import { createAllowBuildFunction } from '@pnpm/builder.policy'
|
||||
import { createAllowBuildFunction } from '@pnpm/building.policy'
|
||||
import { pkgRequiresBuild } from '@pnpm/exec.pkg-requires-build'
|
||||
import * as dp from '@pnpm/dependency-path'
|
||||
import { StoreIndex } from '@pnpm/store.index'
|
||||
85
building/after-install/tsconfig.json
Normal file
85
building/after-install/tsconfig.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"extends": "@pnpm/tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "lib",
|
||||
"rootDir": "src"
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts",
|
||||
"../../__typings__/**/*.d.ts"
|
||||
],
|
||||
"references": [
|
||||
{
|
||||
"path": "../../config/config"
|
||||
},
|
||||
{
|
||||
"path": "../../config/normalize-registries"
|
||||
},
|
||||
{
|
||||
"path": "../../deps/graph-sequencer"
|
||||
},
|
||||
{
|
||||
"path": "../../exec/lifecycle"
|
||||
},
|
||||
{
|
||||
"path": "../../exec/pkg-requires-build"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/types"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/utils"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/walker"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/calc-dep-state"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/constants"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/core-loggers"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/dependency-path"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/error"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/types"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/get-context"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/link-bins"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/modules-yaml"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manifest/read-package-json"
|
||||
},
|
||||
{
|
||||
"path": "../../store/cafs"
|
||||
},
|
||||
{
|
||||
"path": "../../store/index"
|
||||
},
|
||||
{
|
||||
"path": "../../store/store-connection-manager"
|
||||
},
|
||||
{
|
||||
"path": "../../store/store-controller-types"
|
||||
},
|
||||
{
|
||||
"path": "../../worker"
|
||||
},
|
||||
{
|
||||
"path": "../policy"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pnpm/builder.policy",
|
||||
"version": "1000.0.0",
|
||||
"name": "@pnpm/building.policy",
|
||||
"version": "1000.0.0-0",
|
||||
"description": "Create a function for filtering out dependencies that are not allowed to be built",
|
||||
"keywords": [
|
||||
"pnpm",
|
||||
@@ -8,8 +8,8 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"funding": "https://opencollective.com/pnpm",
|
||||
"repository": "https://github.com/pnpm/pnpm/tree/main/builder/policy",
|
||||
"homepage": "https://github.com/pnpm/pnpm/tree/main/builder/policy#readme",
|
||||
"repository": "https://github.com/pnpm/pnpm/tree/main/building/policy",
|
||||
"homepage": "https://github.com/pnpm/pnpm/tree/main/building/policy#readme",
|
||||
"bugs": {
|
||||
"url": "https://github.com/pnpm/pnpm/issues"
|
||||
},
|
||||
@@ -35,7 +35,7 @@
|
||||
"@pnpm/types": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@pnpm/builder.policy": "workspace:*"
|
||||
"@pnpm/building.policy": "workspace:*"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22.13"
|
||||
@@ -1,4 +1,4 @@
|
||||
import { createAllowBuildFunction } from '@pnpm/builder.policy'
|
||||
import { createAllowBuildFunction } from '@pnpm/building.policy'
|
||||
|
||||
it('should allowBuilds with true value', () => {
|
||||
const allowBuild = createAllowBuildFunction({
|
||||
8
building/policy/tsconfig.lint.json
Normal file
8
building/policy/tsconfig.lint.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "./tsconfig.json",
|
||||
"include": [
|
||||
"src/**/*.ts",
|
||||
"test/**/*.ts",
|
||||
"../../__typings__/**/*.d.ts"
|
||||
]
|
||||
}
|
||||
@@ -32,59 +32,35 @@
|
||||
"compile": "tsgo --build && pnpm run lint --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/builder.policy": "workspace:*",
|
||||
"@pnpm/calc-dep-state": "workspace:*",
|
||||
"@pnpm/building.after-install": "workspace:*",
|
||||
"@pnpm/cli-utils": "workspace:*",
|
||||
"@pnpm/common-cli-options-help": "workspace:*",
|
||||
"@pnpm/config": "workspace:*",
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/core-loggers": "workspace:*",
|
||||
"@pnpm/dependency-path": "workspace:*",
|
||||
"@pnpm/deps.graph-sequencer": "workspace:*",
|
||||
"@pnpm/error": "workspace:*",
|
||||
"@pnpm/exec.pkg-requires-build": "workspace:*",
|
||||
"@pnpm/get-context": "workspace:*",
|
||||
"@pnpm/lifecycle": "workspace:*",
|
||||
"@pnpm/link-bins": "workspace:*",
|
||||
"@pnpm/lockfile.types": "workspace:*",
|
||||
"@pnpm/lockfile.utils": "workspace:*",
|
||||
"@pnpm/lockfile.walker": "workspace:*",
|
||||
"@pnpm/modules-yaml": "workspace:*",
|
||||
"@pnpm/normalize-registries": "workspace:*",
|
||||
"@pnpm/npm-package-arg": "catalog:",
|
||||
"@pnpm/read-package-json": "workspace:*",
|
||||
"@pnpm/sort-packages": "workspace:*",
|
||||
"@pnpm/store-connection-manager": "workspace:*",
|
||||
"@pnpm/store-controller-types": "workspace:*",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"@pnpm/store.index": "workspace:*",
|
||||
"@pnpm/types": "workspace:*",
|
||||
"@pnpm/workspace.find-packages": "workspace:*",
|
||||
"load-json-file": "catalog:",
|
||||
"memoize": "catalog:",
|
||||
"p-limit": "catalog:",
|
||||
"ramda": "catalog:",
|
||||
"render-help": "catalog:",
|
||||
"run-groups": "catalog:",
|
||||
"semver": "catalog:"
|
||||
"render-help": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@pnpm/logger": "catalog:",
|
||||
"@pnpm/worker": "workspace:^"
|
||||
"@pnpm/logger": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jest/globals": "catalog:",
|
||||
"@pnpm/assert-project": "workspace:*",
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/crypto.object-hasher": "workspace:*",
|
||||
"@pnpm/logger": "workspace:*",
|
||||
"@pnpm/plugin-commands-rebuild": "workspace:*",
|
||||
"@pnpm/prepare": "workspace:*",
|
||||
"@pnpm/registry-mock": "catalog:",
|
||||
"@pnpm/store.cafs": "workspace:*",
|
||||
"@pnpm/store.index": "workspace:*",
|
||||
"@pnpm/test-fixtures": "workspace:*",
|
||||
"@pnpm/test-ipc-server": "workspace:*",
|
||||
"@pnpm/workspace.filter-packages-from-dir": "workspace:*",
|
||||
"@types/ramda": "catalog:",
|
||||
"@types/semver": "catalog:",
|
||||
"execa": "catalog:",
|
||||
"write-yaml-file": "catalog:"
|
||||
},
|
||||
|
||||
@@ -3,4 +3,3 @@ import * as rebuild from './rebuild.js'
|
||||
export { type RebuildCommandOpts } from './rebuild.js'
|
||||
export { rebuild }
|
||||
|
||||
export { rebuildProjects, rebuildSelectedPkgs } from './implementation/index.js'
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
import {
|
||||
rebuildProjects,
|
||||
rebuildSelectedPkgs,
|
||||
} from '@pnpm/building.after-install'
|
||||
import { docsUrl, readProjectManifestOnly } from '@pnpm/cli-utils'
|
||||
import { FILTERING, UNIVERSAL_OPTIONS } from '@pnpm/common-cli-options-help'
|
||||
import { type Config, types as allTypes } from '@pnpm/config'
|
||||
@@ -9,10 +13,6 @@ import {
|
||||
import type { ProjectRootDir } from '@pnpm/types'
|
||||
import { pick } from 'ramda'
|
||||
import renderHelp from 'render-help'
|
||||
import {
|
||||
rebuildProjects,
|
||||
rebuildSelectedPkgs,
|
||||
} from './implementation/index.js'
|
||||
import { recursiveRebuild } from './recursive.js'
|
||||
|
||||
export function rcOptionsTypes (): Record<string, unknown> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import assert from 'assert'
|
||||
import util from 'util'
|
||||
import { rebuildProjects as rebuildAll, type RebuildOptions, rebuildSelectedPkgs } from '@pnpm/building.after-install'
|
||||
import {
|
||||
type RecursiveSummary,
|
||||
throwOnCommandFail,
|
||||
@@ -14,7 +15,6 @@ import { sortPackages } from '@pnpm/sort-packages'
|
||||
import { createStoreController, type CreateStoreControllerOptions } from '@pnpm/store-connection-manager'
|
||||
import type { Project, ProjectManifest, ProjectRootDir } from '@pnpm/types'
|
||||
import pLimit from 'p-limit'
|
||||
import { rebuildProjects as rebuildAll, type RebuildOptions, rebuildSelectedPkgs } from './implementation/index.js'
|
||||
|
||||
type RecursiveRebuildOpts = CreateStoreControllerOptions & Pick<Config,
|
||||
| 'hoistPattern'
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"path": "../../__utils__/test-ipc-server"
|
||||
},
|
||||
{
|
||||
"path": "../../builder/policy"
|
||||
"path": "../../building/after-install"
|
||||
},
|
||||
{
|
||||
"path": "../../cli/cli-utils"
|
||||
@@ -33,57 +33,18 @@
|
||||
{
|
||||
"path": "../../config/config"
|
||||
},
|
||||
{
|
||||
"path": "../../config/normalize-registries"
|
||||
},
|
||||
{
|
||||
"path": "../../crypto/object-hasher"
|
||||
},
|
||||
{
|
||||
"path": "../../deps/graph-sequencer"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/types"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/utils"
|
||||
},
|
||||
{
|
||||
"path": "../../lockfile/walker"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/calc-dep-state"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/constants"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/core-loggers"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/dependency-path"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/error"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/logger"
|
||||
},
|
||||
{
|
||||
"path": "../../packages/types"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/get-context"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/link-bins"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manager/modules-yaml"
|
||||
},
|
||||
{
|
||||
"path": "../../pkg-manifest/read-package-json"
|
||||
},
|
||||
{
|
||||
"path": "../../store/cafs"
|
||||
},
|
||||
@@ -93,26 +54,11 @@
|
||||
{
|
||||
"path": "../../store/store-connection-manager"
|
||||
},
|
||||
{
|
||||
"path": "../../store/store-controller-types"
|
||||
},
|
||||
{
|
||||
"path": "../../worker"
|
||||
},
|
||||
{
|
||||
"path": "../../workspace/filter-packages-from-dir"
|
||||
},
|
||||
{
|
||||
"path": "../../workspace/find-packages"
|
||||
},
|
||||
{
|
||||
"path": "../../workspace/sort-packages"
|
||||
},
|
||||
{
|
||||
"path": "../lifecycle"
|
||||
},
|
||||
{
|
||||
"path": "../pkg-requires-build"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/build-modules": "workspace:*",
|
||||
"@pnpm/builder.policy": "workspace:*",
|
||||
"@pnpm/building.after-install": "workspace:*",
|
||||
"@pnpm/building.policy": "workspace:*",
|
||||
"@pnpm/calc-dep-state": "workspace:*",
|
||||
"@pnpm/catalogs.protocol-parser": "workspace:*",
|
||||
"@pnpm/catalogs.resolver": "workspace:*",
|
||||
@@ -96,7 +97,6 @@
|
||||
"@pnpm/parse-wanted-dependency": "workspace:*",
|
||||
"@pnpm/patching.config": "workspace:*",
|
||||
"@pnpm/pkg-manager.direct-dep-linker": "workspace:*",
|
||||
"@pnpm/plugin-commands-rebuild": "workspace:*",
|
||||
"@pnpm/read-modules-dir": "workspace:*",
|
||||
"@pnpm/read-project-manifest": "workspace:*",
|
||||
"@pnpm/remove-bins": "workspace:*",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import path from 'path'
|
||||
import { buildModules, type DepsStateCache, linkBinsOfDependencies } from '@pnpm/build-modules'
|
||||
import { createAllowBuildFunction } from '@pnpm/builder.policy'
|
||||
import { createAllowBuildFunction } from '@pnpm/building.policy'
|
||||
import { rebuildSelectedPkgs } from '@pnpm/building.after-install'
|
||||
import { parseCatalogProtocol } from '@pnpm/catalogs.protocol-parser'
|
||||
import { resolveFromCatalog, matchCatalogResolveResult, type CatalogResultMatcher } from '@pnpm/catalogs.resolver'
|
||||
import type { Catalogs } from '@pnpm/catalogs.types'
|
||||
@@ -48,7 +49,6 @@ import { logger, globalInfo, streamParser } from '@pnpm/logger'
|
||||
import { getAllDependenciesFromManifest, getAllUniqueSpecs } from '@pnpm/manifest-utils'
|
||||
import { writeModulesManifest } from '@pnpm/modules-yaml'
|
||||
import { type PatchGroupRecord, groupPatchedDependencies } from '@pnpm/patching.config'
|
||||
import { rebuildSelectedPkgs } from '@pnpm/plugin-commands-rebuild'
|
||||
import { safeReadProjectManifestOnly } from '@pnpm/read-project-manifest'
|
||||
import {
|
||||
getWantedDependencies,
|
||||
|
||||
@@ -25,7 +25,10 @@
|
||||
"path": "../../__utils__/test-ipc-server"
|
||||
},
|
||||
{
|
||||
"path": "../../builder/policy"
|
||||
"path": "../../building/after-install"
|
||||
},
|
||||
{
|
||||
"path": "../../building/policy"
|
||||
},
|
||||
{
|
||||
"path": "../../catalogs/protocol-parser"
|
||||
@@ -60,9 +63,6 @@
|
||||
{
|
||||
"path": "../../exec/lifecycle"
|
||||
},
|
||||
{
|
||||
"path": "../../exec/plugin-commands-rebuild"
|
||||
},
|
||||
{
|
||||
"path": "../../fs/msgpack-file"
|
||||
},
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/build-modules": "workspace:*",
|
||||
"@pnpm/builder.policy": "workspace:*",
|
||||
"@pnpm/building.policy": "workspace:*",
|
||||
"@pnpm/calc-dep-state": "workspace:*",
|
||||
"@pnpm/constants": "workspace:*",
|
||||
"@pnpm/core-loggers": "workspace:*",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { promises as fs } from 'fs'
|
||||
import path from 'path'
|
||||
import { buildModules } from '@pnpm/build-modules'
|
||||
import { createAllowBuildFunction } from '@pnpm/builder.policy'
|
||||
import { createAllowBuildFunction } from '@pnpm/building.policy'
|
||||
import { calcDepState, type DepsStateCache } from '@pnpm/calc-dep-state'
|
||||
import {
|
||||
LAYOUT_VERSION,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"path": "../../__utils__/test-ipc-server"
|
||||
},
|
||||
{
|
||||
"path": "../../builder/policy"
|
||||
"path": "../../building/policy"
|
||||
},
|
||||
{
|
||||
"path": "../../config/package-is-installable"
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
"compile": "tsgo --build && pnpm run lint --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pnpm/building.after-install": "workspace:*",
|
||||
"@pnpm/catalogs.types": "workspace:*",
|
||||
"@pnpm/cli-utils": "workspace:*",
|
||||
"@pnpm/colorize-semver-diff": "catalog:",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import path from 'path'
|
||||
import { rebuildProjects } from '@pnpm/building.after-install'
|
||||
import {
|
||||
readProjectManifestOnly,
|
||||
tryReadProjectManifest,
|
||||
@@ -11,7 +12,6 @@ import { filterPkgsBySelectorObjects } from '@pnpm/filter-workspace-packages'
|
||||
import { filterDependenciesByType } from '@pnpm/manifest-utils'
|
||||
import { findWorkspacePackages } from '@pnpm/workspace.find-packages'
|
||||
import type { LockfileObject } from '@pnpm/lockfile.types'
|
||||
import { rebuildProjects } from '@pnpm/plugin-commands-rebuild'
|
||||
import { createStoreController, type CreateStoreControllerOptions } from '@pnpm/store-connection-manager'
|
||||
import type { IncludedDependencies, Project, ProjectsGraph, ProjectRootDir } from '@pnpm/types'
|
||||
import {
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
{
|
||||
"path": "../../__utils__/test-ipc-server"
|
||||
},
|
||||
{
|
||||
"path": "../../building/after-install"
|
||||
},
|
||||
{
|
||||
"path": "../../catalogs/types"
|
||||
},
|
||||
|
||||
215
pnpm-lock.yaml
generated
215
pnpm-lock.yaml
generated
@@ -1216,7 +1216,107 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: 'link:'
|
||||
|
||||
builder/policy:
|
||||
building/after-install:
|
||||
dependencies:
|
||||
'@pnpm/building.policy':
|
||||
specifier: workspace:*
|
||||
version: link:../policy
|
||||
'@pnpm/calc-dep-state':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/calc-dep-state
|
||||
'@pnpm/config':
|
||||
specifier: workspace:*
|
||||
version: link:../../config/config
|
||||
'@pnpm/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/constants
|
||||
'@pnpm/core-loggers':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-loggers
|
||||
'@pnpm/dependency-path':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/dependency-path
|
||||
'@pnpm/deps.graph-sequencer':
|
||||
specifier: workspace:*
|
||||
version: link:../../deps/graph-sequencer
|
||||
'@pnpm/error':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/error
|
||||
'@pnpm/exec.pkg-requires-build':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/pkg-requires-build
|
||||
'@pnpm/get-context':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/get-context
|
||||
'@pnpm/lifecycle':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/lifecycle
|
||||
'@pnpm/link-bins':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/link-bins
|
||||
'@pnpm/lockfile.types':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/types
|
||||
'@pnpm/lockfile.utils':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/utils
|
||||
'@pnpm/lockfile.walker':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/walker
|
||||
'@pnpm/logger':
|
||||
specifier: 'catalog:'
|
||||
version: 1001.0.1
|
||||
'@pnpm/modules-yaml':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/modules-yaml
|
||||
'@pnpm/normalize-registries':
|
||||
specifier: workspace:*
|
||||
version: link:../../config/normalize-registries
|
||||
'@pnpm/npm-package-arg':
|
||||
specifier: 'catalog:'
|
||||
version: 2.0.0
|
||||
'@pnpm/read-package-json':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manifest/read-package-json
|
||||
'@pnpm/store-connection-manager':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-connection-manager
|
||||
'@pnpm/store-controller-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-controller-types
|
||||
'@pnpm/store.cafs':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/cafs
|
||||
'@pnpm/store.index':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/index
|
||||
'@pnpm/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
'@pnpm/worker':
|
||||
specifier: workspace:^
|
||||
version: link:../../worker
|
||||
load-json-file:
|
||||
specifier: 'catalog:'
|
||||
version: 7.0.1
|
||||
p-limit:
|
||||
specifier: 'catalog:'
|
||||
version: 7.3.0
|
||||
run-groups:
|
||||
specifier: 'catalog:'
|
||||
version: 4.0.0
|
||||
semver:
|
||||
specifier: 'catalog:'
|
||||
version: 7.7.4
|
||||
devDependencies:
|
||||
'@pnpm/building.after-install':
|
||||
specifier: workspace:*
|
||||
version: 'link:'
|
||||
'@types/semver':
|
||||
specifier: 'catalog:'
|
||||
version: 7.7.1
|
||||
|
||||
building/policy:
|
||||
dependencies:
|
||||
'@pnpm/config.version-policy':
|
||||
specifier: workspace:*
|
||||
@@ -1225,7 +1325,7 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
devDependencies:
|
||||
'@pnpm/builder.policy':
|
||||
'@pnpm/building.policy':
|
||||
specifier: workspace:*
|
||||
version: 'link:'
|
||||
|
||||
@@ -2636,12 +2736,9 @@ importers:
|
||||
|
||||
exec/plugin-commands-rebuild:
|
||||
dependencies:
|
||||
'@pnpm/builder.policy':
|
||||
'@pnpm/building.after-install':
|
||||
specifier: workspace:*
|
||||
version: link:../../builder/policy
|
||||
'@pnpm/calc-dep-state':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/calc-dep-state
|
||||
version: link:../../building/after-install
|
||||
'@pnpm/cli-utils':
|
||||
specifier: workspace:*
|
||||
version: link:../../cli/cli-utils
|
||||
@@ -2651,84 +2748,15 @@ importers:
|
||||
'@pnpm/config':
|
||||
specifier: workspace:*
|
||||
version: link:../../config/config
|
||||
'@pnpm/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/constants
|
||||
'@pnpm/core-loggers':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/core-loggers
|
||||
'@pnpm/dependency-path':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/dependency-path
|
||||
'@pnpm/deps.graph-sequencer':
|
||||
specifier: workspace:*
|
||||
version: link:../../deps/graph-sequencer
|
||||
'@pnpm/error':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/error
|
||||
'@pnpm/exec.pkg-requires-build':
|
||||
specifier: workspace:*
|
||||
version: link:../pkg-requires-build
|
||||
'@pnpm/get-context':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/get-context
|
||||
'@pnpm/lifecycle':
|
||||
specifier: workspace:*
|
||||
version: link:../lifecycle
|
||||
'@pnpm/link-bins':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/link-bins
|
||||
'@pnpm/lockfile.types':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/types
|
||||
'@pnpm/lockfile.utils':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/utils
|
||||
'@pnpm/lockfile.walker':
|
||||
specifier: workspace:*
|
||||
version: link:../../lockfile/walker
|
||||
'@pnpm/modules-yaml':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manager/modules-yaml
|
||||
'@pnpm/normalize-registries':
|
||||
specifier: workspace:*
|
||||
version: link:../../config/normalize-registries
|
||||
'@pnpm/npm-package-arg':
|
||||
specifier: 'catalog:'
|
||||
version: 2.0.0
|
||||
'@pnpm/read-package-json':
|
||||
specifier: workspace:*
|
||||
version: link:../../pkg-manifest/read-package-json
|
||||
'@pnpm/sort-packages':
|
||||
specifier: workspace:*
|
||||
version: link:../../workspace/sort-packages
|
||||
'@pnpm/store-connection-manager':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-connection-manager
|
||||
'@pnpm/store-controller-types':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/store-controller-types
|
||||
'@pnpm/store.cafs':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/cafs
|
||||
'@pnpm/store.index':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/index
|
||||
'@pnpm/types':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/types
|
||||
'@pnpm/worker':
|
||||
specifier: workspace:^
|
||||
version: link:../../worker
|
||||
'@pnpm/workspace.find-packages':
|
||||
specifier: workspace:*
|
||||
version: link:../../workspace/find-packages
|
||||
load-json-file:
|
||||
specifier: 'catalog:'
|
||||
version: 7.0.1
|
||||
memoize:
|
||||
specifier: 'catalog:'
|
||||
version: 10.2.0
|
||||
p-limit:
|
||||
specifier: 'catalog:'
|
||||
version: 7.3.0
|
||||
@@ -2738,12 +2766,6 @@ importers:
|
||||
render-help:
|
||||
specifier: 'catalog:'
|
||||
version: 1.0.3
|
||||
run-groups:
|
||||
specifier: 'catalog:'
|
||||
version: 4.0.0
|
||||
semver:
|
||||
specifier: 'catalog:'
|
||||
version: 7.7.4
|
||||
devDependencies:
|
||||
'@jest/globals':
|
||||
specifier: 'catalog:'
|
||||
@@ -2751,6 +2773,9 @@ importers:
|
||||
'@pnpm/assert-project':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/assert-project
|
||||
'@pnpm/constants':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/constants
|
||||
'@pnpm/crypto.object-hasher':
|
||||
specifier: workspace:*
|
||||
version: link:../../crypto/object-hasher
|
||||
@@ -2766,6 +2791,12 @@ importers:
|
||||
'@pnpm/registry-mock':
|
||||
specifier: 'catalog:'
|
||||
version: 5.2.2(verdaccio@6.2.7(encoding@0.1.13)(typanion@3.14.0))
|
||||
'@pnpm/store.cafs':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/cafs
|
||||
'@pnpm/store.index':
|
||||
specifier: workspace:*
|
||||
version: link:../../store/index
|
||||
'@pnpm/test-fixtures':
|
||||
specifier: workspace:*
|
||||
version: link:../../__utils__/test-fixtures
|
||||
@@ -2778,9 +2809,6 @@ importers:
|
||||
'@types/ramda':
|
||||
specifier: 'catalog:'
|
||||
version: 0.29.12
|
||||
'@types/semver':
|
||||
specifier: 'catalog:'
|
||||
version: 7.7.1
|
||||
execa:
|
||||
specifier: 'catalog:'
|
||||
version: safe-execa@0.2.0
|
||||
@@ -4983,9 +5011,12 @@ importers:
|
||||
'@pnpm/build-modules':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/build-modules
|
||||
'@pnpm/builder.policy':
|
||||
'@pnpm/building.after-install':
|
||||
specifier: workspace:*
|
||||
version: link:../../builder/policy
|
||||
version: link:../../building/after-install
|
||||
'@pnpm/building.policy':
|
||||
specifier: workspace:*
|
||||
version: link:../../building/policy
|
||||
'@pnpm/calc-dep-state':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/calc-dep-state
|
||||
@@ -5100,9 +5131,6 @@ importers:
|
||||
'@pnpm/pkg-manager.direct-dep-linker':
|
||||
specifier: workspace:*
|
||||
version: link:../direct-dep-linker
|
||||
'@pnpm/plugin-commands-rebuild':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/plugin-commands-rebuild
|
||||
'@pnpm/read-modules-dir':
|
||||
specifier: workspace:*
|
||||
version: link:../../fs/read-modules-dir
|
||||
@@ -5355,9 +5383,9 @@ importers:
|
||||
'@pnpm/build-modules':
|
||||
specifier: workspace:*
|
||||
version: link:../../exec/build-modules
|
||||
'@pnpm/builder.policy':
|
||||
'@pnpm/building.policy':
|
||||
specifier: workspace:*
|
||||
version: link:../../builder/policy
|
||||
version: link:../../building/policy
|
||||
'@pnpm/calc-dep-state':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/calc-dep-state
|
||||
@@ -5875,6 +5903,9 @@ importers:
|
||||
|
||||
pkg-manager/plugin-commands-installation:
|
||||
dependencies:
|
||||
'@pnpm/building.after-install':
|
||||
specifier: workspace:*
|
||||
version: link:../../building/after-install
|
||||
'@pnpm/catalogs.types':
|
||||
specifier: workspace:*
|
||||
version: link:../../catalogs/types
|
||||
|
||||
@@ -4,7 +4,7 @@ packages:
|
||||
- __typings__
|
||||
- __utils__/*
|
||||
- '!__utils__/build-artifacts'
|
||||
- builder/*
|
||||
- building/*
|
||||
- cache/*
|
||||
- catalogs/*
|
||||
- cli/*
|
||||
|
||||
Reference in New Issue
Block a user