@celljs/fc-adapter 3.8.0 → 3.9.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.
Files changed (32) hide show
  1. package/esm/node/account-provider.d.ts +5 -0
  2. package/esm/node/account-provider.js +25 -0
  3. package/esm/node/account-provider.js.map +1 -0
  4. package/esm/node/api-gateway-application-entry.d.ts +1 -0
  5. package/esm/node/api-gateway-application-entry.js +43 -0
  6. package/esm/node/api-gateway-application-entry.js.map +1 -0
  7. package/esm/node/credentials-provider.d.ts +5 -0
  8. package/esm/node/credentials-provider.js +27 -0
  9. package/esm/node/credentials-provider.js.map +1 -0
  10. package/esm/node/event-application-entry.d.ts +1 -0
  11. package/esm/node/event-application-entry.js +31 -0
  12. package/esm/node/event-application-entry.js.map +1 -0
  13. package/esm/node/http-application-entry.d.ts +1 -0
  14. package/esm/node/http-application-entry.js +41 -0
  15. package/esm/node/http-application-entry.js.map +1 -0
  16. package/esm/node/index.d.ts +3 -0
  17. package/esm/node/index.js +4 -0
  18. package/esm/node/index.js.map +1 -0
  19. package/esm/node/module.d.ts +3 -0
  20. package/esm/node/module.js +4 -0
  21. package/esm/node/module.js.map +1 -0
  22. package/esm/node/regin-provider.d.ts +4 -0
  23. package/esm/node/regin-provider.js +23 -0
  24. package/esm/node/regin-provider.js.map +1 -0
  25. package/esm/node/sample-http-application-entry.d.ts +1 -0
  26. package/esm/node/sample-http-application-entry.js +38 -0
  27. package/esm/node/sample-http-application-entry.js.map +1 -0
  28. package/esm/node/timer-application-entry.d.ts +1 -0
  29. package/esm/node/timer-application-entry.js +34 -0
  30. package/esm/node/timer-application-entry.js.map +1 -0
  31. package/esm/package.json +3 -0
  32. package/package.json +32 -7
