This commit is contained in:
Родитель
8e2fd5865e
Коммит
a14ba3838e
51
README.md
51
README.md
|
@ -1,14 +1,37 @@
|
|||
|
||||
# Contributing
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||
the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
||||
|
||||
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
|
||||
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
|
||||
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||||
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||
# vscode-dts
|
||||
|
||||
CLI utility for downloading vscode.d.ts and vscode.proposed.d.ts
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
~ > npx vscode-dts
|
||||
vscode-dts: CLI utility for downloading vscode.d.ts and vscode.proposed.d.ts
|
||||
|
||||
Usage:
|
||||
- npx vscode-dts dev Download vscode.proposed.d.ts
|
||||
- npx vscode-dts <git-tag> Download vscode.d.ts from git tag of microsoft/vscode
|
||||
- npx vscode-dts <git-branch> Download vscode.d.ts from git branch of microsoft/vscode
|
||||
- npx vscode-dts Print Help
|
||||
- npx vscode-dts -h Print Help
|
||||
- npx vscode-dts --help Print Help
|
||||
~ >
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
## Contributing
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||
the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
||||
|
||||
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
|
||||
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
|
||||
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||||
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
const https = require('https')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const os = require('os')
|
||||
|
||||
const PROPOSED_DTS_URL = 'https://raw.githubusercontent.com/microsoft/vscode/master/src/vs/vscode.proposed.d.ts'
|
||||
|
||||
const realArgs = process.argv.slice(2)
|
||||
|
||||
if (realArgs.length === 0 || realArgs[0] === '-h' || realArgs[0] === '--help') {
|
||||
console.log(printHelp())
|
||||
} else if (realArgs[0] === 'dev') {
|
||||
const outPath = path.resolve(process.cwd(), './vscode.proposed.d.ts')
|
||||
console.log(`Downloading vscode.proposed.d.ts to ${outPath}`)
|
||||
download(PROPOSED_DTS_URL, outPath).then(() => {
|
||||
console.log('Please set "enableProposedApi": true in package.json.')
|
||||
console.log('Read more about proposed API at: https://code.visualstudio.com/api/advanced-topics/using-proposed-api')
|
||||
})
|
||||
} else if (realArgs[0]) {
|
||||
const url = `https://raw.githubusercontent.com/microsoft/vscode/${realArgs[0]}/src/vs/vscode.d.ts`
|
||||
const outPath = path.resolve(process.cwd(), './vscode.d.ts')
|
||||
console.log(`Downloading vscode.d.ts to ${outPath} from ${url}`)
|
||||
download(url, outPath)
|
||||
}
|
||||
|
||||
function printHelp() {
|
||||
return [
|
||||
'vscode-dts: CLI utility for downloading vscode.d.ts and vscode.proposed.d.ts',
|
||||
'',
|
||||
'Usage:',
|
||||
' - npx vscode-dts dev Download vscode.proposed.d.ts',
|
||||
' - npx vscode-dts <git-tag> Download vscode.d.ts from git tag of microsoft/vscode',
|
||||
' - npx vscode-dts <git-branch> Download vscode.d.ts from git branch of microsoft/vscode',
|
||||
' - npx vscode-dts Print Help',
|
||||
' - npx vscode-dts -h Print Help',
|
||||
' - npx vscode-dts --help Print Help'
|
||||
].join(os.EOL)
|
||||
}
|
||||
|
||||
function download(url, outPath) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const outStream = fs.createWriteStream(outPath)
|
||||
outStream.on('close', () => {
|
||||
resolve()
|
||||
})
|
||||
|
||||
https.get(url, res => {
|
||||
if (res.statusCode !== 200) {
|
||||
reject(`Failed to get ${url}`)
|
||||
}
|
||||
|
||||
res.pipe(outStream)
|
||||
})
|
||||
})
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"name": "vscode-dts",
|
||||
"version": "0.1.0",
|
||||
"description": "CLI utility for downloading vscode.d.ts and vscode.proposed.d.ts",
|
||||
"bin": "index.js",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@types/node@^12.0.2":
|
||||
version "12.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.2.tgz#3452a24edf9fea138b48fad4a0a028a683da1e40"
|
||||
integrity sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA==
|
Загрузка…
Ссылка в новой задаче