vlt / docs

  • PricingBenchmarks (opens in new window)Community (opens in new window)Feedback
  • Overview
    • Overview
    • Reference
  • Usage
  • Examples
  • Querying against an ideal/virtual graph
  • Querying against a local node_modules folder
  • Querying against a lockfile
  1. Client
  2. /
  3. API Reference
  4. /
  5. @vltpkg/query

@vltpkg/query

query

@vltpkg/query

The vlt query syntax engine.

Usage · Examples

Usage

JavaScript
import { Query } from '@vltpkg/query'

const query = new Query({ nodes, specOptions, securityArchive })
const res = await query.search(':root > *')

Examples

Querying against an ideal/virtual graph

JavaScript
import { ideal } from '@vltpkg/graph'
import { Query } from '@vltpkg/query'
import { PackageJson } from '@vltpkg/package-json'
const signal = new AbortController().signal
const projectRoot = process.cwd()
const packageJson = new PackageJson()
const graph = await ideal.build({ projectRoot, packageJson })
const query = new Query({ graph })
const res = await query.search(':root > *', { signal })

Querying against a local node_modules folder

JavaScript
import { actual } from '@vltpkg/graph'
import { Query } from '@vltpkg/query'
import { PackageJson } from '@vltpkg/package-json'
import { PathScurry } from 'path-scurry'
const signal = new AbortController().signal
const projectRoot = process.cwd()
const scurry = new PathScurry(projectRoot)
const packageJson = new PackageJson()
const graph = await actual.load({ projectRoot, packageJson, scurry })
const query = new Query({ graph })
const res = await query.search(':root > *', { signal })

Querying against a lockfile

JavaScript
import { lockfile } from '@vltpkg/graph'
import { Query } from '@vltpkg/query'
const signal = new AbortController().signal
const projectRoot = process.cwd()
const graph = await lockfile.load({
  mainManifest: 'package.json',
  projectRoot,
})
const query = new Query({ graph })
const res = await query.search(':root > *', { signal })

PreviousReferenceNextReference

On this page

  • Usage
  • Examples
  • Querying against an ideal/virtual graph
  • Querying against a local node_modules folder
  • Querying against a lockfile

Deploy your package on vlt.io

Publish scoped and private packages, manage organizations and access, and give every developer and CI environment a consistent source for public and private JavaScript dependencies.

Publish now