@@ -0,0 +1,5 @@
1
+ import { DefaultAccountProvider } from '@celljs/cloud/lib/node';
2
+ import { Account } from '@celljs/cloud';
3
+ export declare class FaaSAccountProvider extends DefaultAccountProvider {
4
+ provide(): Promise<Account | undefined>;
5
+ }
@@ -0,0 +1,25 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component } from '@celljs/core';
8
+ import { DefaultAccountProvider } from '@celljs/cloud/lib/node';
9
+ import { AccountProvider } from '@celljs/cloud';
10
+ let FaaSAccountProvider = class FaaSAccountProvider extends DefaultAccountProvider {
11
+ async provide() {
12
+ const account = await super.provide();
13
+ if (account) {
14
+ return account;
15
+ }
16
+ return {
17
+ id: process.env.ALIBABA_ACCOUNT_ID
18
+ };
19
+ }
20
+ };
21
+ FaaSAccountProvider = __decorate([
22
+ Component({ id: AccountProvider, rebind: true })
23
+ ], FaaSAccountProvider);
24
+ export { FaaSAccountProvider };
25
+ //# sourceMappingURL=account-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-provider.js","sourceRoot":"","sources":["../../src/node/account-provider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAW,MAAM,eAAe,CAAC;AAGlD,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,sBAAsB;IAElD,KAAK,CAAC,OAAO;QAClB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO;YACH,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAmB;SACtC,CAAC;IACN,CAAC;CAEJ,CAAA;AAZY,mBAAmB;IAD/B,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACpC,mBAAmB,CAY/B"}
@@ -0,0 +1 @@
1
+ export declare function handler(event: string, context: any, callback: any): Promise<void>;
@@ -0,0 +1,43 @@
1
+ import { container } from '@celljs/core/lib/common/container/dynamic-container';
2
+ import { Application } from '@celljs/core/lib/common/application/application-protocol';
3
+ import { ContainerProvider } from '@celljs/core/lib/common/container/container-provider';
4
+ import { Dispatcher } from '@celljs/web/lib/node/dispatcher/dispatcher-protocol';
5
+ import { Context } from '@celljs/web/lib/node/context';
6
+ import { FaaSEventListener } from '@celljs/faas-adapter/lib/node/event/event-protocol';
7
+ import express from 'express';
8
+ import * as proxy from '@webserverless/fc-express';
9
+ let listeners;
10
+ const app = express();
11
+ const server = new proxy.Server(app);
12
+ async function start() {
13
+ const c = await container;
14
+ ContainerProvider.set(c);
15
+ app.all('*', async (req, res) => {
16
+ const dispatcher = c.get(Dispatcher);
17
+ const httpContext = new Context(req, res);
18
+ Context.run(() => dispatcher.dispatch(httpContext));
19
+ });
20
+ listeners = c.getAll(FaaSEventListener);
21
+ return c.get(Application).start();
22
+ }
23
+ const startPromise = start();
24
+ export async function handler(event, context, callback) {
25
+ var _a, _b, _c;
26
+ process.env.ALIBABA_ACCOUNT_ID = context.accountId;
27
+ process.env.ALIBABA_ACCESS_KEY_ID = (_a = context.credentials) === null || _a === void 0 ? void 0 : _a.accessKeyId;
28
+ process.env.ALIBABA_ACCESS_KEY_SECRET = (_b = context.credentials) === null || _b === void 0 ? void 0 : _b.accessKeySecret;
29
+ process.env.ALIBABA_SECURITY_TOKEN = (_c = context.credentials) === null || _c === void 0 ? void 0 : _c.securityToken;
30
+ process.env.ALIBABA_REQUEST_ID = context.requestId;
31
+ process.env.ALIBABA_REGION = context.region;
32
+ process.env.IGNORE_EVENT_HEADER = 'true';
33
+ process.env.IGNORE_CONTEXT_HEADER = 'true';
34
+ try {
35
+ await startPromise;
36
+ await Promise.all(listeners.map(l => l.onTrigger(event)));
37
+ }
38
+ catch (error) {
39
+ callback(undefined, error);
40
+ }
41
+ server.proxy(event, context, callback);
42
+ }
43
+ //# sourceMappingURL=api-gateway-application-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-gateway-application-entry.js","sourceRoot":"","sources":["../../src/node/api-gateway-application-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAC;AAEnD,IAAI,SAAyC,CAAC;AAE9C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAErC,KAAK,UAAU,KAAK;IAChB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAsB,UAAU,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,SAAS,GAAG,CAAC,CAAC,MAAM,CAA+B,iBAAiB,CAAC,CAAC;IAEtE,OAAO,CAAC,CAAC,GAAG,CAAc,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,OAAY,EAAE,QAAa;;IACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,WAAW,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,eAAe,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,aAAa,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3C,IAAI,CAAC;QACD,MAAM,YAAY,CAAC;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { DefaultCredentialsProvider } from '@celljs/cloud/lib/node';
2
+ import { Credentials } from '@celljs/cloud';
3
+ export declare class FaaSCredentialsProvider extends DefaultCredentialsProvider {
4
+ provide(): Promise<Credentials | undefined>;
5
+ }
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { DefaultCredentialsProvider } from '@celljs/cloud/lib/node';
8
+ import { Component } from '@celljs/core';
9
+ import { CredentialsProvider } from '@celljs/cloud';
10
+ let FaaSCredentialsProvider = class FaaSCredentialsProvider extends DefaultCredentialsProvider {
11
+ async provide() {
12
+ const credentials = await super.provide();
13
+ if (credentials) {
14
+ return credentials;
15
+ }
16
+ return {
17
+ accessKeyId: process.env.ALIBABA_ACCESS_KEY_ID,
18
+ accessKeySecret: process.env.ALIBABA_ACCESS_KEY_SECRET,
19
+ token: process.env.ALIBABA_SECURITY_TOKEN
20
+ };
21
+ }
22
+ };
23
+ FaaSCredentialsProvider = __decorate([
24
+ Component({ id: CredentialsProvider, rebind: true })
25
+ ], FaaSCredentialsProvider);
26
+ export { FaaSCredentialsProvider };
27
+ //# sourceMappingURL=credentials-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials-provider.js","sourceRoot":"","sources":["../../src/node/credentials-provider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAe,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG1D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,0BAA0B;IAE1D,KAAK,CAAC,OAAO;QAClB,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,OAAO;YACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAsB;YAC/C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,yBAA0B;YACvD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;SAC5C,CAAC;IACN,CAAC;CAEJ,CAAA;AAdY,uBAAuB;IADnC,SAAS,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACxC,uBAAuB,CAcnC"}
@@ -0,0 +1 @@
1
+ export declare function handler(event: string, context: any, callback: any): Promise<void>;
@@ -0,0 +1,31 @@
1
+ import { container } from '@celljs/core/lib/common/container/dynamic-container';
2
+ import { Application } from '@celljs/core/lib/common/application/application-protocol';
3
+ import { ContainerProvider } from '@celljs/core/lib/common/container/container-provider';
4
+ import { FaaSEventListener } from '@celljs/faas-adapter/lib/node/event/event-protocol';
5
+ let listeners;
6
+ async function start() {
7
+ const c = await container;
8
+ ContainerProvider.set(c);
9
+ await c.get(Application).start();
10
+ listeners = c.getAll(FaaSEventListener);
11
+ }
12
+ const startPromise = start();
13
+ export async function handler(event, context, callback) {
14
+ var _a, _b, _c;
15
+ process.env.ALIBABA_ACCOUNT_ID = context.accountId;
16
+ process.env.ALIBABA_ACCESS_KEY_ID = (_a = context.credentials) === null || _a === void 0 ? void 0 : _a.accessKeyId;
17
+ process.env.ALIBABA_ACCESS_KEY_SECRET = (_b = context.credentials) === null || _b === void 0 ? void 0 : _b.accessKeySecret;
18
+ process.env.ALIBABA_SECURITY_TOKEN = (_c = context.credentials) === null || _c === void 0 ? void 0 : _c.securityToken;
19
+ process.env.ALIBABA_REQUEST_ID = context.requestId;
20
+ process.env.ALIBABA_REGION = context.region;
21
+ try {
22
+ await startPromise;
23
+ let result = await Promise.all(listeners.map(l => l.onTrigger(event)));
24
+ result = result.filter(item => !!item);
25
+ callback(result.length === 1 ? result[0] : result);
26
+ }
27
+ catch (error) {
28
+ callback(undefined, error);
29
+ }
30
+ }
31
+ //# sourceMappingURL=event-application-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-application-entry.js","sourceRoot":"","sources":["../../src/node/event-application-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF,IAAI,SAAwC,CAAC;AAE7C,KAAK,UAAU,KAAK;IAChB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,CAAC,GAAG,CAAc,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9C,SAAS,GAAG,CAAC,CAAC,MAAM,CAA8B,iBAAiB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,OAAY,EAAE,QAAa;;IACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,WAAW,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,eAAe,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,aAAa,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC;QACD,MAAM,YAAY,CAAC;QACnB,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;AAEL,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { container } from '@celljs/core/lib/common/container/dynamic-container';
2
+ import { Application } from '@celljs/core/lib/common/application/application-protocol';
3
+ import { ContainerProvider } from '@celljs/core/lib/common/container/container-provider';
4
+ import { Dispatcher } from '@celljs/web/lib/node/dispatcher/dispatcher-protocol';
5
+ import { Context } from '@celljs/web/lib/node/context';
6
+ import express from 'express';
7
+ const app = express();
8
+ const port = 9000;
9
+ async function bootstrap() {
10
+ try {
11
+ const c = await container;
12
+ ContainerProvider.set(c);
13
+ await c.get(Application).start();
14
+ app.all('*', async (req, res) => {
15
+ process.env.ALIBABA_ACCOUNT_ID = req.get('x-fc-account-id');
16
+ process.env.ALIBABA_ACCESS_KEY_ID = req.get('x-fc-access-key-id');
17
+ process.env.ALIBABA_ACCESS_KEY_SECRET = req.get('x-fc-access-key-secret');
18
+ process.env.ALIBABA_SECURITY_TOKEN = req.get('x-fc-security-token');
19
+ process.env.ALIBABA_REQUEST_ID = req.get('x-fc-request-id');
20
+ process.env.ALIBABA_REGION = req.get('x-fc-region');
21
+ const dispatcher = c.get(Dispatcher);
22
+ const httpContext = new Context(req, res);
23
+ Context.run(() => dispatcher.dispatch(httpContext));
24
+ });
25
+ const server = app.listen(port, '0.0.0.0');
26
+ server.timeout = 0;
27
+ server.keepAliveTimeout = 0;
28
+ console.log(`serve ${port}`);
29
+ }
30
+ catch (error) {
31
+ app.all('*', async (req, res) => {
32
+ res.status = 500;
33
+ res.send(error);
34
+ });
35
+ const server = app.listen(port, '0.0.0.0');
36
+ server.timeout = 0;
37
+ server.keepAliveTimeout = 0;
38
+ }
39
+ }
40
+ bootstrap();
41
+ //# sourceMappingURL=http-application-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-application-entry.js","sourceRoot":"","sources":["../../src/node/http-application-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,KAAK,UAAU,SAAS;IACpB,IAAI,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;QAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,CAAC,GAAG,CAAc,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAsB,UAAU,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACtC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAChC,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './account-provider.js';
2
+ export * from './credentials-provider.js';
3
+ export * from './regin-provider.js';
@@ -0,0 +1,4 @@
1
+ export * from './account-provider.js';
2
+ export * from './credentials-provider.js';
3
+ export * from './regin-provider.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import './index.js';
2
+ declare const _default: import("inversify").interfaces.ContainerModule;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { autoBind } from '@celljs/core';
2
+ import './index.js';
3
+ export default autoBind();
4
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/node/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,SAAS,CAAC;AAEjB,eAAe,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { DefaultRegionProvider } from '@celljs/cloud/lib/node';
2
+ export declare class FaaSRegionProvider extends DefaultRegionProvider {
3
+ provide(): Promise<string | undefined>;
4
+ }
@@ -0,0 +1,23 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { DefaultRegionProvider } from '@celljs/cloud/lib/node';
8
+ import { Component } from '@celljs/core';
9
+ import { RegionProvider } from '@celljs/cloud';
10
+ let FaaSRegionProvider = class FaaSRegionProvider extends DefaultRegionProvider {
11
+ async provide() {
12
+ const region = await super.provide();
13
+ if (region) {
14
+ return region;
15
+ }
16
+ return process.env.ALIBABA_REGION;
17
+ }
18
+ };
19
+ FaaSRegionProvider = __decorate([
20
+ Component({ id: RegionProvider, rebind: true })
21
+ ], FaaSRegionProvider);
22
+ export { FaaSRegionProvider };
23
+ //# sourceMappingURL=regin-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regin-provider.js","sourceRoot":"","sources":["../../src/node/regin-provider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,qBAAqB;IAEhD,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACtC,CAAC;CACJ,CAAA;AATY,kBAAkB;IAD9B,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACnC,kBAAkB,CAS9B"}
@@ -0,0 +1 @@
1
+ export declare function handler(req: any, res: any, context: any): Promise<void>;
@@ -0,0 +1,38 @@
1
+ import { createRequire as __cellCreateRequire } from "node:module";
2
+ const require = __cellCreateRequire(import.meta.url);
3
+ import { container } from '@celljs/core/lib/common/container/dynamic-container';
4
+ import { Application } from '@celljs/core/lib/common/application/application-protocol';
5
+ import { ContainerProvider } from '@celljs/core/lib/common/container/container-provider';
6
+ import { Dispatcher } from '@celljs/web/lib/node/dispatcher/dispatcher-protocol';
7
+ import { Context } from '@celljs/web/lib/node/context';
8
+ import express from 'express';
9
+ import * as proxy from '@webserverless/fc-express';
10
+ const getRawBody = require('raw-body');
11
+ const app = express();
12
+ const server = new proxy.Server(app);
13
+ async function start() {
14
+ const c = await container;
15
+ ContainerProvider.set(c);
16
+ app.all('*', async (req, res) => {
17
+ const dispatcher = c.get(Dispatcher);
18
+ const httpContext = new Context(req, res);
19
+ Context.run(() => dispatcher.dispatch(httpContext));
20
+ });
21
+ return c.get(Application).start();
22
+ }
23
+ const startPromise = start();
24
+ export async function handler(req, res, context) {
25
+ var _a, _b, _c;
26
+ process.env.ALIBABA_ACCOUNT_ID = context.accountId;
27
+ process.env.ALIBABA_ACCESS_KEY_ID = (_a = context.credentials) === null || _a === void 0 ? void 0 : _a.accessKeyId;
28
+ process.env.ALIBABA_ACCESS_KEY_SECRET = (_b = context.credentials) === null || _b === void 0 ? void 0 : _b.accessKeySecret;
29
+ process.env.ALIBABA_SECURITY_TOKEN = (_c = context.credentials) === null || _c === void 0 ? void 0 : _c.securityToken;
30
+ process.env.ALIBABA_REQUEST_ID = context.requestId;
31
+ process.env.ALIBABA_REGION = context.region;
32
+ process.env.IGNORE_EVENT_HEADER = 'true';
33
+ process.env.IGNORE_CONTEXT_HEADER = 'true';
34
+ req.body = await getRawBody(req);
35
+ await startPromise;
36
+ server.httpProxy(req, res, context);
37
+ }
38
+ //# sourceMappingURL=sample-http-application-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sample-http-application-entry.js","sourceRoot":"","sources":["../../src/node/sample-http-application-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAC;AACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAErC,KAAK,UAAU,KAAK;IAChB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;QACtC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAsB,UAAU,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC,GAAG,CAAc,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAQ,EAAE,GAAQ,EAAE,OAAY;;IAC1D,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,WAAW,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,eAAe,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,aAAa,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3C,GAAG,CAAC,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,YAAY,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function handler(event: string, context: any, callback: any): Promise<void>;
@@ -0,0 +1,34 @@
1
+ import { container } from '@celljs/core/lib/common/container/dynamic-container';
2
+ import { Application } from '@celljs/core/lib/common/application/application-protocol';
3
+ import { ContainerProvider } from '@celljs/core/lib/common/container/container-provider';
4
+ import { Clock } from '@celljs/faas-adapter/lib/node/timer/timer-protocol';
5
+ import { FaaSEventListener } from '@celljs/faas-adapter/lib/node/event/event-protocol';
6
+ let clock;
7
+ let listeners;
8
+ async function start() {
9
+ const c = await container;
10
+ ContainerProvider.set(c);
11
+ await c.get(Application).start();
12
+ clock = c.get(Clock);
13
+ listeners = c.getAll(FaaSEventListener);
14
+ }
15
+ const startPromise = start();
16
+ export async function handler(event, context, callback) {
17
+ var _a, _b, _c;
18
+ process.env.ALIBABA_ACCOUNT_ID = context.accountId;
19
+ process.env.ALIBABA_ACCESS_KEY_ID = (_a = context.credentials) === null || _a === void 0 ? void 0 : _a.accessKeyId;
20
+ process.env.ALIBABA_ACCESS_KEY_SECRET = (_b = context.credentials) === null || _b === void 0 ? void 0 : _b.accessKeySecret;
21
+ process.env.ALIBABA_SECURITY_TOKEN = (_c = context.credentials) === null || _c === void 0 ? void 0 : _c.securityToken;
22
+ process.env.ALIBABA_REQUEST_ID = context.requestId;
23
+ process.env.ALIBABA_REGION = context.region;
24
+ try {
25
+ await startPromise;
26
+ await Promise.all(listeners.map(l => l.onTrigger(event)));
27
+ await clock.tick();
28
+ callback();
29
+ }
30
+ catch (error) {
31
+ callback(undefined, error);
32
+ }
33
+ }
34
+ //# sourceMappingURL=timer-application-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer-application-entry.js","sourceRoot":"","sources":["../../src/node/timer-application-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0DAA0D,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF,IAAI,KAAY,CAAC;AACjB,IAAI,SAAyC,CAAC;AAE9C,KAAK,UAAU,KAAK;IAChB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC;IAC1B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,CAAC,GAAG,CAAc,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9C,KAAK,GAAG,CAAC,CAAC,GAAG,CAAQ,KAAK,CAAC,CAAC;IAC5B,SAAS,GAAG,CAAC,CAAC,MAAM,CAA+B,iBAAiB,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,OAAY,EAAE,QAAa;;IACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,WAAW,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,eAAe,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,aAAa,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,IAAI,CAAC;QACD,MAAM,YAAY,CAAC;QACnB,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;AAEL,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celljs/fc-adapter",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "cell-component"
@@ -18,6 +18,7 @@
18
18
  "typings": "lib/node/index.d.ts",
