Skip to content

Commit 85f2739

Browse files
committed
Adds a way to import danger
1 parent ed30cb6 commit 85f2739

5 files changed

Lines changed: 28 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.0.4
2+
3+
- Added TypeScript type declarations for `import { danger } from "danger"`. Opt in by adding `"types": ["risk"]` in your `tsconfig.json`.
4+
15
## 0.0.1
26

37
It's the initial launch: `danger ci` and `danger pr` are added.

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@ if (bigPR) {
2929
message(`This PR modifies ${danger.git.modified_files.length} file(s).`)
3030
```
3131

32-
Existing Dangerfiles that `import { danger } from "danger"` will also work — a built-in ESM loader handles the redirect.
32+
Existing Dangerfiles that `import { danger } from "danger"` will also work — a built-in ESM loader handles the redirect at runtime. To get TypeScript support for the `"danger"` import, add `"risk"` to the `types` array in your `tsconfig.json`:
33+
34+
```jsonc
35+
{
36+
"compilerOptions": {
37+
"types": ["risk"]
38+
}
39+
}
40+
```
3341

3442
### Commands
3543

danger.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* Ambient module declaration that allows `import { danger } from "danger"`
3+
* to resolve types when only `risk` is installed.
4+
*
5+
* At runtime, the ESM loader in danger-loader.ts redirects the import.
6+
*/
7+
declare module "danger" {
8+
export * from "risk"
9+
}

index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/// <reference path="./danger.d.ts" />
2+
export * from "./dist/index.js"

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,17 @@
2323
"type": "module",
2424
"exports": {
2525
".": {
26-
"types": "./dist/index.d.ts",
26+
"types": "./index.d.ts",
2727
"import": "./dist/index.js"
2828
}
2929
},
3030
"bin": {
3131
"danger": "./dist/cli/danger.js"
3232
},
3333
"files": [
34-
"dist"
34+
"dist",
35+
"index.d.ts",
36+
"danger.d.ts"
3537
],
3638
"packageManager": "yarn@4.12.0",
3739
"engines": {

0 commit comments

Comments
 (0)