Skip to content

Commit 393c799

Browse files
niedzielskidevelopit
authored andcommitted
New: add TypeScript definitions (#39)
- Try to mimic the Preact TSD. - Example usage with `noImplicitAny` enabled: import { render } from "preact-render-to-string"; - No idea if I've done it right but it seems to compile and hopefully someone more knowledgeable can build on this.
1 parent 0b50eaa commit 393c799

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"main": "dist/index.js",
77
"jsnext:main": "src/index.js",
88
"scripts": {
9-
"build": "npm run -s transpile && npm run -s transpile:jsx",
9+
"build": "npm run -s transpile && npm run -s transpile:jsx && npm run -s copy-typescript-definition",
10+
"copy-typescript-definition": "copyfiles -f src/index.d.ts dist",
1011
"transpile": "rollup -c rollup.config.js -m ${npm_package_main}.map -f umd -n $npm_package_amdName $npm_package_jsnext_main -o $npm_package_main",
1112
"transpile:jsx": "ENTRY=jsx rollup -c rollup.config.js -m dist/jsx.js.map -f umd -n $npm_package_amdName src/jsx.js -o dist/jsx.js",
1213
"test": "eslint src test && mocha --compilers js:babel-register test/**/*.js",
@@ -21,6 +22,7 @@
2122
],
2223
"author": "Jason Miller <[email protected]>",
2324
"license": "MIT",
25+
"typings": "src/index.d.ts",
2426
"repository": {
2527
"type": "git",
2628
"url": "https://github.com/developit/preact-render-to-string.git"
@@ -44,6 +46,7 @@
4446
"babel-preset-stage-0": "^6.5.0",
4547
"babel-register": "^6.9.0",
4648
"chai": "^3.5.0",
49+
"copyfiles": "^1.2.0",
4750
"eslint": "^3.2.2",
4851
"mocha": "^3.0.0",
4952
"preact": "^8.1.0",

src/index.d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { VNode } from 'preact';
2+
3+
declare module render {
4+
interface Options {
5+
shallow:boolean;
6+
xml:boolean;
7+
pretty:boolean;
8+
}
9+
10+
function render(vnode:VNode, context?:any, options?:Options):string;
11+
function shallowRender(vnode:VNode, context?:any):string;
12+
}
13+
14+
export = render;

typings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "preact-render-to-string",
3+
"main": "src/index.d.ts",
4+
"version": false
5+
}

0 commit comments

Comments
 (0)