19
19
  "files": [
20
20
  "lib",
21
+ "esm",
21
22
  "src",
22
23
  "cell.yml",
23
24
  "cell-remote.yml",
@@ -29,16 +30,16 @@
29
30
  "cell-event-mode.yml"
30
31
  ],
31
32
  "scripts": {
32
- "build": "tsc -b",
33
- "clean": "rm -rf lib *.tsbuildinfo",
33
+ "build": "tsc -b && bun ../../scripts/build-esm.ts",
34
+ "clean": "rm -rf lib esm *.tsbuildinfo",
34
35
  "test": "bun test --preload reflect-metadata ./lib",
35
36
  "watch": "tsc -b -w --preserveWatchOutput"
36
37
  },
37
38
  "dependencies": {
38
- "@celljs/cloud": "3.8.0",
39
- "@celljs/core": "3.8.0",
40
- "@celljs/faas-adapter": "3.8.0",
41
- "@celljs/web": "3.8.0",
39
+ "@celljs/cloud": "3.9.0",
40
+ "@celljs/core": "3.9.0",
41
+ "@celljs/faas-adapter": "3.9.0",
42
+ "@celljs/web": "3.9.0",
42
43
  "@webserverless/fc-express": "^1.0.0",
43
44
  "express": "^4.17.1",
44
45
  "raw-body": "^2.3.3",
@@ -46,5 +47,29 @@
46
47
  },
47
48
  "publishConfig": {
48
49
  "access": "public"
50
+ },
51
+ "exports": {
52
+ ".": {
53
+ "webpack": "./lib/node/index.js",
54
+ "import": "./esm/node/index.js",
55
+ "default": "./lib/node/index.js"
56
+ },
57
+ "./package.json": "./package.json",
58
+ "./lib/node": {
59
+ "webpack": "./lib/node/index.js",
60
+ "import": "./esm/node/index.js",
61
+ "default": "./lib/node/index.js"
62
+ },
63
+ "./lib/*.js": {
64
+ "webpack": "./lib/*.js",
65
+ "import": "./esm/*.js",
66
+ "default": "./lib/*.js"
67
+ },
68
+ "./lib/*": {
69
+ "webpack": "./lib/*.js",
70
+ "import": "./esm/*.js",
71
+ "default": "./lib/*.js"
72
+ },
73
+ "./*": "./*"
49
74
  }
50
75
  }