@midwayjs/view-ejs 3.0.0-beta.16 → 3.0.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,21 @@
1
- declare const _default: any;
1
+ declare const _default: (appInfo: any) => {
2
+ /**
3
+ * @member Config#ejs
4
+ * @property {String} [root=${appDir}/view] - the root directory of ejs files
5
+ * @property {Boolean} [cache=true] - compiled functions are cached, only work using `ctx.render`
6
+ * @property {Boolean} [debug=false] - output generated function body
7
+ * @property {Boolean} [compileDebug=true] - when false no debug instrumentation is compiled
8
+ * @property {String} [delimiter] - character to use with angle brackets for open/close
9
+ * @property {Boolean} [strict=false] - when set to true, generated function is in strict mode
10
+ */
11
+ ejs: {
12
+ root: string;
13
+ cache: boolean;
14
+ debug: boolean;
15
+ compileDebug: boolean;
16
+ delimiter: any;
17
+ strict: boolean;
18
+ };
19
+ };
2
20
  export default _default;
3
21
  //# sourceMappingURL=config.default.d.ts.map
@@ -1,4 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = require('egg-view-ejs/config/config.default');
3
+ const path = require("path");
4
+ exports.default = appInfo => {
5
+ return {
6
+ /**
7
+ * @member Config#ejs
8
+ * @property {String} [root=${appDir}/view] - the root directory of ejs files
9
+ * @property {Boolean} [cache=true] - compiled functions are cached, only work using `ctx.render`
10
+ * @property {Boolean} [debug=false] - output generated function body
11
+ * @property {Boolean} [compileDebug=true] - when false no debug instrumentation is compiled
12
+ * @property {String} [delimiter] - character to use with angle brackets for open/close
13
+ * @property {Boolean} [strict=false] - when set to true, generated function is in strict mode
14
+ */
15
+ ejs: {
16
+ root: path.join(appInfo.appDir, 'view'),
17
+ cache: true,
18
+ debug: false,
19
+ compileDebug: true,
20
+ delimiter: null,
21
+ strict: false,
22
+ },
23
+ };
24
+ };
4
25
  //# sourceMappingURL=config.default.js.map
@@ -1,3 +1,4 @@
1
- declare const _default: any;
2
- export default _default;
1
+ export declare const ejs: {
2
+ cache: boolean;
3
+ };
3
4
  //# sourceMappingURL=config.local.d.ts.map
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = require('egg-view-ejs/config/config.local');
3
+ exports.ejs = void 0;
4
+ exports.ejs = {
5
+ cache: false,
6
+ };
4
7
  //# sourceMappingURL=config.local.js.map
@@ -1,6 +1,5 @@
1
1
  import * as View from '@midwayjs/view';
2
2
  export declare class ViewEJSConfiguration {
3
- app: any;
4
3
  viewManager: View.ViewManager;
5
4
  onReady(): Promise<void>;
6
5
  }
@@ -11,21 +11,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ViewEJSConfiguration = void 0;
13
13
  const decorator_1 = require("@midwayjs/decorator");
14
- const mw_util_1 = require("@midwayjs/mw-util");
15
14
  const View = require("@midwayjs/view");
16
15
  const DefaultConfig = require("./config/config.default");
17
16
  const LocalConfig = require("./config/config.local");
17
+ const view_1 = require("./view");
18
18
  let ViewEJSConfiguration = class ViewEJSConfiguration {
19
19
  async onReady() {
20
- const mockApp = (0, mw_util_1.createMockApp)(this.app);
21
- mockApp.view = this.viewManager;
22
- require('egg-view-ejs/app')(mockApp);
20
+ this.viewManager.use('ejs', view_1.EjsView);
23
21
  }
24
22
  };
25
- __decorate([
26
- (0, decorator_1.App)(),
27
- __metadata("design:type", Object)
28
- ], ViewEJSConfiguration.prototype, "app", void 0);
29
23
  __decorate([
30
24
  (0, decorator_1.Inject)(),
31
25
  __metadata("design:type", View.ViewManager)
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { ViewEJSConfiguration as Configuration } from './configuration';
2
+ export * from './view';
2
3
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
13
  exports.Configuration = void 0;
4
14
  var configuration_1 = require("./configuration");
5
15
  Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.ViewEJSConfiguration; } });
16
+ __exportStar(require("./view"), exports);
6
17
  //# sourceMappingURL=index.js.map
