From 2b39b1e2855f94aebb894581f16fadf9006d69bd Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Wed, 22 Feb 2023 22:19:20 +0000 Subject: [PATCH] btadv: manually setup TS helpers - use Object.assign() Currently we have `tsc` [generate code for es5], because we don't yet have es6 destructuring support in JSV (used [here], for example). As a follow on from #2587, this disables the TS poiyfill and points it at our `Object.assign`, so we benefit from these new features, while still keeping the target at es5. [generate code for es5]: https://github.com/espruino/BangleApps/blob/380af9c600121f50b940b83cdb83a5f83914b8a6/tsconfig.json#L4-L4 [here]: https://github.com/espruino/BangleApps/blob/380af9c600121f50b940b83cdb83a5f83914b8a6/apps/btadv/app.ts#L235 --- apps/btadv/app.js | 12 +----------- apps/btadv/app.ts | 3 +++ tsconfig.json | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/apps/btadv/app.js b/apps/btadv/app.js index 7f9300923..ced701d79 100644 --- a/apps/btadv/app.js +++ b/apps/btadv/app.js @@ -1,15 +1,5 @@ "use strict"; -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; +var __assign = Object.assign; var Layout = require("Layout"); Bangle.loadWidgets(); Bangle.drawWidgets(); diff --git a/apps/btadv/app.ts b/apps/btadv/app.ts index b3a25305c..15128e484 100644 --- a/apps/btadv/app.ts +++ b/apps/btadv/app.ts @@ -1,3 +1,6 @@ +// ts helpers: +const __assign = Object.assign; + const Layout = require("Layout") as Layout_.Layout; Bangle.loadWidgets(); diff --git a/tsconfig.json b/tsconfig.json index 3bfd79e41..7f6a96fef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "removeComments": true, "newLine": "lf", - "noEmitHelpers": false, + "noEmitHelpers": true, // we link to specific banglejs implementations "noEmitOnError": false, "preserveConstEnums": false, "importsNotUsedAsValues": "error",