vscode-extension-manifest
v0.2.0
Published
VSCode extension manifest type definitions, validators, and utilities
Downloads
106
Maintainers
Readme
vscode-extension-manifest
VSCode extension manifest type definitions, validators, and utilities.
[!NOTE] This package only provides types for VSCode extension manifest related fields listed in Extension Manifest.
If you need type support for a normal NodeJs package.json file, please check type-fest - package-json.d.ts.
Install
npm install vscode-extension-manifest -D
yarn add vscode-extension-manifest -D
pnpm add vscode-extension-manifest -D
Usage
import {
defineExtensionManifest,
readExtensionManifest,
readExtensionManifestSync,
validateExtensionManifest,
writeExtensionManifest,
writeExtensionManifestSync,
} from 'vscode-extension-manifest'
console.log(await readExtensionManifest())
//=> VSCode extension manifest with types definition
console.log(validateExtensionManifest(readExtensionManifestSync()))
// => true if valid, false otherwise
const extensionManifest = defineExtensionManifest({
name: 'vscode-extension-manifest',
version: '1.0.0',
publisher: 'ntnyq',
engines: {
vscode: '^1.96.0',
},
})
await writeExtensionManifest(extensionManifest, {
cwd: 'packages/extension',
})
writeExtensionManifestSync(extensionManifest, {
cwd: 'vscode',
})
API
readExtensionManifest
- Type:
(options?: ReadOptions) => Promise<ExtensionManifest>
Returns a Promise
for VSCode extension manifest with type definition.
ReadOptions
for readExtensionManifest
and readExtensionManifestSync
filename
- Type:
string
- Default:
package.json
- Required:
false
The filename of the extension manifest.
cwd
- Type:
string | URL
- Default:
process.cwd()
- Required:
false
The current working directory.
cache
- Type:
boolean | Map<string, Record<string, any>>
- Default:
undefined
- Required:
false
Specifies whether the read results should be cached. Can be a boolean or a map to hold the cached data.
readExtensionManifestSync
- Type:
(options?: ReadOptions) => ExtensionManifest
Returns VSCode extension manifest with type definition.
ReadOptions
Same as readExtensionManifest
writeExtensionManifest
- Type:
(manifest: ExtensionManifest, options?: WriteOptions) => Promise<void>
WriteOptions
for writeExtensionManifest
and writeExtensionManifestSync
filename
- Type:
string
- Default:
package.json
- Required:
false
The filename of the extension manifest.
cwd
- Type:
string | URL
- Default:
process.cwd()
- Required:
false
The current working directory.
replacer
- Type:
(number | string)[] | null
- Default:
null
- Required:
false
The replacer for JSON.stringify.
space
- Type:
number | string
- Default:
2
- Required:
false
The space for JSON.stringify.
stringify
- Type:
(value: any) => string
- Default:
JSON.stringify
- Required:
false
The stringify function.
writeExtensionManifestSync
- Type:
(manifest: ExtensionManifest, options?: WriteOptions) => void
WriteOptions
Same as writeExtensionManifest
defineExtensionManifest
Define a vscode extension manifest.
Parameters
manifest
- Type:
ExtensionManifest
- Required:
true
The extension manifest.
validateExtensionManifest
- Type:
(manifest: ExtensionManifest) => boolean
Returns true
if the extension manifest is valid, false
otherwise.
By checking the following properties:
publisher
Parameters
manifest
- Type:
ExtensionManifest
- Required:
true
Read by readExtensionManifest
or readExtensionManifestSync
.
Contributes
Find any types definition that are missing or not match.
Please create an issue or pull request.