Query info and files from your Bolt project
$ yarn add bolt-query
const query = require('bolt-query'); query({ projectFiles: { readme: 'README.md', releases: 'releases/**/*.md' }, workspaceFiles: { readme: 'README.md', docs: 'docs/**/*.md', examples: 'examples/**/*.js' } }).then(result => { // result from the query })
result:
{ dir: '/path/to/project', pkgPath: '/path/to/project/package.json', pkg: { name: 'project', pworkspaces: ['packages/*'], version: '1.0.0' }, files: { readme: [ { filePath: '/path/to/project/README.md', fileContents: '...' } ], releases: [ { filePath: '/path/to/project/releases/introducing-fixture.md', fileContents: '...' }, { filePath: '/path/to/project/releases/launching-1.0.md', fileContents: '...' } ], }, workspaces: [{ dir: '/path/to/project/packages/bar', pkgPath: '/path/to/project/packages/bar/package.json', pkg: { name: 'bar', version: '1.0.0' }, files: { docs: [ { filePath: '/path/to/project/packages/bar/docs/intro.md', fileContents: '...' } ], examples: [ { filePath: '/path/to/project/packages/bar/examples/basic.js', fileContents: '...' } ], readme: [ { filePath: '/path/to/project/packages/bar/README.md', fileContents: '...' } ], }, }, { dir: '/path/to/project/packages/foo', pkgPath: '/path/to/project/packages/foo/package.json', pkg: { name: 'foo', version: '1.0.0' }, files: { docs: [ { filePath: '/path/to/project/packages/foo/docs/advanced/multiple.md', fileContents: '...' }, { filePath: '/path/to/project/packages/foo/docs/intro.md', fileContents: '...' } ], examples: [ { filePath: '/path/to/project/packages/foo/examples/advanced.js', fileContents: '...' }, { filePath: '/path/to/project/packages/foo/examples/basic.js', fileContents: '...' } ], readme: [ { filePath: '/path/to/project/packages/foo/README.md', fileContents: '...' } ] } }] }
query({ options })
=> Returns a promise with the information fetched using query
-
cwd: directory path to the project ( default :
process.cwd()) -
projectFiles: Object describing the projet files. It accepts the file path as glob, and path are relative to project cwd option. example:
{ readme: <pathToReadme>, releases: '<pathToReleaseFiles>, } -
workspaceFiles: Object describing the files in workspace. It accepts the file path as glob, paths are relative to workspace root. example:
{ readme: <pathToReadme>, docs: <pathToDocs>, examples: <pathToExamples>, }