Files
pnpm/workspace/state/src/createWorkspaceState.ts
Zoltan Kochan 1c8c4e49f5 style: add eslint-plugin-simple-import-sort (#10947)
Add eslint-plugin-simple-import-sort to enforce consistent import ordering:
- Node.js builtins first
- External packages second
- Relative imports last
- Named imports sorted alphabetically within each statement
2026-03-13 02:02:38 +01:00

28 lines
913 B
TypeScript

import type { ConfigDependencies } from '@pnpm/types'
import { pick } from 'ramda'
import { type ProjectsList, WORKSPACE_STATE_SETTING_KEYS, type WorkspaceState, type WorkspaceStateSettings } from './types.js'
export interface CreateWorkspaceStateOptions {
allProjects: ProjectsList
pnpmfiles: string[]
filteredInstall: boolean
settings: WorkspaceStateSettings
configDependencies?: ConfigDependencies
}
export const createWorkspaceState = (opts: CreateWorkspaceStateOptions): WorkspaceState => ({
lastValidatedTimestamp: Date.now(),
projects: Object.fromEntries(opts.allProjects.map(project => [
project.rootDir,
{
name: project.manifest.name,
version: project.manifest.version,
},
])),
pnpmfiles: opts.pnpmfiles,
settings: pick(WORKSPACE_STATE_SETTING_KEYS, opts.settings),
filteredInstall: opts.filteredInstall,
configDependencies: opts.configDependencies,
})