@pwrdrvr/microapps-publish 0.0.6 → 0.0.15
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/{src → dist}/DeployClient.d.ts +0 -0
- package/dist/DeployClient.d.ts.map +1 -0
- package/{src → dist}/DeployClient.js +0 -0
- package/dist/DeployClient.js.map +1 -0
- package/{src → dist}/S3TransferUtility.d.ts +0 -0
- package/dist/S3TransferUtility.d.ts.map +1 -0
- package/{src → dist}/S3TransferUtility.js +0 -0
- package/dist/S3TransferUtility.js.map +1 -0
- package/{src → dist}/S3Uploader.d.ts +0 -0
- package/dist/S3Uploader.d.ts.map +1 -0
- package/{src → dist}/S3Uploader.js +0 -0
- package/dist/S3Uploader.js.map +1 -0
- package/{src → dist}/config/Application.d.ts +0 -0
- package/dist/config/Application.d.ts.map +1 -0
- package/{src → dist}/config/Application.js +1 -1
- package/dist/config/Application.js.map +1 -0
- package/{src → dist}/config/Config.d.ts +0 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/{src → dist}/config/Config.js +0 -0
- package/dist/config/Config.js.map +1 -0
- package/{src → dist}/config/Deployer.d.ts +0 -0
- package/dist/config/Deployer.d.ts.map +1 -0
- package/{src → dist}/config/Deployer.js +0 -0
- package/dist/config/Deployer.js.map +1 -0
- package/{src → dist}/config/FileStore.d.ts +0 -0
- package/dist/config/FileStore.d.ts.map +1 -0
- package/{src → dist}/config/FileStore.js +0 -0
- package/dist/config/FileStore.js.map +1 -0
- package/{src → dist}/index.d.ts +0 -0
- package/dist/index.d.ts.map +1 -0
- package/{src → dist}/index.js +14 -13
- package/dist/index.js.map +1 -0
- package/{src → dist}/lib/FilesExist.d.ts +0 -0
- package/dist/lib/FilesExist.d.ts.map +1 -0
- package/{src → dist}/lib/FilesExist.js +0 -0
- package/dist/lib/FilesExist.js.map +1 -0
- package/package.json +5 -5
- package/src/DeployClient.ts +100 -0
- package/src/S3TransferUtility.ts +82 -0
- package/src/S3Uploader.ts +59 -0
- package/src/config/Application.ts +125 -0
- package/src/config/Config.ts +82 -0
- package/src/config/Deployer.ts +14 -0
- package/src/config/FileStore.ts +14 -0
- package/src/index.ts +345 -0
- package/src/lib/FilesExist.ts +25 -0
- package/LICENSE +0 -21
- package/src/DeployClient.d.ts.map +0 -1
- package/src/DeployClient.js.map +0 -1
- package/src/S3TransferUtility.d.ts.map +0 -1
- package/src/S3TransferUtility.js.map +0 -1
- package/src/S3Uploader.d.ts.map +0 -1
- package/src/S3Uploader.js.map +0 -1
- package/src/config/Application.d.ts.map +0 -1
- package/src/config/Application.js.map +0 -1
- package/src/config/Config.d.ts.map +0 -1
- package/src/config/Config.js.map +0 -1
- package/src/config/Deployer.d.ts.map +0 -1
- package/src/config/Deployer.js.map +0 -1
- package/src/config/FileStore.d.ts.map +0 -1
- package/src/config/FileStore.js.map +0 -1
- package/src/index.d.ts.map +0 -1
- package/src/index.js.map +0 -1
- package/src/lib/FilesExist.d.ts.map +0 -1
- package/src/lib/FilesExist.js.map +0 -1
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,sBAA+B;IACtD,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAA4B;WAEhC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;WAyBzC,sBAAsB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,+BAA+B,CAAA;KAAE,CAAC;WA4BtD,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BlE"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;WAChB,SAAS,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;mBAoDK,QAAQ;CAU9B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;;;AAEF,2BAAsD;AACtD,mDAA6B;AAC7B,+DAAyC;AACzC,sDAA8C;AAG9C,2CAAyC;AACzC,0DAAyB;AAEzB,MAAqB,iBAAiB;IAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,MAAc,EACd,cAAsB,EACtB,UAAkB,EAClB,iBAAkD;QAElD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE;gBACX,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,WAAW;gBACzD,eAAe,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe;gBACjE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY;aAC5D;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;SACjC;QAED,wCAAwC;QACxC,MAAM,eAAI,CACR,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,IAAI,EAAE,qBAAgB,CAAC,QAAQ,CAAC;oBAChC,WAAW,EAAE,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B;oBAC/E,YAAY,EAAE,uBAAuB;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EACD;YACE,WAAW,EAAE,EAAE;SAChB,CASF,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,8CAA8C;IAEtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;AApED,oCAoEC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,UAAU;WACT,MAAM,CACxB,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;WAgCI,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;CACxD"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Uploader.js","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAGxB,gEAA0B;AAE1B,oFAAoD;AAEpD,MAAqB,UAAU;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAe,EACf,YAAoB,EACpB,iBAAkD;QAElD,IAAI;YACF,sEAAsE;YAEtE,0BAA0B;YAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhF,uCAAuC;YACvC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,mDAAmD;YACnD,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,kBAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE3D,gBAAgB;YAChB,MAAM,2BAAiB,CAAC,SAAS,CAC/B,IAAI,CAAC,QAAQ,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,CAClB,CAAC;SACH;gBAAS;YACR,+DAA+D;YAC/D,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;SAC1C;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACvC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;aACvD;SACF;QAAC,WAAM;YACN,aAAa;YACb,gDAAgD;YAChD,iDAAiD;SAClD;IACH,CAAC;;AAhDH,6BAmDC;AADyB,mBAAQ,GAAG,mBAAmB,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/config/Application.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAmBa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAS;IACtB,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAKW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAOM,MAAM,EAAE,MAAM,CAAC;IAOf,WAAW,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,iBAAiB,CAAS;IAClC,IAKW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAExC;IACD,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAOM,UAAU,EAAE,MAAM,CAAC;IAC1B,IAAW,SAAS,IAAI,MAAM,CAI7B;IAOM,YAAY,EAAE,MAAM,CAAC;IAOrB,SAAS,EAAE,MAAM,CAAC;IAOlB,wBAAwB,EAAE,MAAM,CAAC;IAOjC,OAAO,EAAE,MAAM,CAAC;IAOhB,WAAW,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -83,7 +83,7 @@ tslib_1.__decorate([
|
|
|
83
83
|
tslib_1.__decorate([
|
|
84
84
|
convict.Property({
|
|
85
85
|
doc: 'Path to the serverless-nextjs-router index.js file',
|
|
86
|
-
default: './node_modules/@pwrdrvr/serverless-nextjs-router/
|
|
86
|
+
default: './node_modules/@pwrdrvr/serverless-nextjs-router/lib/index.js',
|
|
87
87
|
env: 'SERVERLESS_NEXTJS_ROUTER_INDEX_JS',
|
|
88
88
|
}),
|
|
89
89
|
tslib_1.__metadata("design:type", String)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/config/Application.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/config/Config.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAmB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED,qBAmBa,MAAO,YAAW,OAAO;WACtB,WAAW,IAAI,MAAM,EAAE;IAUrC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAU;IAClC,WAAkB,QAAQ,IAAI,OAAO,CAMpC;IAED,WAAkB,QAAQ,IAAI,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAU5D;IAWM,GAAG,EAAG,kBAAkB,CAAC;IAGzB,QAAQ,EAAG,eAAe,CAAC;IAG3B,SAAS,EAAG,gBAAgB,CAAC;CACrC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/config/Config.ts"],"names":[],"mappings":";;;;;AAAA,iFAA+D;AAC/D,sDAAgC;AAChC,4DAAsC;AACtC,2CAAuC;AACvC,kDAA+C;AAC/C,+CAAsE;AACtE,yCAA6D;AAC7D,2CAAgE;AA0BhE,IAAa,MAAM,cAAnB,MAAa,MAAM;IACV,MAAM,CAAC,WAAW;QACvB,MAAM,aAAa,GAAG;YACpB,kBAAkB;YAClB,iBAAiB;YACjB,eAAe,QAAM,CAAC,QAAQ,OAAO;YACrC,eAAe,QAAM,CAAC,QAAQ,MAAM;SACrC,CAAC;QACF,OAAO,uBAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAGM,MAAM,KAAK,QAAQ;QACxB,IAAI,QAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YAClC,MAAM,YAAY,GAAG,IAAI,sBAAS,CAAS,QAAM,CAAC,CAAC;YACnD,QAAM,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAM,CAAC,WAAW,EAAE,CAAC,CAAC;SAC5D;QACD,OAAO,QAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,MAAM,KAAK,QAAQ;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC9C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC9B,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAkBF,CAAA;AAPC;IADC,OAAO,CAAC,QAAQ,CAAC,+BAAiB,CAAC;;mCACJ;AAGhC;IADC,OAAO,CAAC,QAAQ,CAAC,yBAAc,CAAC;;wCACC;AAGlC;IADC,OAAO,CAAC,QAAQ,CAAC,2BAAe,CAAC;;yCACE;AA/CzB,MAAM;IAnBlB,OAAO,CAAC,MAAM,CAAC;QACd,+DAA+D;QAC/D,IAAI,EAAE,YAAY;QAElB,+DAA+D;QAC/D,gBAAgB,EAAE,QAAQ;QAE1B,2CAA2C;QAC3C,MAAM,EAAE;YACN,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB;QAED,6CAA6C;QAC7C,OAAO,EAAE;YACP,GAAG,EAAH,mCAAG;YACH,SAAS,EAAT,yCAAS;SACV;KACF,CAAC;GACW,MAAM,CAgDlB;AAhDY,wBAAM"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deployer.d.ts","sourceRoot":"","sources":["../../src/config/Deployer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,YAAW,eAAe;IAM7C,UAAU,EAAG,MAAM,CAAC;CAC5B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deployer.js","sourceRoot":"","sources":["../../src/config/Deployer.ts"],"names":[],"mappings":";;;;AAAA,2CAAsC;AAMtC,MAAa,cAAc;CAO1B;AADC;IALC,qBAAQ,CAAC;QACR,GAAG,EAAE,kCAAkC;QACvC,OAAO,EAAE,oBAAoB;QAC7B,GAAG,EAAE,sBAAsB;KAC5B,CAAC;;kDACyB;AAN7B,wCAOC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../src/config/FileStore.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAM/C,aAAa,EAAG,MAAM,CAAC;CAC/B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStore.js","sourceRoot":"","sources":["../../src/config/FileStore.ts"],"names":[],"mappings":";;;;AAAA,2CAAsC;AAMtC,MAAa,eAAe;CAO3B;AADC;IALC,qBAAQ,CAAC;QACR,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,mBAAmB;QAC5B,GAAG,EAAE,0BAA0B;KAChC,CAAC;;sDAC4B;AANhC,0CAOC"}
|
package/{src → dist}/index.d.ts
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,CAAC"}
|
package/{src → dist}/index.js
RENAMED
|
@@ -7,20 +7,21 @@ require("source-map-support/register");
|
|
|
7
7
|
// Used by ts-convict
|
|
8
8
|
require("reflect-metadata");
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
|
-
const
|
|
10
|
+
const path_1 = require("path");
|
|
11
11
|
const util = tslib_1.__importStar(require("util"));
|
|
12
12
|
const lambda = tslib_1.__importStar(require("@aws-sdk/client-lambda"));
|
|
13
13
|
const sts = tslib_1.__importStar(require("@aws-sdk/client-sts"));
|
|
14
14
|
const commander_1 = tslib_1.__importDefault(require("commander"));
|
|
15
|
-
const
|
|
15
|
+
const fs_extra_1 = require("fs-extra");
|
|
16
16
|
const Config_1 = require("./config/Config");
|
|
17
17
|
const DeployClient_1 = tslib_1.__importDefault(require("./DeployClient"));
|
|
18
18
|
const S3Uploader_1 = tslib_1.__importDefault(require("./S3Uploader"));
|
|
19
19
|
const asyncSetTimeout = util.promisify(setTimeout);
|
|
20
20
|
const asyncExec = util.promisify(child_process_1.exec);
|
|
21
21
|
const program = new commander_1.default.Command();
|
|
22
|
+
const pkg = fs_extra_1.readJsonSync(path_1.join(__dirname, '..', 'package.json'));
|
|
22
23
|
program
|
|
23
|
-
.version(
|
|
24
|
+
.version(pkg.version)
|
|
24
25
|
.option('-n, --new-version [version]', 'New version to apply')
|
|
25
26
|
.option('-l, --leave', 'Leave a copy of the modifed files as .modified')
|
|
26
27
|
.option('--deployer-lambda-name [name]', 'Name of the deployer lambda function')
|
|
@@ -123,7 +124,7 @@ class PublishTool {
|
|
|
123
124
|
await asyncExec('serverless');
|
|
124
125
|
if (config.app.serverlessNextRouterPath !== undefined) {
|
|
125
126
|
console.log('Copying Serverless Next.js router to build output directory');
|
|
126
|
-
await
|
|
127
|
+
await fs_extra_1.promises.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
|
|
127
128
|
}
|
|
128
129
|
// Docker, build, tag, push to ECR
|
|
129
130
|
// Note: Need to already have AWS env vars set
|
|
@@ -135,7 +136,7 @@ class PublishTool {
|
|
|
135
136
|
//
|
|
136
137
|
// Check that Static Assets Folder exists
|
|
137
138
|
try {
|
|
138
|
-
const staticAssetsStats = await
|
|
139
|
+
const staticAssetsStats = await fs_extra_1.promises.stat(config.app.staticAssetsPath);
|
|
139
140
|
if (!staticAssetsStats.isDirectory()) {
|
|
140
141
|
throw new Error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
|
|
141
142
|
}
|
|
@@ -165,12 +166,12 @@ class PublishTool {
|
|
|
165
166
|
// Put the old files back when succeeded or failed
|
|
166
167
|
for (const fileToModify of this.FILES_TO_MODIFY) {
|
|
167
168
|
try {
|
|
168
|
-
const stats = await
|
|
169
|
+
const stats = await fs_extra_1.promises.stat(`${fileToModify.path}.original`);
|
|
169
170
|
if (stats.isFile()) {
|
|
170
171
|
// Remove the possibly modified file
|
|
171
|
-
await
|
|
172
|
+
await fs_extra_1.promises.unlink(fileToModify.path);
|
|
172
173
|
// Move the original file back
|
|
173
|
-
await
|
|
174
|
+
await fs_extra_1.promises.rename(`${fileToModify.path}.original`, fileToModify.path);
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
catch (_a) {
|
|
@@ -182,14 +183,14 @@ class PublishTool {
|
|
|
182
183
|
return { version, alias: `v${version.replace(/\./g, '_')}` };
|
|
183
184
|
}
|
|
184
185
|
async writeNewVersions(path, requiredVersions, leaveFiles) {
|
|
185
|
-
const stats = await
|
|
186
|
+
const stats = await fs_extra_1.promises.stat(path);
|
|
186
187
|
if (!stats.isFile) {
|
|
187
188
|
return false;
|
|
188
189
|
}
|
|
189
190
|
// Make a backup of the file
|
|
190
|
-
await
|
|
191
|
+
await fs_extra_1.promises.copyFile(path, `${path}.original`);
|
|
191
192
|
// File exists, check that it has the required version strings
|
|
192
|
-
let fileText = await
|
|
193
|
+
let fileText = await fs_extra_1.promises.readFile(path, 'utf8');
|
|
193
194
|
for (const key of Object.keys(requiredVersions)) {
|
|
194
195
|
const placeHolder = key === 'version' ? '0.0.0' : 'v0_0_0';
|
|
195
196
|
if (fileText.indexOf(placeHolder) === -1) {
|
|
@@ -202,11 +203,11 @@ class PublishTool {
|
|
|
202
203
|
}
|
|
203
204
|
}
|
|
204
205
|
// Write the updated file contents
|
|
205
|
-
await
|
|
206
|
+
await fs_extra_1.promises.writeFile(path, fileText, 'utf8');
|
|
206
207
|
// Leave a copy of the modified file if requested
|
|
207
208
|
if (leaveFiles) {
|
|
208
209
|
// This copy will overwrite an existing file
|
|
209
|
-
await
|
|
210
|
+
await fs_extra_1.promises.copyFile(path, `${path}.modified`);
|
|
210
211
|
}
|
|
211
212
|
return true;
|
|
212
213
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesExist.d.ts","sourceRoot":"","sources":["../../src/lib/FilesExist.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;WACD,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAWjE,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAUrE"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesExist.js","sourceRoot":"","sources":["../../src/lib/FilesExist.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AAEtD,MAAa,UAAU;IACd,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,YAAsB;QACzD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;YAC/B,IAAI,MAAM,qBAAU,CAAC,IAAI,CAAC,EAAE;gBAC1B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,YAAsB;QACvD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;YAC/B,IAAI,yBAAc,CAAC,IAAI,CAAC,EAAE;gBACxB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAtBD,gCAsBC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pwrdrvr/microapps-publish",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Publish tool for deploying apps and updates",
|
|
5
|
-
"main": "
|
|
5
|
+
"main": "dist/index.js",
|
|
6
6
|
"source": "src/index.ts",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
10
|
"bin": {
|
|
11
|
-
"microapps-publish": "
|
|
11
|
+
"microapps-publish": "dist/index.js"
|
|
12
12
|
},
|
|
13
13
|
"engineStrict": true,
|
|
14
14
|
"engine": {
|
|
15
|
-
"node": ">=
|
|
15
|
+
"node": ">= 12.0.0"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
"@types/js-yaml": "^4.0.1",
|
|
59
59
|
"@types/mime-types": "^2.1.0",
|
|
60
60
|
"@types/source-map-support": "^0.5.4",
|
|
61
|
-
"
|
|
61
|
+
"type-fest": "^0.20.2"
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as lambda from '@aws-sdk/client-lambda';
|
|
2
|
+
|
|
3
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
|
|
4
|
+
import {
|
|
5
|
+
IDeployVersionPreflightRequest,
|
|
6
|
+
IDeployVersionPreflightResponse,
|
|
7
|
+
ICreateApplicationRequest,
|
|
8
|
+
IDeployerResponse,
|
|
9
|
+
IDeployVersionRequest,
|
|
10
|
+
} from '@pwrdrvr/microapps-deployer';
|
|
11
|
+
import { IConfig } from './config/Config';
|
|
12
|
+
|
|
13
|
+
export default class DeployClient {
|
|
14
|
+
static readonly _client = new lambda.LambdaClient({});
|
|
15
|
+
static readonly _decoder = new TextDecoder('utf-8');
|
|
16
|
+
|
|
17
|
+
public static async CreateApp(config: IConfig): Promise<void> {
|
|
18
|
+
const request = {
|
|
19
|
+
type: 'createApp',
|
|
20
|
+
appName: config.app.name,
|
|
21
|
+
displayName: config.app.name,
|
|
22
|
+
} as ICreateApplicationRequest;
|
|
23
|
+
const response = await this._client.send(
|
|
24
|
+
new lambda.InvokeCommand({
|
|
25
|
+
FunctionName: config.deployer.lambdaName,
|
|
26
|
+
Payload: Buffer.from(JSON.stringify(request)),
|
|
27
|
+
}),
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
|
|
31
|
+
const dResponse = JSON.parse(
|
|
32
|
+
Buffer.from(response.Payload).toString('utf-8'),
|
|
33
|
+
) as IDeployerResponse;
|
|
34
|
+
if (!(dResponse.statusCode === 201 || dResponse.statusCode === 200)) {
|
|
35
|
+
throw new Error(`App create failed: ${JSON.stringify(dResponse)}`);
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
throw new Error(`App Create - Lambda Invoke Failed: ${JSON.stringify(response)}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public static async DeployVersionPreflight(
|
|
43
|
+
config: IConfig,
|
|
44
|
+
): Promise<{ exists: boolean; response: IDeployVersionPreflightResponse }> {
|
|
45
|
+
const request = {
|
|
46
|
+
type: 'deployVersionPreflight',
|
|
47
|
+
appName: config.app.name,
|
|
48
|
+
semVer: config.app.semVer,
|
|
49
|
+
} as IDeployVersionPreflightRequest;
|
|
50
|
+
const response = await this._client.send(
|
|
51
|
+
new lambda.InvokeCommand({
|
|
52
|
+
FunctionName: config.deployer.lambdaName,
|
|
53
|
+
Payload: Buffer.from(JSON.stringify(request)),
|
|
54
|
+
}),
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
|
|
58
|
+
const dResponse = JSON.parse(
|
|
59
|
+
Buffer.from(response.Payload).toString('utf-8'),
|
|
60
|
+
) as IDeployVersionPreflightResponse;
|
|
61
|
+
if (dResponse.statusCode === 404) {
|
|
62
|
+
console.log(`App/Version do not exist: ${config.app.name}/${config.app.semVer}`);
|
|
63
|
+
return { exists: false, response: dResponse };
|
|
64
|
+
} else {
|
|
65
|
+
return { exists: true, response: dResponse };
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
throw new Error(`Lambda call to DeployVersionPreflight failed: ${JSON.stringify(response)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public static async DeployVersion(config: IConfig): Promise<void> {
|
|
73
|
+
const request = {
|
|
74
|
+
type: 'deployVersion',
|
|
75
|
+
appName: config.app.name,
|
|
76
|
+
semVer: config.app.semVer,
|
|
77
|
+
defaultFile: config.app.defaultFile,
|
|
78
|
+
lambdaARN: config.app.lambdaARN,
|
|
79
|
+
} as IDeployVersionRequest;
|
|
80
|
+
const response = await this._client.send(
|
|
81
|
+
new lambda.InvokeCommand({
|
|
82
|
+
FunctionName: config.deployer.lambdaName,
|
|
83
|
+
Payload: Buffer.from(JSON.stringify(request)),
|
|
84
|
+
}),
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
|
|
88
|
+
const dResponse = JSON.parse(
|
|
89
|
+
Buffer.from(response.Payload).toString('utf-8'),
|
|
90
|
+
) as IDeployerResponse;
|
|
91
|
+
if (dResponse.statusCode === 201) {
|
|
92
|
+
console.log(`Deploy succeeded: ${config.app.name}/${config.app.semVer}`);
|
|
93
|
+
} else {
|
|
94
|
+
console.log(`Deploy failed with: ${dResponse.statusCode}`);
|
|
95
|
+
}
|
|
96
|
+
} else {
|
|
97
|
+
throw new Error(`Lambda call to DeployVersion failed: ${JSON.stringify(response)}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//
|
|
2
|
+
// From: https://stackoverflow.com/a/65862128/878903
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { promises as fs, createReadStream } from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import * as s3 from '@aws-sdk/client-s3';
|
|
8
|
+
import { Upload } from '@aws-sdk/lib-storage';
|
|
9
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
|
|
10
|
+
import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
|
|
11
|
+
import { contentType } from 'mime-types';
|
|
12
|
+
import pMap from 'p-map';
|
|
13
|
+
|
|
14
|
+
export default class S3TransferUtility {
|
|
15
|
+
public static async UploadDir(
|
|
16
|
+
s3Path: string,
|
|
17
|
+
destPrefixPath: string,
|
|
18
|
+
bucketName: string,
|
|
19
|
+
preflightResponse: IDeployVersionPreflightResponse,
|
|
20
|
+
): Promise<void> {
|
|
21
|
+
// Use temp credentials for S3
|
|
22
|
+
const s3Client = new s3.S3Client({
|
|
23
|
+
credentials: {
|
|
24
|
+
accessKeyId: preflightResponse.awsCredentials.accessKeyId,
|
|
25
|
+
secretAccessKey: preflightResponse.awsCredentials.secretAccessKey,
|
|
26
|
+
sessionToken: preflightResponse.awsCredentials.sessionToken,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
console.log('Uploading files to S3');
|
|
31
|
+
const files = (await S3TransferUtility.GetFiles(s3Path)) as string[];
|
|
32
|
+
const pathWithoutAppAndVer = path.join(s3Path, destPrefixPath);
|
|
33
|
+
for (const filePath of files) {
|
|
34
|
+
const relFilePath = path.relative(pathWithoutAppAndVer, filePath);
|
|
35
|
+
console.log(` ${relFilePath}`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Use p-map to limit upload parallelism
|
|
39
|
+
await pMap(
|
|
40
|
+
files,
|
|
41
|
+
async (filePath) => {
|
|
42
|
+
// Use 4 multi-part parallel uploads for items > 5 MB
|
|
43
|
+
const upload = new Upload({
|
|
44
|
+
client: s3Client,
|
|
45
|
+
leavePartsOnError: false,
|
|
46
|
+
params: {
|
|
47
|
+
Bucket: bucketName,
|
|
48
|
+
Key: path.relative(s3Path, filePath),
|
|
49
|
+
Body: createReadStream(filePath),
|
|
50
|
+
ContentType: contentType(path.basename(filePath)) || 'application/octet-stream',
|
|
51
|
+
CacheControl: 'max-age=86400; public',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
await upload.done();
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
concurrency: 10,
|
|
58
|
+
},
|
|
59
|
+
// await s3.send(
|
|
60
|
+
// new S3.PutObjectCommand({
|
|
61
|
+
// Key: path.relative(s3Path, filePath),
|
|
62
|
+
// Bucket: bucketName,
|
|
63
|
+
// Body: createReadStream(filePath),
|
|
64
|
+
// ContentType: contentType(path.basename(filePath)) || 'application/octet-stream',
|
|
65
|
+
// CacheControl: 'max-age=86400; public',
|
|
66
|
+
// }),
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
// Recursive getFiles from
|
|
70
|
+
// https://stackoverflow.com/a/45130990/831465
|
|
71
|
+
|
|
72
|
+
private static async GetFiles(dir: string): Promise<string | string[]> {
|
|
73
|
+
const dirents = await fs.readdir(dir, { withFileTypes: true });
|
|
74
|
+
const files = await Promise.all(
|
|
75
|
+
dirents.map((dirent) => {
|
|
76
|
+
const res = path.resolve(dir, dirent.name);
|
|
77
|
+
return dirent.isDirectory() ? S3TransferUtility.GetFiles(res) : res;
|
|
78
|
+
}),
|
|
79
|
+
);
|
|
80
|
+
return Array.prototype.concat(...files);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
|
|
3
|
+
import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
|
+
import { IConfig } from './config/Config';
|
|
6
|
+
import S3TransferUtility from './S3TransferUtility';
|
|
7
|
+
|
|
8
|
+
export default class S3Uploader {
|
|
9
|
+
public static async Upload(
|
|
10
|
+
config: IConfig,
|
|
11
|
+
s3UploadPath: string,
|
|
12
|
+
preflightResponse: IDeployVersionPreflightResponse,
|
|
13
|
+
): Promise<void> {
|
|
14
|
+
try {
|
|
15
|
+
//const destinationPrefix = `${config.app.name}/${config.app.semVer}`;
|
|
16
|
+
|
|
17
|
+
// Parse the S3 Source URI
|
|
18
|
+
const uri = new URL(s3UploadPath);
|
|
19
|
+
const bucketName = uri.host;
|
|
20
|
+
const destinationPrefix = uri.pathname.length >= 1 ? uri.pathname.slice(1) : '';
|
|
21
|
+
|
|
22
|
+
// Make a local root dir for the upload
|
|
23
|
+
const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
|
|
24
|
+
await S3Uploader.removeTempDirIfExists();
|
|
25
|
+
await fs.mkdir(tempUploadPath, { recursive: true });
|
|
26
|
+
|
|
27
|
+
// Copy the files in the source dir to the root dir
|
|
28
|
+
// Note: It would be faster to move the files, then move them back
|
|
29
|
+
// FIXME: Use p-map for controlled parallelism
|
|
30
|
+
await fs.copy(config.app.staticAssetsPath, tempUploadPath);
|
|
31
|
+
|
|
32
|
+
// Do the upload
|
|
33
|
+
await S3TransferUtility.UploadDir(
|
|
34
|
+
this._tempDir,
|
|
35
|
+
destinationPrefix,
|
|
36
|
+
bucketName,
|
|
37
|
+
preflightResponse,
|
|
38
|
+
);
|
|
39
|
+
} finally {
|
|
40
|
+
// Delete the directory, now that it's uploaded or if we failed
|
|
41
|
+
await S3Uploader.removeTempDirIfExists();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public static async removeTempDirIfExists(): Promise<void> {
|
|
46
|
+
try {
|
|
47
|
+
const stats = await fs.stat(S3Uploader._tempDir);
|
|
48
|
+
if (stats.isDirectory()) {
|
|
49
|
+
await fs.rm(S3Uploader._tempDir, { recursive: true });
|
|
50
|
+
}
|
|
51
|
+
} catch {
|
|
52
|
+
// Don't care
|
|
53
|
+
// fs.stat will throw if file/dir does not exist
|
|
54
|
+
// Since we want the directory deleted this is ok
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private static readonly _tempDir = './deploytool-temp';
|
|
59
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { url, ipaddress } from 'convict-format-with-validator';
|
|
2
|
+
import * as yaml from 'js-yaml';
|
|
3
|
+
import * as convict from 'ts-convict';
|
|
4
|
+
|
|
5
|
+
export interface IApplicationConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
semVer: string;
|
|
8
|
+
defaultFile: string;
|
|
9
|
+
staticAssetsPath: string;
|
|
10
|
+
lambdaName: string;
|
|
11
|
+
lambdaARN: string;
|
|
12
|
+
awsAccountID: number;
|
|
13
|
+
awsRegion: string;
|
|
14
|
+
serverlessNextRouterPath: string;
|
|
15
|
+
ecrHost: string;
|
|
16
|
+
ecrRepoName: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@convict.Config({
|
|
20
|
+
// optional default file to load, no errors if it doesn't exist
|
|
21
|
+
file: './microapps.yml', // relative to NODE_PATH or cwd()
|
|
22
|
+
|
|
23
|
+
// optional parameter. Defaults to 'strict', can also be 'warn'
|
|
24
|
+
validationMethod: 'strict',
|
|
25
|
+
|
|
26
|
+
// optionally add parsers like yaml or toml
|
|
27
|
+
parser: {
|
|
28
|
+
extension: ['yml', 'yaml'],
|
|
29
|
+
parse: yaml.load,
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
//optional extra formats to use in validation
|
|
33
|
+
formats: {
|
|
34
|
+
url,
|
|
35
|
+
ipaddress,
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
export class ApplicationConfig implements IApplicationConfig {
|
|
39
|
+
private _name: string;
|
|
40
|
+
public get name(): string {
|
|
41
|
+
return this._name;
|
|
42
|
+
}
|
|
43
|
+
@convict.Property({
|
|
44
|
+
doc: 'Name of microapps app',
|
|
45
|
+
default: 'microapps-my-app',
|
|
46
|
+
env: 'APP_NAME',
|
|
47
|
+
})
|
|
48
|
+
public set name(value: string) {
|
|
49
|
+
this._name = value.toLowerCase();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@convict.Property({
|
|
53
|
+
doc: 'SemVer this version is to be published as',
|
|
54
|
+
default: '0.0.1',
|
|
55
|
+
env: 'APP_SEMVER',
|
|
56
|
+
})
|
|
57
|
+
public semVer: string;
|
|
58
|
+
|
|
59
|
+
@convict.Property({
|
|
60
|
+
doc: 'Default file to reference when loading the app with no version',
|
|
61
|
+
default: '',
|
|
62
|
+
env: 'APP_DEFAULT_FILE',
|
|
63
|
+
})
|
|
64
|
+
public defaultFile: string;
|
|
65
|
+
|
|
66
|
+
private _staticAssetsPath: string;
|
|
67
|
+
@convict.Property({
|
|
68
|
+
doc: 'Local path to static assets path to upload to S3',
|
|
69
|
+
default: './static/',
|
|
70
|
+
env: 'APP_STATIC_ASSETS_PATH',
|
|
71
|
+
})
|
|
72
|
+
public set staticAssetsPath(value: string) {
|
|
73
|
+
this._staticAssetsPath = value;
|
|
74
|
+
}
|
|
75
|
+
public get staticAssetsPath(): string {
|
|
76
|
+
return this._staticAssetsPath.replace(/\$SEMVER/, this.semVer);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@convict.Property({
|
|
80
|
+
doc: 'Local path to static assets path to upload to S3',
|
|
81
|
+
default: 'microapps-my-app',
|
|
82
|
+
env: 'APP_LAMBDA_NAME',
|
|
83
|
+
})
|
|
84
|
+
public lambdaName: string;
|
|
85
|
+
public get lambdaARN(): string {
|
|
86
|
+
return `arn:aws:lambda:${this.awsRegion}:${this.awsAccountID}:function:${
|
|
87
|
+
this.lambdaName
|
|
88
|
+
}:v${this.semVer.replace(/\./g, '_')}`;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@convict.Property({
|
|
92
|
+
doc: 'AWS Account ID to deploy to',
|
|
93
|
+
default: 0,
|
|
94
|
+
env: 'AWS_ACCOUNT_ID',
|
|
95
|
+
})
|
|
96
|
+
public awsAccountID: number;
|
|
97
|
+
|
|
98
|
+
@convict.Property({
|
|
99
|
+
doc: 'AWS Region to deploy to',
|
|
100
|
+
default: 'us-east-1',
|
|
101
|
+
env: 'AWS_REGION',
|
|
102
|
+
})
|
|
103
|
+
public awsRegion: string;
|
|
104
|
+
|
|
105
|
+
@convict.Property({
|
|
106
|
+
doc: 'Path to the serverless-nextjs-router index.js file',
|
|
107
|
+
default: './node_modules/@pwrdrvr/serverless-nextjs-router/lib/index.js',
|
|
108
|
+
env: 'SERVERLESS_NEXTJS_ROUTER_INDEX_JS',
|
|
109
|
+
})
|
|
110
|
+
public serverlessNextRouterPath: string;
|
|
111
|
+
|
|
112
|
+
@convict.Property({
|
|
113
|
+
doc: 'ECR Host for app',
|
|
114
|
+
default: '',
|
|
115
|
+
env: 'APP_ECR_HOST',
|
|
116
|
+
})
|
|
117
|
+
public ecrHost: string;
|
|
118
|
+
|
|
119
|
+
@convict.Property({
|
|
120
|
+
doc: 'ECR Repo Name for app',
|
|
121
|
+
default: '',
|
|
122
|
+
env: 'APP_ECR_REPO_NAME',
|
|
123
|
+
})
|
|
124
|
+
public ecrRepoName: string;
|
|
125
|
+
}
|