From 85a909198084d90395c9661ce0acb75678cdb00c Mon Sep 17 00:00:00 2001 From: Alex Friedman Date: Thu, 9 Mar 2017 16:16:15 -0500 Subject: [PATCH 1/3] Added types for koa-views --- koa-views/index.d.ts | 60 ++++++++++++++++++++++++++++++++++++ koa-views/koa-views-tests.ts | 19 ++++++++++++ koa-views/tsconfig.json | 22 +++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 koa-views/index.d.ts create mode 100644 koa-views/koa-views-tests.ts create mode 100644 koa-views/tsconfig.json diff --git a/koa-views/index.d.ts b/koa-views/index.d.ts new file mode 100644 index 0000000000..a037ad7ce3 --- /dev/null +++ b/koa-views/index.d.ts @@ -0,0 +1,60 @@ +// Type definitions for koa-views v2.x +// Project: https://github.com/queckezz/koa-views +// Definitions by: Alex Friedman +// Definitions: https://github.com/brooklyndev/DefinitelyTyped + +/* =================== USAGE =================== + + import * as Koa from 'koa'; + import * as views from 'koa-views'; + + const app = new Koa(); + app.use(views(__dirname + '/views', { + map: { + html: 'underscore' + } + })); + + app.use(async function (ctx, next) { + await ctx.render('user', { + user: 'John' + }); + }); + + =============================================== */ + + +import * as Koa from "koa"; + +declare function views(dir: string, opts?: { + + /* + * default extension for your views + */ + extension?: string, + /* + * these options will get passed to the view engine + */ + options?: any, + /* + * map a file extension to an engine + */ + map?: any, + /* + * replace consolidate as default engine source + */ + engineSource?: any, + +}): Koa.Middleware; +declare namespace views { } + +export = views; + + +import * as koa from "koa"; + +declare module 'koa' { + interface Context { + render(viewPath: string, locals?: any): Promise; + } +} diff --git a/koa-views/koa-views-tests.ts b/koa-views/koa-views-tests.ts new file mode 100644 index 0000000000..f025f55d93 --- /dev/null +++ b/koa-views/koa-views-tests.ts @@ -0,0 +1,19 @@ +import * as Koa from "koa"; +import * as views from "koa-views"; + +const app = new Koa(); + +app.use(views('/views', { + map: { + html: 'underscore' + }, + extension: '.html', + engineSource: {}, + options: {} +})); + +app.use((ctx: Koa.Context) => { + ctx.render('user', { + user: 'John' + }).then(() => console.log('done render call')); +}); \ No newline at end of file diff --git a/koa-views/tsconfig.json b/koa-views/tsconfig.json new file mode 100644 index 0000000000..34e482f84b --- /dev/null +++ b/koa-views/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "koa-views-tests.ts" + ] +} \ No newline at end of file From 03154304e1123deb6dad4c375370f40f3605355d Mon Sep 17 00:00:00 2001 From: Alex Friedman Date: Fri, 10 Mar 2017 01:55:50 -0500 Subject: [PATCH 2/3] Added linting. Changed version string. --- koa-views/index.d.ts | 2 +- koa-views/tsconfig.json | 2 +- koa-views/tslint.json | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 koa-views/tslint.json diff --git a/koa-views/index.d.ts b/koa-views/index.d.ts index a037ad7ce3..5d9d88b647 100644 --- a/koa-views/index.d.ts +++ b/koa-views/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for koa-views v2.x +// Type definitions for koa-views 2.x // Project: https://github.com/queckezz/koa-views // Definitions by: Alex Friedman // Definitions: https://github.com/brooklyndev/DefinitelyTyped diff --git a/koa-views/tsconfig.json b/koa-views/tsconfig.json index 34e482f84b..69d0c62b8c 100644 --- a/koa-views/tsconfig.json +++ b/koa-views/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" diff --git a/koa-views/tslint.json b/koa-views/tslint.json new file mode 100644 index 0000000000..0f47deabb4 --- /dev/null +++ b/koa-views/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "../tslint.json", + "rules": { + "forbidden-types": false + } +} \ No newline at end of file From 777e0bf8da63c5eb731d6cc142c5e1f27133a7f2 Mon Sep 17 00:00:00 2001 From: Alex Friedman Date: Sun, 26 Mar 2017 03:09:20 -0400 Subject: [PATCH 3/3] Moved koa views to types/folder --- {koa-views => types/koa-views}/index.d.ts | 0 {koa-views => types/koa-views}/koa-views-tests.ts | 0 {koa-views => types/koa-views}/tsconfig.json | 0 {koa-views => types/koa-views}/tslint.json | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {koa-views => types/koa-views}/index.d.ts (100%) rename {koa-views => types/koa-views}/koa-views-tests.ts (100%) rename {koa-views => types/koa-views}/tsconfig.json (100%) rename {koa-views => types/koa-views}/tslint.json (100%) diff --git a/koa-views/index.d.ts b/types/koa-views/index.d.ts similarity index 100% rename from koa-views/index.d.ts rename to types/koa-views/index.d.ts diff --git a/koa-views/koa-views-tests.ts b/types/koa-views/koa-views-tests.ts similarity index 100% rename from koa-views/koa-views-tests.ts rename to types/koa-views/koa-views-tests.ts diff --git a/koa-views/tsconfig.json b/types/koa-views/tsconfig.json similarity index 100% rename from koa-views/tsconfig.json rename to types/koa-views/tsconfig.json diff --git a/koa-views/tslint.json b/types/koa-views/tslint.json similarity index 100% rename from koa-views/tslint.json rename to types/koa-views/tslint.json