dtsm v1.1.0
DTSM

The .d.ts manager
.d.ts is TypeScript definition file. DefinitelyTyped!
Install
$ npm install -g dtsm
dtsm depends on Node.js, npm and git command. please install git client.
Usage
# fetch from remote repository
$ dtsm fetch
fetching...
fetching https://github.com/DefinitelyTyped/DefinitelyTyped.git
# search .d.ts
$ dtsm search atom
Search results.
atom/atom.d.ts
dojo/dojox.atom.d.ts
# install .d.ts
$ dtsm install atom
atom/atom.d.ts #be0b6b
├── q/Q.d.ts
├── jquery/jquery.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
├─┬ pathwatcher/pathwatcher.d.ts
│ ├── node/node.d.ts
│ └── q/Q.d.ts
├─┬ text-buffer/text-buffer.d.ts
│ ├─┬ emissary/emissary.d.ts
│ │ └── mixto/mixto.d.ts
│ └── q/Q.d.ts
└─┬ status-bar/status-bar.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
└─┬ text-buffer/text-buffer.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
└── q/Q.d.ts
$ tree typings
typings
├── atom
│ └── atom.d.ts
├── emissary
│ └── emissary.d.ts
├── jquery
│ └── jquery.d.ts
├── mixto
│ └── mixto.d.ts
├── node
│ └── node.d.ts
├── pathwatcher
│ └── pathwatcher.d.ts
├── q
│ └── Q.d.ts
├── space-pen
│ └── space-pen.d.ts
├── status-bar
│ └── status-bar.d.ts
└── text-buffer
└── text-buffer.d.ts
10 directories, 10 files
# create dtsm.json and save dependencies
$ dtsm init
write to dtsm.json
{
"repos": [
{
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"ref": "master"
}
],
"path": "typings",
"bundle": "typings/bundle.d.ts",
"dependencies": {}
}
$ dtsm install --save atom
atom/atom.d.ts #be0b6b
├── q/Q.d.ts
├── jquery/jquery.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
├─┬ pathwatcher/pathwatcher.d.ts
│ ├── node/node.d.ts
│ └── q/Q.d.ts
├─┬ text-buffer/text-buffer.d.ts
│ ├─┬ emissary/emissary.d.ts
│ │ └── mixto/mixto.d.ts
│ └── q/Q.d.ts
└─┬ status-bar/status-bar.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
└─┬ text-buffer/text-buffer.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
└── q/Q.d.ts
$ cat dtsm.json
{
"repos": [
{
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"ref": "master"
}
],
"path": "typings",
"bundle": "typings/bundle.d.ts",
"dependencies": {
"atom/atom.d.ts": {
"ref": "be0b6b394f77a59e192ad7cfec18078706e44db5"
}
}
}
$ rm -rf typings/
$ dtsm install
atom/atom.d.ts #be0b6b
├── q/Q.d.ts
├── jquery/jquery.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
├─┬ pathwatcher/pathwatcher.d.ts
│ ├── node/node.d.ts
│ └── q/Q.d.ts
├─┬ text-buffer/text-buffer.d.ts
│ ├─┬ emissary/emissary.d.ts
│ │ └── mixto/mixto.d.ts
│ └── q/Q.d.ts
└─┬ status-bar/status-bar.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
└─┬ text-buffer/text-buffer.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
└── q/Q.d.ts
$ ls -la | grep typings
drwxr-xr-x 13 vvakame wheel 442 3 27 00:31 typings
$ dtsm update --save
atom/atom.d.ts #0c2ee8
├── q/Q.d.ts
├── jquery/jquery.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
├─┬ pathwatcher/pathwatcher.d.ts
│ ├── node/node.d.ts
│ └── q/Q.d.ts
├─┬ text-buffer/text-buffer.d.ts
│ ├─┬ emissary/emissary.d.ts
│ │ └── mixto/mixto.d.ts
│ └── q/Q.d.ts
└─┬ status-bar/status-bar.d.ts
├─┬ space-pen/space-pen.d.ts
│ └── jquery/jquery.d.ts
└─┬ text-buffer/text-buffer.d.ts
├─┬ emissary/emissary.d.ts
│ └── mixto/mixto.d.ts
└── q/Q.d.ts
Advanced usage
reference other repository
# search for another repository
$ dtsm --remote https://github.com/vvakame/gapidts.git search bigquery
Search results.
test/valid/bigquery-v2-browser.d.ts
test/valid/bigquery-v2-nodejs.d.ts
reference mixed repository
$ cat dtsm.json
{
"repos": [
{
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"ref": "master"
},
{
"url": "https://github.com/vvakame/gapidts.git",
"ref": "master"
}
],
"path": "typings",
"bundle": "typings/bundle.d.ts",
"dependencies": {
"jquery/jquery.d.ts": {
"ref": "0605ebbdbdd8183c70b4a14e1e34ecb3f2b446bf"
},
"gapidts/bigquery-v2-browser.d.ts": {
"repo": "https://github.com/vvakame/gapidts.git",
"ref": "4edbcca555936a931407d667f8687f175ecbd5ed",
"path": "test/valid/bigquery-v2-browser.d.ts"
}
}
}
$ dtsm install
jquery/jquery.d.ts DefinitelyTyped/DefinitelyTyped#0605eb
gapidts/bigquery-v2-browser.d.ts vvakame/gapidts#4edbcc
└── gapidts/googleapis-browser-common.d.ts
Install with interactive filtering
If you use peco, you can install .d.ts file interactive.
$ dtsm search -i
$ dtsm install -i
Link to npm or bower bundled definitions
If other package manager's dependencies have a TypeScript definition files, dtsm can find it and add to bundle.d.ts.
$ cat package.json
{
"name": "dtsm-sample",
"version": "0.0.1",
"dependencies": {
"commandpost": "0.1.1"
}
}
$ dtsm link --save
from npm dependencies
└─┬ commandpost
└── node_modules/commandpost/commandpost.d.ts
If dtsm.json
has link
property, dtsm install
exec link
sub command implicitly.
$ cat package.json
{
"name": "dtsm-sample",
"version": "0.0.1",
"dependencies": {
"commandpost": "0.1.1"
}
}
$ cat dtsm.json
{
"repos": [
{
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
"ref": "master"
}
],
"path": "typings",
"bundle": "typings/bundle.d.ts",
"link": {
"npm": {
"include": true
},
"bower": {
"include": true
}
},
"dependencies": {}
}
$ dtsm install
install
from npm dependencies
└─┬ commandpost
└── node_modules/commandpost/commandpost.d.ts
Change log
See CHANGELOG
Contributing
This package's author vvakame is not native english speaker. My first language is Japanese. If you are native english speaker. I wish received a pull request for document and anything.
TODO
- write document
- create pull request
- generate self check todo list
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago