alp-node 5.2.0 → 6.1.0

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.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,37 @@
1
- # Change Log
1
+ # Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.1.0](https://github.com/christophehurpeau/alp/compare/alp-node@6.0.0...alp-node@6.1.0) (2023-12-25)
7
+
8
+
9
+ ### Features
10
+
11
+ * update dependencies ([ddc8f92](https://github.com/christophehurpeau/alp/commit/ddc8f92cccacf6ed2baabf8555f0b37fe281ce9d))
12
+
13
+ Version bump for dependency: alp-listen
14
+ Version bump for dependency: alp-node-config
15
+ Version bump for dependency: alp-node-errors
16
+ Version bump for dependency: alp-node-language
17
+ Version bump for dependency: alp-params
18
+ Version bump for dependency: alp-translate
19
+ Version bump for dependency: alp-types
20
+
21
+
22
+ ## [6.0.0](https://github.com/christophehurpeau/alp/compare/alp-node@5.2.0...alp-node@6.0.0) (2023-07-29)
23
+
24
+
25
+ ### ⚠ BREAKING CHANGES
26
+
27
+ * drop node 16
28
+
29
+ ### Code Refactoring
30
+
31
+ * update to node 18 ([26280d6](https://github.com/christophehurpeau/alp/commit/26280d638aba1bd46fa42ad5a571b9626f1fff6d))
32
+
33
+
34
+
6
35
  ## [5.2.0](https://github.com/christophehurpeau/alp/compare/alp-node@5.1.2...alp-node@5.2.0) (2023-03-19)
7
36
 
8
37
 
@@ -1,5 +1,5 @@
1
- import path from 'path';
2
- import { deprecate } from 'util';
1
+ import path from 'node:path';
2
+ import { deprecate } from 'node:util';
3
3
  import _listen from 'alp-listen';
4
4
  import _config from 'alp-node-config';
5
5
  import errors from 'alp-node-errors';
@@ -55,10 +55,11 @@ class AlpNodeApp extends Koa {
55
55
  servePublic() {
56
56
  this.use(serve(this.publicPath)); // static files
57
57
  }
58
-
59
58
  catchErrors() {
60
59
  this.use(errors);
61
60
  }
61
+
62
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
62
63
  listen() {
63
64
  throw new Error('Use start instead');
64
65
  }
@@ -80,14 +81,14 @@ class AlpNodeApp extends Koa {
80
81
  logger.success('started');
81
82
  if (process.send) process.send('ready');
82
83
  return server;
83
- } catch (err) {
84
+ } catch (error) {
84
85
  logger.error('start fail', {
85
- err
86
+ err: error
86
87
  });
87
- throw err;
88
+ throw error;
88
89
  }
89
90
  }
90
91
  }
91
92
 
92
93
  export { AlpNodeApp };
93
- //# sourceMappingURL=AlpNodeApp-node16.mjs.map
94
+ //# sourceMappingURL=AlpNodeApp-node18.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlpNodeApp-node18.mjs","sources":["../src/AlpNodeApp.ts"],"sourcesContent":["import type { IncomingMessage, Server, ServerResponse } from 'node:http';\nimport path from 'node:path';\nimport { deprecate } from 'node:util';\nimport _listen from 'alp-listen';\nimport type { Config } from 'alp-node-config';\nimport _config from 'alp-node-config';\nimport errors from 'alp-node-errors';\nimport language from 'alp-node-language';\nimport params from 'alp-params';\nimport translate from 'alp-translate';\nimport type {\n NodeApplication,\n NodeConfig,\n Context as AlpContext,\n ContextState,\n ContextSanitizedState,\n ContextRequest,\n} from 'alp-types';\nimport Koa from 'koa';\nimport type { ParameterizedContext, DefaultState, BaseRequest } from 'koa';\nimport compress from 'koa-compress';\nimport serve from 'koa-static';\nimport { Logger } from 'nightingale-logger';\n\nconst logger = new Logger('alp');\n\nexport interface AlpNodeAppOptions {\n appDirname: string;\n packageDirname: string;\n config: Config & NodeConfig;\n certPath?: string;\n publicPath?: string;\n}\n\ndeclare module 'koa' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface DefaultState extends ContextState {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface BaseContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface BaseRequest extends ContextRequest {}\n}\n\nexport class AlpNodeApp extends Koa<ContextState> implements NodeApplication {\n dirname: string;\n\n certPath: string;\n\n publicPath: string;\n\n config: Config & NodeConfig;\n\n declare request: BaseRequest & ContextRequest;\n\n _server?: Server;\n\n /**\n * @param {Object} [options]\n * @param {string} [options.certPath] directory of the ssl certificates\n * @param {string} [options.publicPath] directory of public files\n */\n constructor({\n appDirname,\n packageDirname,\n config,\n certPath,\n publicPath,\n }: AlpNodeAppOptions) {\n super();\n\n this.dirname = path.normalize(appDirname);\n\n Object.defineProperty(this, 'packageDirname', {\n get: deprecate(() => packageDirname, 'packageDirname'),\n configurable: false,\n enumerable: false,\n });\n\n this.certPath = certPath || `${packageDirname}/config/cert`;\n this.publicPath = publicPath || `${packageDirname}/public/`;\n\n this.config = _config(this, config);\n this.context.config = this.config;\n\n params(this);\n language(this);\n translate('locales')(this);\n\n this.use(compress());\n }\n\n existsConfigSync(name: string): ReturnType<Config['existsConfigSync']> {\n return this.config.existsConfigSync(name);\n }\n\n loadConfigSync(name: string): ReturnType<Config['loadConfigSync']> {\n return this.config.loadConfigSync(name);\n }\n\n override createContext<StateT = DefaultState>(\n req: IncomingMessage,\n res: ServerResponse,\n ): ParameterizedContext<StateT> {\n const ctx = super.createContext<StateT>(req, res);\n ctx.sanitizedState = {} as ContextSanitizedState;\n return ctx;\n }\n\n servePublic(): void {\n this.use(serve(this.publicPath)); // static files\n }\n\n catchErrors(): void {\n this.use(errors);\n }\n\n // eslint-disable-next-line @typescript-eslint/class-methods-use-this\n override listen(): never {\n throw new Error('Use start instead');\n }\n\n /**\n * Close server and emit close event\n */\n close(): void {\n if (this._server) {\n this._server.close();\n this.emit('close');\n }\n }\n\n async start(fn: () => Promise<void> | void): Promise<Server> {\n await fn();\n try {\n const server = await _listen(this.config, this.callback(), this.certPath);\n this._server = server;\n logger.success('started');\n if (process.send) process.send('ready');\n return server;\n } catch (error: unknown) {\n logger.error('start fail', { err: error });\n throw error;\n }\n }\n}\n\nexport type { Context } from 'koa';\n"],"names":["logger","Logger","AlpNodeApp","Koa","constructor","appDirname","packageDirname","config","certPath","publicPath","dirname","path","normalize","Object","defineProperty","get","deprecate","configurable","enumerable","_config","context","params","language","translate","use","compress","existsConfigSync","name","loadConfigSync","createContext","req","res","ctx","sanitizedState","servePublic","serve","catchErrors","errors","listen","Error","close","_server","emit","start","fn","server","_listen","callback","success","process","send","error","err"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { IncomingMessage, Server, ServerResponse } from 'http';
2
+ import type { IncomingMessage, Server, ServerResponse } from 'node:http';
3
3
  import type { Config } from 'alp-node-config';
4
4
  import type { NodeApplication, NodeConfig, Context as AlpContext, ContextState, ContextRequest } from 'alp-types';
5
5
  import Koa from 'koa';
@@ -25,7 +25,7 @@ export declare class AlpNodeApp extends Koa<ContextState> implements NodeApplica
25
25
  dirname: string;
26
26
  certPath: string;
27
27
  publicPath: string;
28
- config: NodeConfig & Config;
28
+ config: Config & NodeConfig;
29
29
  request: BaseRequest & ContextRequest;
30
30
  _server?: Server;
31
31
  /**
@@ -39,7 +39,7 @@ export declare class AlpNodeApp extends Koa<ContextState> implements NodeApplica
39
39
  createContext<StateT = DefaultState>(req: IncomingMessage, res: ServerResponse): ParameterizedContext<StateT>;
40
40
  servePublic(): void;
41
41
  catchErrors(): void;
42
- listen(): Server;
42
+ listen(): never;
43
43
  /**
44
44
  * Close server and emit close event
45
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AlpNodeApp.d.ts","sourceRoot":"","sources":["../../src/AlpNodeApp.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,OAAO,IAAI,UAAU,EACrB,YAAY,EAEZ,cAAc,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAO3E,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,OAAO,QAAQ,KAAK,CAAC;IAEnB,UAAU,YAAa,SAAQ,YAAY;KAAG;IAE9C,UAAU,cAAe,SAAQ,UAAU;KAAG;IAE9C,UAAU,WAAY,SAAQ,UAAU;KAAG;IAE3C,UAAU,WAAY,SAAQ,cAAc;KAAG;CAChD;AAED,qBAAa,UAAW,SAAQ,GAAG,CAAC,YAAY,CAAE,YAAW,eAAe;IAC1E,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAEpB,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;gBACS,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB;IAwBpB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAItE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAIlE,aAAa,CAAC,MAAM,GAAG,YAAY,EACjC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,oBAAoB,CAAC,MAAM,CAAC;IAM/B,WAAW,IAAI,IAAI;IAInB,WAAW,IAAI,IAAI;IAInB,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOP,KAAK,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAa7D;AAED,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC"}
1
+ {"version":3,"file":"AlpNodeApp.d.ts","sourceRoot":"","sources":["../../src/AlpNodeApp.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,OAAO,IAAI,UAAU,EACrB,YAAY,EAEZ,cAAc,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAO3E,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,OAAO,QAAQ,KAAK,CAAC;IAEnB,UAAU,YAAa,SAAQ,YAAY;KAAG;IAE9C,UAAU,cAAe,SAAQ,UAAU;KAAG;IAE9C,UAAU,WAAY,SAAQ,UAAU;KAAG;IAE3C,UAAU,WAAY,SAAQ,cAAc;KAAG;CAChD;AAED,qBAAa,UAAW,SAAQ,GAAG,CAAC,YAAY,CAAE,YAAW,eAAe;IAC1E,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAEpB,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;gBACS,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB;IAwBpB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAItE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAIzD,aAAa,CAAC,MAAM,GAAG,YAAY,EAC1C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,oBAAoB,CAAC,MAAM,CAAC;IAM/B,WAAW,IAAI,IAAI;IAInB,WAAW,IAAI,IAAI;IAKV,MAAM,IAAI,KAAK;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOP,KAAK,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAa7D;AAED,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import { Config } from 'alp-node-config';
2
2
  import type { AlpNodeAppOptions } from './AlpNodeApp';
3
3
  import { AlpNodeApp } from './AlpNodeApp';
4
- export { default as fetch } from 'node-fetch';
5
4
  export type { Context } from './AlpNodeApp';
6
5
  export { Config } from 'alp-node-config';
7
6
  export declare const appDirname: string;
8
7
  export declare const packageDirname: string;
9
8
  export declare const packageConfig: Record<string, unknown>;
10
9
  export declare const config: Config & import("alp-types").NodeConfig;
11
- export type AppOptions = Omit<AlpNodeAppOptions, 'appDirname' | 'packageDirname' | 'config'>;
10
+ export type AppOptions = Omit<AlpNodeAppOptions, 'appDirname' | 'config' | 'packageDirname'>;
12
11
  export default class App extends AlpNodeApp {
13
12
  constructor(options?: AppOptions);
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9C,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIzC,eAAO,MAAM,UAAU,QAAwB,CAAC;AAMhD,eAAO,MAAM,cAAc,QAA4B,CAAC;AAIxD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAEtB,CAAC;AAO7B,eAAO,MAAM,MAAM,yCAAqD,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,iBAAiB,EACjB,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAC3C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;gBAC7B,OAAO,CAAC,EAAE,UAAU;CAQjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIzC,eAAO,MAAM,UAAU,QAAwB,CAAC;AAMhD,eAAO,MAAM,cAAc,QAA4B,CAAC;AAIxD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAEtB,CAAC;AAO7B,eAAO,MAAM,MAAM,yCAAqD,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,iBAAiB,EACjB,YAAY,GAAG,QAAQ,GAAG,gBAAgB,CAC3C,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;gBAC7B,OAAO,CAAC,EAAE,UAAU;CAQjC"}
@@ -1,9 +1,9 @@
1
- import { readFileSync, existsSync } from 'fs';
2
- import path from 'path';
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import path from 'node:path';
3
3
  import _config, { Config } from 'alp-node-config';
4
4
  export { Config } from 'alp-node-config';
5
5
  import { Logger } from 'nightingale-logger';
6
- import { deprecate } from 'util';
6
+ import { deprecate } from 'node:util';
7
7
  import _listen from 'alp-listen';
8
8
  import errors from 'alp-node-errors';
9
9
  import language from 'alp-node-language';
@@ -12,7 +12,6 @@ import translate from 'alp-translate';
12
12
  import Koa from 'koa';
13
13
  import compress from 'koa-compress';
14
14
  import serve from 'koa-static';
15
- export { default as fetch } from 'node-fetch';
16
15
 
17
16
  const logger$1 = new Logger('alp');
18
17
  class AlpNodeApp extends Koa {
@@ -58,10 +57,11 @@ class AlpNodeApp extends Koa {
58
57
  servePublic() {
59
58
  this.use(serve(this.publicPath)); // static files
60
59
  }
61
-
62
60
  catchErrors() {
63
61
  this.use(errors);
64
62
  }
63
+
64
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
65
65
  listen() {
66
66
  throw new Error('Use start instead');
67
67
  }
@@ -83,11 +83,11 @@ class AlpNodeApp extends Koa {
83
83
  logger$1.success('started');
84
84
  if (process.send) process.send('ready');
85
85
  return server;
86
- } catch (err) {
86
+ } catch (error) {
87
87
  logger$1.error('start fail', {
88
- err
88
+ err: error
89
89
  });
90
- throw err;
90
+ throw error;
91
91
  }
92
92
  }
93
93
  }
@@ -121,4 +121,4 @@ class App extends AlpNodeApp {
121
121
  }
122
122
 
123
123
  export { appDirname, config, App as default, packageConfig, packageDirname };
124
- //# sourceMappingURL=index-node16.mjs.map
124
+ //# sourceMappingURL=index-node18.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node18.mjs","sources":["../src/AlpNodeApp.ts","../src/index.ts"],"sourcesContent":["import type { IncomingMessage, Server, ServerResponse } from 'node:http';\nimport path from 'node:path';\nimport { deprecate } from 'node:util';\nimport _listen from 'alp-listen';\nimport type { Config } from 'alp-node-config';\nimport _config from 'alp-node-config';\nimport errors from 'alp-node-errors';\nimport language from 'alp-node-language';\nimport params from 'alp-params';\nimport translate from 'alp-translate';\nimport type {\n NodeApplication,\n NodeConfig,\n Context as AlpContext,\n ContextState,\n ContextSanitizedState,\n ContextRequest,\n} from 'alp-types';\nimport Koa from 'koa';\nimport type { ParameterizedContext, DefaultState, BaseRequest } from 'koa';\nimport compress from 'koa-compress';\nimport serve from 'koa-static';\nimport { Logger } from 'nightingale-logger';\n\nconst logger = new Logger('alp');\n\nexport interface AlpNodeAppOptions {\n appDirname: string;\n packageDirname: string;\n config: Config & NodeConfig;\n certPath?: string;\n publicPath?: string;\n}\n\ndeclare module 'koa' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface DefaultState extends ContextState {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface BaseContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface BaseRequest extends ContextRequest {}\n}\n\nexport class AlpNodeApp extends Koa<ContextState> implements NodeApplication {\n dirname: string;\n\n certPath: string;\n\n publicPath: string;\n\n config: Config & NodeConfig;\n\n declare request: BaseRequest & ContextRequest;\n\n _server?: Server;\n\n /**\n * @param {Object} [options]\n * @param {string} [options.certPath] directory of the ssl certificates\n * @param {string} [options.publicPath] directory of public files\n */\n constructor({\n appDirname,\n packageDirname,\n config,\n certPath,\n publicPath,\n }: AlpNodeAppOptions) {\n super();\n\n this.dirname = path.normalize(appDirname);\n\n Object.defineProperty(this, 'packageDirname', {\n get: deprecate(() => packageDirname, 'packageDirname'),\n configurable: false,\n enumerable: false,\n });\n\n this.certPath = certPath || `${packageDirname}/config/cert`;\n this.publicPath = publicPath || `${packageDirname}/public/`;\n\n this.config = _config(this, config);\n this.context.config = this.config;\n\n params(this);\n language(this);\n translate('locales')(this);\n\n this.use(compress());\n }\n\n existsConfigSync(name: string): ReturnType<Config['existsConfigSync']> {\n return this.config.existsConfigSync(name);\n }\n\n loadConfigSync(name: string): ReturnType<Config['loadConfigSync']> {\n return this.config.loadConfigSync(name);\n }\n\n override createContext<StateT = DefaultState>(\n req: IncomingMessage,\n res: ServerResponse,\n ): ParameterizedContext<StateT> {\n const ctx = super.createContext<StateT>(req, res);\n ctx.sanitizedState = {} as ContextSanitizedState;\n return ctx;\n }\n\n servePublic(): void {\n this.use(serve(this.publicPath)); // static files\n }\n\n catchErrors(): void {\n this.use(errors);\n }\n\n // eslint-disable-next-line @typescript-eslint/class-methods-use-this\n override listen(): never {\n throw new Error('Use start instead');\n }\n\n /**\n * Close server and emit close event\n */\n close(): void {\n if (this._server) {\n this._server.close();\n this.emit('close');\n }\n }\n\n async start(fn: () => Promise<void> | void): Promise<Server> {\n await fn();\n try {\n const server = await _listen(this.config, this.callback(), this.certPath);\n this._server = server;\n logger.success('started');\n if (process.send) process.send('ready');\n return server;\n } catch (error: unknown) {\n logger.error('start fail', { err: error });\n throw error;\n }\n }\n}\n\nexport type { Context } from 'koa';\n","import { existsSync, readFileSync } from 'node:fs';\nimport path from 'node:path';\nimport { Config } from 'alp-node-config';\nimport { Logger } from 'nightingale-logger';\nimport type { AlpNodeAppOptions } from './AlpNodeApp';\nimport { AlpNodeApp } from './AlpNodeApp';\n\nexport type { Context } from './AlpNodeApp';\nexport { Config } from 'alp-node-config';\n\nconst logger = new Logger('alp');\n\nexport const appDirname = path.resolve('build');\n\nconst packagePath = path.resolve('package.json');\nif (!packagePath) {\n throw new Error(`Could not find package.json: \"${String(packagePath)}\"`);\n}\nexport const packageDirname = path.dirname(packagePath);\n\nlogger.debug('init', { appDirname, packageDirname });\n\nexport const packageConfig: Record<string, unknown> = JSON.parse(\n readFileSync(packagePath, 'utf8'),\n) as Record<string, unknown>;\n\nconst buildedConfigPath = `${appDirname}/build/config/`;\nconst configPath = existsSync(buildedConfigPath)\n ? buildedConfigPath\n : `${appDirname}/config/`;\n\nexport const config = new Config(configPath).loadSync({ packageConfig });\n\nexport type AppOptions = Omit<\n AlpNodeAppOptions,\n 'appDirname' | 'config' | 'packageDirname'\n>;\n\nexport default class App extends AlpNodeApp {\n constructor(options?: AppOptions) {\n super({\n ...options,\n appDirname,\n packageDirname,\n config,\n });\n }\n}\n"],"names":["logger","Logger","AlpNodeApp","Koa","constructor","appDirname","packageDirname","config","certPath","publicPath","dirname","path","normalize","Object","defineProperty","get","deprecate","configurable","enumerable","_config","context","params","language","translate","use","compress","existsConfigSync","name","loadConfigSync","createContext","req","res","ctx","sanitizedState","servePublic","serve","catchErrors","errors","listen","Error","close","_server","emit","start","fn","server","_listen","callback","success","process","send","error","err","resolve","packagePath","String","debug","packageConfig","JSON","parse","readFileSync","buildedConfigPath","configPath","existsSync","Config","loadSync","App","options"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alp-node",
3
- "version": "5.2.0",
3
+ "version": "6.1.0",
4
4
  "description": "framework based on koa 2",
5
5
  "keywords": [
6
6
  "springbokjs",
@@ -22,39 +22,37 @@
22
22
  },
23
23
  "type": "module",
24
24
  "engines": {
25
- "node": ">=16.0.0"
25
+ "node": ">=18.12.0"
26
26
  },
27
- "main": "./dist/index-node16.mjs",
27
+ "main": "./dist/index-node18.mjs",
28
28
  "types": "./dist/definitions/index.d.ts",
29
29
  "typesVersions": {
30
30
  ">=3.1": {
31
31
  "AlpNodeApp": [
32
32
  "./dist/AlpNodeApp.d.ts"
33
- ],
34
- "fetch": [
35
- "./dist/fetch.d.ts"
36
33
  ]
37
34
  }
38
35
  },
39
36
  "exports": {
40
37
  "./package.json": "./package.json",
41
38
  ".": {
39
+ "types": "./dist/definitions/index.d.ts",
42
40
  "node": {
43
- "import": "./dist/index-node16.mjs"
41
+ "import": "./dist/index-node18.mjs"
44
42
  }
45
43
  },
46
44
  "./AlpNodeApp": {
45
+ "types": "./dist/definitions/AlpNodeApp.d.ts",
47
46
  "node": {
48
- "import": "./dist/AlpNodeApp-node16.mjs"
49
- }
50
- },
51
- "./fetch": {
52
- "node": {
53
- "import": "./dist/fetch-node16.mjs"
47
+ "import": "./dist/AlpNodeApp-node18.mjs"
54
48
  }
55
49
  }
56
50
  },
57
51
  "sideEffects": false,
52
+ "files": [
53
+ "src",
54
+ "dist"
55
+ ],
58
56
  "scripts": {
59
57
  "build": "yarn clean:build && rollup --config rollup.config.mjs && yarn run build:definitions",
60
58
  "build:definitions": "tsc -p tsconfig.json",
@@ -69,42 +67,38 @@
69
67
  "babelEnvs": [
70
68
  {
71
69
  "target": "node",
72
- "version": "16"
70
+ "version": "18"
73
71
  }
74
72
  ],
75
73
  "entries": [
76
74
  "index",
77
- "AlpNodeApp",
78
- "fetch"
75
+ "AlpNodeApp"
79
76
  ]
80
77
  },
81
78
  "peerDependencies": {
82
- "router-segments": "^6.0.0"
79
+ "router-segments": "^9.1.0"
83
80
  },
84
81
  "dependencies": {
85
82
  "@types/koa": "^2.13.1",
86
- "@types/node": ">=16.0.0",
87
- "@types/node-fetch": "^3.0.3",
88
- "alp-listen": "6.2.0",
89
- "alp-node-config": "8.3.0",
90
- "alp-node-errors": "7.2.0",
91
- "alp-node-language": "6.2.0",
92
- "alp-params": "5.2.0",
93
- "alp-translate": "7.3.0",
94
- "alp-types": "3.1.0",
83
+ "@types/node": ">=18.0.0",
84
+ "alp-listen": "7.1.0",
85
+ "alp-node-config": "9.1.0",
86
+ "alp-node-errors": "8.1.0",
87
+ "alp-node-language": "7.1.0",
88
+ "alp-params": "6.1.0",
89
+ "alp-translate": "8.1.0",
90
+ "alp-types": "3.1.1",
95
91
  "koa": "^2.13.1",
96
92
  "koa-compress": "^5.0.0",
97
93
  "koa-static": "^5.0.0",
98
- "nightingale-logger": "^13.0.0",
99
- "node-fetch": "^3.2.0"
94
+ "nightingale-logger": "^15.0.0"
100
95
  },
101
96
  "devDependencies": {
102
- "@babel/core": "7.21.3",
103
- "@types/koa-compress": "4.0.3",
104
- "@types/koa-static": "4.0.2",
105
- "@types/minimist": "1.2.2",
106
- "pob-babel": "35.6.2",
107
- "typescript": "4.9.5"
108
- },
109
- "gitHead": "f7dfa98e33968879e3b16541652a316e92782259"
110
- }
97
+ "@babel/core": "7.23.6",
98
+ "@types/koa-compress": "4.0.6",
99
+ "@types/koa-static": "4.0.4",
100
+ "@types/minimist": "1.2.5",
101
+ "pob-babel": "38.0.0",
102
+ "typescript": "5.3.3"
103
+ }
104
+ }
package/src/AlpNodeApp.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { IncomingMessage, Server, ServerResponse } from 'http';
2
- import path from 'path';
3
- import { deprecate } from 'util';
1
+ import type { IncomingMessage, Server, ServerResponse } from 'node:http';
2
+ import path from 'node:path';
3
+ import { deprecate } from 'node:util';
4
4
  import _listen from 'alp-listen';
5
5
  import type { Config } from 'alp-node-config';
6
6
  import _config from 'alp-node-config';
@@ -50,7 +50,7 @@ export class AlpNodeApp extends Koa<ContextState> implements NodeApplication {
50
50
 
51
51
  publicPath: string;
52
52
 
53
- config: NodeConfig & Config;
53
+ config: Config & NodeConfig;
54
54
 
55
55
  declare request: BaseRequest & ContextRequest;
56
56
 
@@ -99,7 +99,7 @@ export class AlpNodeApp extends Koa<ContextState> implements NodeApplication {
99
99
  return this.config.loadConfigSync(name);
100
100
  }
101
101
 
102
- createContext<StateT = DefaultState>(
102
+ override createContext<StateT = DefaultState>(
103
103
  req: IncomingMessage,
104
104
  res: ServerResponse,
105
105
  ): ParameterizedContext<StateT> {
@@ -116,7 +116,8 @@ export class AlpNodeApp extends Koa<ContextState> implements NodeApplication {
116
116
  this.use(errors);
117
117
  }
118
118
 
119
- listen(): Server {
119
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
120
+ override listen(): never {
120
121
  throw new Error('Use start instead');
121
122
  }
122
123
 
@@ -138,9 +139,9 @@ export class AlpNodeApp extends Koa<ContextState> implements NodeApplication {
138
139
  logger.success('started');
139
140
  if (process.send) process.send('ready');
140
141
  return server;
141
- } catch (err: unknown) {
142
- logger.error('start fail', { err });
143
- throw err;
142
+ } catch (error: unknown) {
143
+ logger.error('start fail', { err: error });
144
+ throw error;
144
145
  }
145
146
  }
146
147
  }
package/src/index.ts CHANGED
@@ -1,12 +1,10 @@
1
- import { existsSync, readFileSync } from 'fs';
2
- import path from 'path';
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
3
  import { Config } from 'alp-node-config';
4
4
  import { Logger } from 'nightingale-logger';
5
5
  import type { AlpNodeAppOptions } from './AlpNodeApp';
6
6
  import { AlpNodeApp } from './AlpNodeApp';
7
7
 
8
- export { default as fetch } from 'node-fetch';
9
-
10
8
  export type { Context } from './AlpNodeApp';
11
9
  export { Config } from 'alp-node-config';
12
10
 
@@ -35,7 +33,7 @@ export const config = new Config(configPath).loadSync({ packageConfig });
35
33
 
36
34
  export type AppOptions = Omit<
37
35
  AlpNodeAppOptions,
38
- 'appDirname' | 'packageDirname' | 'config'
36
+ 'appDirname' | 'config' | 'packageDirname'
39
37
  >;
40
38
 
41
39
  export default class App extends AlpNodeApp {
package/.editorconfig DELETED
@@ -1,13 +0,0 @@
1
- # EditorConfig helps developers define and maintain consistent
2
- # coding styles between different editors and IDEs
3
- # http://editorconfig.org
4
-
5
- root = true
6
-
7
- [*]
8
- indent_style = space
9
- indent_size = 2
10
- end_of_line = lf
11
- charset = utf-8
12
- trim_trailing_whitespace = true
13
- insert_final_newline = true
package/.eslintrc.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "root": true,
3
- "extends": ["@pob/eslint-config/root-module"],
4
- "ignorePatterns": ["*.d.ts", "/dist"]
5
- }
package/AUTHORS DELETED
@@ -1 +0,0 @@
1
- Christophe Hurpeau <christophe@hurpeau.com>
@@ -1 +0,0 @@
1
- {"version":3,"file":"AlpNodeApp-node16.mjs","sources":["../src/AlpNodeApp.ts"],"sourcesContent":["import type { IncomingMessage, Server, ServerResponse } from 'http';\nimport path from 'path';\nimport { deprecate } from 'util';\nimport _listen from 'alp-listen';\nimport type { Config } from 'alp-node-config';\nimport _config from 'alp-node-config';\nimport errors from 'alp-node-errors';\nimport language from 'alp-node-language';\nimport params from 'alp-params';\nimport translate from 'alp-translate';\nimport type {\n NodeApplication,\n NodeConfig,\n Context as AlpContext,\n ContextState,\n ContextSanitizedState,\n ContextRequest,\n} from 'alp-types';\nimport Koa from 'koa';\nimport type { ParameterizedContext, DefaultState, BaseRequest } from 'koa';\nimport compress from 'koa-compress';\nimport serve from 'koa-static';\nimport { Logger } from 'nightingale-logger';\n\nconst logger = new Logger('alp');\n\nexport interface AlpNodeAppOptions {\n appDirname: string;\n packageDirname: string;\n config: Config & NodeConfig;\n certPath?: string;\n publicPath?: string;\n}\n\ndeclare module 'koa' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface DefaultState extends ContextState {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface BaseContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface BaseRequest extends ContextRequest {}\n}\n\nexport class AlpNodeApp extends Koa<ContextState> implements NodeApplication {\n dirname: string;\n\n certPath: string;\n\n publicPath: string;\n\n config: NodeConfig & Config;\n\n declare request: BaseRequest & ContextRequest;\n\n _server?: Server;\n\n /**\n * @param {Object} [options]\n * @param {string} [options.certPath] directory of the ssl certificates\n * @param {string} [options.publicPath] directory of public files\n */\n constructor({\n appDirname,\n packageDirname,\n config,\n certPath,\n publicPath,\n }: AlpNodeAppOptions) {\n super();\n\n this.dirname = path.normalize(appDirname);\n\n Object.defineProperty(this, 'packageDirname', {\n get: deprecate(() => packageDirname, 'packageDirname'),\n configurable: false,\n enumerable: false,\n });\n\n this.certPath = certPath || `${packageDirname}/config/cert`;\n this.publicPath = publicPath || `${packageDirname}/public/`;\n\n this.config = _config(this, config);\n this.context.config = this.config;\n\n params(this);\n language(this);\n translate('locales')(this);\n\n this.use(compress());\n }\n\n existsConfigSync(name: string): ReturnType<Config['existsConfigSync']> {\n return this.config.existsConfigSync(name);\n }\n\n loadConfigSync(name: string): ReturnType<Config['loadConfigSync']> {\n return this.config.loadConfigSync(name);\n }\n\n createContext<StateT = DefaultState>(\n req: IncomingMessage,\n res: ServerResponse,\n ): ParameterizedContext<StateT> {\n const ctx = super.createContext<StateT>(req, res);\n ctx.sanitizedState = {} as ContextSanitizedState;\n return ctx;\n }\n\n servePublic(): void {\n this.use(serve(this.publicPath)); // static files\n }\n\n catchErrors(): void {\n this.use(errors);\n }\n\n listen(): Server {\n throw new Error('Use start instead');\n }\n\n /**\n * Close server and emit close event\n */\n close(): void {\n if (this._server) {\n this._server.close();\n this.emit('close');\n }\n }\n\n async start(fn: () => Promise<void> | void): Promise<Server> {\n await fn();\n try {\n const server = await _listen(this.config, this.callback(), this.certPath);\n this._server = server;\n logger.success('started');\n if (process.send) process.send('ready');\n return server;\n } catch (err: unknown) {\n logger.error('start fail', { err });\n throw err;\n }\n }\n}\n\nexport type { Context } from 'koa';\n"],"names":["logger","Logger","AlpNodeApp","Koa","constructor","appDirname","packageDirname","config","certPath","publicPath","dirname","path","normalize","Object","defineProperty","get","deprecate","configurable","enumerable","_config","context","params","language","translate","use","compress","existsConfigSync","name","loadConfigSync","createContext","req","res","ctx","sanitizedState","servePublic","serve","catchErrors","errors","listen","Error","close","_server","emit","start","fn","server","_listen","callback","success","process","send","err","error"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import nodeFetch from 'node-fetch';
2
- export default nodeFetch;
3
- //# sourceMappingURL=fetch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AASnC,eAAe,SAAS,CAAC"}
@@ -1,9 +0,0 @@
1
- import nodeFetch from 'node-fetch';
2
- export { default } from 'node-fetch';
3
-
4
- // TODO remove with node 18 since is native
5
- // https://nodejs.org/en/blog/announcements/v18-release-announce/
6
-
7
- // @ts-expect-error -- node-fetch does not exactly match dom api
8
- global.fetch = nodeFetch;
9
- //# sourceMappingURL=fetch-node16.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch-node16.mjs","sources":["../src/fetch.ts"],"sourcesContent":["import nodeFetch from 'node-fetch';\n\n// TODO remove with node 18 since is native\n// https://nodejs.org/en/blog/announcements/v18-release-announce/\n\n// @ts-expect-error -- node-fetch does not exactly match dom api\nglobal.fetch = nodeFetch;\n\n// eslint-disable-next-line unicorn/prefer-export-from\nexport default nodeFetch;\n"],"names":["global","fetch","nodeFetch"],"mappings":";;;AAEA;AACA;;AAEA;AACAA,MAAM,CAACC,KAAK,GAAGC,SAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-node16.mjs","sources":["../src/AlpNodeApp.ts","../src/index.ts"],"sourcesContent":["import type { IncomingMessage, Server, ServerResponse } from 'http';\nimport path from 'path';\nimport { deprecate } from 'util';\nimport _listen from 'alp-listen';\nimport type { Config } from 'alp-node-config';\nimport _config from 'alp-node-config';\nimport errors from 'alp-node-errors';\nimport language from 'alp-node-language';\nimport params from 'alp-params';\nimport translate from 'alp-translate';\nimport type {\n NodeApplication,\n NodeConfig,\n Context as AlpContext,\n ContextState,\n ContextSanitizedState,\n ContextRequest,\n} from 'alp-types';\nimport Koa from 'koa';\nimport type { ParameterizedContext, DefaultState, BaseRequest } from 'koa';\nimport compress from 'koa-compress';\nimport serve from 'koa-static';\nimport { Logger } from 'nightingale-logger';\n\nconst logger = new Logger('alp');\n\nexport interface AlpNodeAppOptions {\n appDirname: string;\n packageDirname: string;\n config: Config & NodeConfig;\n certPath?: string;\n publicPath?: string;\n}\n\ndeclare module 'koa' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface DefaultState extends ContextState {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface BaseContext extends AlpContext {}\n // eslint-disable-next-line @typescript-eslint/no-empty-interface, @typescript-eslint/no-shadow\n interface BaseRequest extends ContextRequest {}\n}\n\nexport class AlpNodeApp extends Koa<ContextState> implements NodeApplication {\n dirname: string;\n\n certPath: string;\n\n publicPath: string;\n\n config: NodeConfig & Config;\n\n declare request: BaseRequest & ContextRequest;\n\n _server?: Server;\n\n /**\n * @param {Object} [options]\n * @param {string} [options.certPath] directory of the ssl certificates\n * @param {string} [options.publicPath] directory of public files\n */\n constructor({\n appDirname,\n packageDirname,\n config,\n certPath,\n publicPath,\n }: AlpNodeAppOptions) {\n super();\n\n this.dirname = path.normalize(appDirname);\n\n Object.defineProperty(this, 'packageDirname', {\n get: deprecate(() => packageDirname, 'packageDirname'),\n configurable: false,\n enumerable: false,\n });\n\n this.certPath = certPath || `${packageDirname}/config/cert`;\n this.publicPath = publicPath || `${packageDirname}/public/`;\n\n this.config = _config(this, config);\n this.context.config = this.config;\n\n params(this);\n language(this);\n translate('locales')(this);\n\n this.use(compress());\n }\n\n existsConfigSync(name: string): ReturnType<Config['existsConfigSync']> {\n return this.config.existsConfigSync(name);\n }\n\n loadConfigSync(name: string): ReturnType<Config['loadConfigSync']> {\n return this.config.loadConfigSync(name);\n }\n\n createContext<StateT = DefaultState>(\n req: IncomingMessage,\n res: ServerResponse,\n ): ParameterizedContext<StateT> {\n const ctx = super.createContext<StateT>(req, res);\n ctx.sanitizedState = {} as ContextSanitizedState;\n return ctx;\n }\n\n servePublic(): void {\n this.use(serve(this.publicPath)); // static files\n }\n\n catchErrors(): void {\n this.use(errors);\n }\n\n listen(): Server {\n throw new Error('Use start instead');\n }\n\n /**\n * Close server and emit close event\n */\n close(): void {\n if (this._server) {\n this._server.close();\n this.emit('close');\n }\n }\n\n async start(fn: () => Promise<void> | void): Promise<Server> {\n await fn();\n try {\n const server = await _listen(this.config, this.callback(), this.certPath);\n this._server = server;\n logger.success('started');\n if (process.send) process.send('ready');\n return server;\n } catch (err: unknown) {\n logger.error('start fail', { err });\n throw err;\n }\n }\n}\n\nexport type { Context } from 'koa';\n","import { existsSync, readFileSync } from 'fs';\nimport path from 'path';\nimport { Config } from 'alp-node-config';\nimport { Logger } from 'nightingale-logger';\nimport type { AlpNodeAppOptions } from './AlpNodeApp';\nimport { AlpNodeApp } from './AlpNodeApp';\n\nexport { default as fetch } from 'node-fetch';\n\nexport type { Context } from './AlpNodeApp';\nexport { Config } from 'alp-node-config';\n\nconst logger = new Logger('alp');\n\nexport const appDirname = path.resolve('build');\n\nconst packagePath = path.resolve('package.json');\nif (!packagePath) {\n throw new Error(`Could not find package.json: \"${String(packagePath)}\"`);\n}\nexport const packageDirname = path.dirname(packagePath);\n\nlogger.debug('init', { appDirname, packageDirname });\n\nexport const packageConfig: Record<string, unknown> = JSON.parse(\n readFileSync(packagePath, 'utf8'),\n) as Record<string, unknown>;\n\nconst buildedConfigPath = `${appDirname}/build/config/`;\nconst configPath = existsSync(buildedConfigPath)\n ? buildedConfigPath\n : `${appDirname}/config/`;\n\nexport const config = new Config(configPath).loadSync({ packageConfig });\n\nexport type AppOptions = Omit<\n AlpNodeAppOptions,\n 'appDirname' | 'packageDirname' | 'config'\n>;\n\nexport default class App extends AlpNodeApp {\n constructor(options?: AppOptions) {\n super({\n ...options,\n appDirname,\n packageDirname,\n config,\n });\n }\n}\n"],"names":["logger","Logger","AlpNodeApp","Koa","constructor","appDirname","packageDirname","config","certPath","publicPath","dirname","path","normalize","Object","defineProperty","get","deprecate","configurable","enumerable","_config","context","params","language","translate","use","compress","existsConfigSync","name","loadConfigSync","createContext","req","res","ctx","sanitizedState","servePublic","serve","catchErrors","errors","listen","Error","close","_server","emit","start","fn","server","_listen","callback","success","process","send","err","error","resolve","packagePath","String","debug","packageConfig","JSON","parse","readFileSync","buildedConfigPath","configPath","existsSync","Config","loadSync","App","options"],"mappings":"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"}
package/src/fetch.ts DELETED
@@ -1,10 +0,0 @@
1
- import nodeFetch from 'node-fetch';
2
-
3
- // TODO remove with node 18 since is native
4
- // https://nodejs.org/en/blog/announcements/v18-release-announce/
5
-
6
- // @ts-expect-error -- node-fetch does not exactly match dom api
7
- global.fetch = nodeFetch;
8
-
9
- // eslint-disable-next-line unicorn/prefer-export-from
10
- export default nodeFetch;