vscode-extension-manifest
v0.5.0
Published
VSCode extension manifest type definitions, validators, and utilities
Downloads
38
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 -Dyarn add vscode-extension-manifest -Dpnpm add vscode-extension-manifest -Dbun add vscode-extension-manifest -DUsage
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.