package/dist/view.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { IViewEngine, RenderOptions, ViewManager } from '@midwayjs/view';
2
+ export declare class EjsView implements IViewEngine {
3
+ ejsConfig: any;
4
+ viewManager: ViewManager;
5
+ private renderFile;
6
+ render(name: string, locals?: Record<string, any>, options?: RenderOptions): Promise<string>;
7
+ renderString(tpl: string, locals?: Record<string, any>, options?: RenderOptions): Promise<string>;
8
+ }
9
+ //# sourceMappingURL=view.d.ts.map
package/dist/view.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EjsView = void 0;
13
+ const ejs = require("ejs");
14
+ const view_1 = require("@midwayjs/view");
15
+ const decorator_1 = require("@midwayjs/decorator");
16
+ let EjsView = class EjsView {
17
+ async renderFile(filename, locals, config) {
18
+ return new Promise((resolve, reject) => {
19
+ ejs.renderFile(filename, locals, config, (err, result) => {
20
+ if (err) {
21
+ reject(err);
22
+ }
23
+ else {
24
+ resolve(result);
25
+ }
26
+ });
27
+ });
28
+ }
29
+ async render(name, locals, options) {
30
+ const config = Object.assign({}, this.ejsConfig, options, { name });
31
+ const html = await this.renderFile(name, locals, config);
32
+ if (!config.layout) {
33
+ return html;
34
+ }
35
+ locals.body = html;
36
+ const layout = await this.viewManager.resolve(config.layout);
37
+ return this.renderFile(layout, locals, config);
38
+ }
39
+ async renderString(tpl, locals, options) {
40
+ // should disable cache when no filename
41
+ const config = Object.assign({}, this.ejsConfig, options, {
42
+ cache: null,
43
+ });
44
+ try {
45
+ return Promise.resolve(ejs.render(tpl, locals, config));
46
+ }
47
+ catch (err) {
48
+ return Promise.reject(err);
49
+ }
50
+ }
51
+ };
52
+ __decorate([
53
+ (0, decorator_1.Config)('ejs'),
54
+ __metadata("design:type", Object)
55
+ ], EjsView.prototype, "ejsConfig", void 0);
56
+ __decorate([
57
+ (0, decorator_1.Inject)(),
58
+ __metadata("design:type", view_1.ViewManager)
59
+ ], EjsView.prototype, "viewManager", void 0);
60
+ EjsView = __decorate([
61
+ (0, decorator_1.Provide)()
62
+ ], EjsView);
63
+ exports.EjsView = EjsView;
64
+ //# sourceMappingURL=view.js.map
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@midwayjs/view-ejs",
3
- "version": "3.0.0-beta.16",
4
- "description": "Midway Component for egg-view-ejs",
3
+ "version": "3.0.0-beta.17",
4
+ "description": "Midway Component for ejs render",
5
5
  "main": "dist/index.js",
6
6
  "typings": "index.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
- "test": "node --require=ts-node/register ../../node_modules/.bin/jest",
10
- "cov": "node --require=ts-node/register ../../node_modules/.bin/jest --coverage --forceExit",
9
+ "test": "node --require=ts-node/register ../../node_modules/.bin/jest --runInBand",
10
+ "cov": "node --require=ts-node/register ../../node_modules/.bin/jest --runInBand --coverage --forceExit",
11
11
  "ci": "npm run test"
12
12
  },
13
13
  "keywords": [
@@ -15,9 +15,7 @@
15
15
  "component",
16
16
  "midway-view",
17
17
  "view",
18
- "ejs",
19
- "egg-view",
20
- "egg-view-ejs"
18
+ "ejs"
21
19
  ],
22
20
  "author": "",
23
21
  "files": [
@@ -30,15 +28,14 @@
30
28
  },
31
29
  "license": "MIT",
32
30
  "dependencies": {
33
- "@midwayjs/mw-util": "^1.0.0",
34
- "@midwayjs/view": "^3.0.0-beta.16",
35
- "egg-view-ejs": "^2.0.1"
31
+ "@midwayjs/view": "^3.0.0-beta.17",
32
+ "ejs": "3.1.6"
36
33
  },
37
34
  "devDependencies": {
38
- "@midwayjs/core": "^3.0.0-beta.16",
39
- "@midwayjs/decorator": "^3.0.0-beta.16",
40
- "@midwayjs/koa": "^3.0.0-beta.16",
41
- "@midwayjs/mock": "^3.0.0-beta.16"
35
+ "@midwayjs/core": "^3.0.0-beta.17",
36
+ "@midwayjs/decorator": "^3.0.0-beta.17",
37
+ "@midwayjs/koa": "^3.0.0-beta.17",
38
+ "@midwayjs/mock": "^3.0.0-beta.17"
42
39
  },
43
- "gitHead": "43a32745ac45164dfef1494cba979f9652a6692b"
40
+ "gitHead": "17a8b5bd3d0b0b21f24dd2f165b5df9097fc3ec4"
44
41
  }