Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to ES2020 Compile Target #17121

Closed
witemple-msft opened this issue Aug 25, 2021 · 3 comments
Closed

Migrate to ES2020 Compile Target #17121

witemple-msft opened this issue Aug 25, 2021 · 3 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. EngSys This issue is impacting the engineering system. Node16 Node.js 16+ support

Comments

@witemple-msft
Copy link
Member

witemple-msft commented Aug 25, 2021

We advanced our compiler target to ES2017 when support for Internet Explorer was dropped. This issue is to track the next upgrade of our compiler target to ES2020 now that Node.js 14 is our minimum node target

Our extended support for Node.js 12 ended on November 1, 2022. At that point, we ought to be able to:

  1. Elevate the default compiler target to ”es2020” in /tsconfig.json.
  2. Safely use “es2020” library declarations without worrying about polyfills.

This comes with benefits. We would no longer have to downlevel the following syntaxes (most are polyfilled using tslib helpers when targeting ES2017):

  • async generators (async function*() {})
  • async iteration (for await (const x of iterable) {})
  • object rest properties (const { foo, bar, ...rest } = someValue;)
  • object spread (const someValue = { foo, bar, ...rest };)
  • nullish coalescing (??)
  • optional chaining (.?)

We would also be able to use private identifiers.

And that we could use the following runtime environment features:

  • Promise.prototype.finally
  • Array.prototype.flat & Array.prototype.flatMap
  • String.prototype.trim{Left,Right,Start,End}

CC @xirzec @bterlson

@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Aug 25, 2021
@xirzec
Copy link
Member

xirzec commented Aug 25, 2021

Sounds like a nice step forward to me. 👍

@ramya-rao-a ramya-rao-a added this to the Backlog milestone Aug 26, 2021
@ramya-rao-a ramya-rao-a added the Client This issue points to a problem in the data-plane of the library. label Aug 26, 2021
@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Aug 26, 2021
openapi-sdkautomation bot pushed a commit to AzureSDKAutomation/azure-sdk-for-js that referenced this issue Jan 19, 2022
Compute 2021-11-01 Release (Azure#17120)

* compute folder with pre-population

* fix examples folder

* fix an example file

* update compute to match last version

* run prettier fix examples

* change capitalization

* Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16570)

* RRP changes in swagger

* Fix conflicts

* fix validations

* Fix instance view

* Revert "Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16570)" (Azure#16663)

This reverts commit 70a8729e86b30440cdd3c239272e31dff7f9627b.

* sync with last version

* add missing examples

* suppress bodyTopLevelProperties

* Add VMSS filter to List VMs (Azure#16813)

* change1 for change file

* change description

* change description

* add suppression for required properties

* Revert "Add VMSS filter to List VMs (Azure#16813)" (Azure#16956)

This reverts commit 231fd2260cb9e63ba16d8b15d405f3134fe612c1.

* Remove impossible state from example (Azure#16544)

* Downmerging change from Azure:main (Azure#16654)

Co-authored-by: Avinash Akka <avakka@microsoft.com>

* Added CVM settings for version 2021-11-01 (Azure#16622)

* Added CVM settings

* added examples

* Add CMK examples

* fixed typo

* fixed file name

* prettier check

* removed a br

* changed to VMDiskSecurityProfile

* type as object

* Added vm size properties for vm scale set (Azure#16723)

* Added vm size properties

* Added get examples

* Added example for vm size properties

* Added example for vm size properties

Co-authored-by: Theodore Chang <thchan@microsoft.com>

* Spec for ProtectedSettingsFromKeyVault and AllowExtensionOperations (Azure#16590)

* KV changes

* adding allowExtensionOperation

* fixing examples

* Add repairAction to auto repairs feature and update grace period to PT10M (Azure#16535)

* Add timeCreated to properties for VM, VMSS, CR, DH resources (Azure#16539)

* add creationTime to properties for VM, VMSS, CR, DH resources + remove
required location for Resources

* rename creationTime to timeCreated

* examples for timeCreated

* add minimum api-version to descriptions for timeCreated

* add GetVirtualMachineScaleSet example

* reformat example

Co-authored-by: Chase Van Buskirk <cvanbuskirk@microsoft.com>

* DedicatedHost Reboot Feature (Azure#16737)

* added new feature to compute.json

* added example for my feature

* prettier check on the reboot example

* fixed names of parameters in example file:

* changed name to DedicatedHosts_reboot and moved change to where the other DH APIs are

* added cloud error to the reboot

* fixed default error, it was in the wrong spot

* moved reboot to end of specs

* moved older swagger files to 2021-11-01

* reverted previous commit

* renamed reboot to restart as per sameers comment

* updated description as per sameers comment

* updated api version to 2021-11-01 per sameers comment

* Adding the new paramaters zone/placementGroupId to forceRecoveryServiceFabricPlatformUpdateDomainWalk VMSS API (Azure#17041)

* save (Azure#17091)

Co-authored-by: Theodore Chang <thchan@microsoft.com>

* Update compute.json (Azure#16482)

When a customer tries to scale VMSS using Terraform, since the current definitions do not have publicIpPrefix property, the new VM will be assigned a random IP address which is outside the range of public Ip prefix. Customer has to resolve the issue by deleting the Vmss and recreating it. This PR tries to resolve the issue by adding the publicIpPrefix property in the JSON definition which is used to generate a request for VMSS update.

More details about the issue can be found here - Azure/azure-rest-api-specs#10190

* add vmss filter to list  (Azure#16957)

* change1 for change file

* change description

* change description

Co-authored-by: LexieXie <lexiexie@microsoft.com>

* move Kashif's change to 2021-11-01

* Revert "Spec for ProtectedSettingsFromKeyVault and AllowExtensionOperations (Azure#16590)" (Azure#17121)

This reverts commit 220cfd0638942c04275d69fd485ceb2da02a96d3.

* fix CI failures, and run prettier on added examples

* for credscan. change password example

* Update readme.python.md

* Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16682)

* RRP changes in swagger

* Fix conflicts

* fix validations

* Fix instance view

* change instance view

* Fix example

* Fix prettier

* Fix and modify description

* Review comments

* make new api call long-running-operation

* compute folder with pre-population

* fix examples folder

* fix an example file

* update compute to match last version

* run prettier fix examples

* change capitalization

* Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16570)

* RRP changes in swagger

* Fix conflicts

* fix validations

* Fix instance view

* Revert "Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16570)" (Azure#16663)

This reverts commit 70a8729e86b30440cdd3c239272e31dff7f9627b.

* sync with last version

* add missing examples

* Add VMSS filter to List VMs (Azure#16813)

* change1 for change file

* change description

* change description

* Revert "Add VMSS filter to List VMs (Azure#16813)" (Azure#16956)

This reverts commit 231fd2260cb9e63ba16d8b15d405f3134fe612c1.

* Remove impossible state from example (Azure#16544)

* Added CVM settings for version 2021-11-01 (Azure#16622)

* Added CVM settings

* added examples

* Add CMK examples

* fixed typo

* fixed file name

* prettier check

* removed a br

* changed to VMDiskSecurityProfile

* type as object

* Added vm size properties for vm scale set (Azure#16723)

* Added vm size properties

* Added get examples

* Added example for vm size properties

* Added example for vm size properties

Co-authored-by: Theodore Chang <thchan@microsoft.com>

* Spec for ProtectedSettingsFromKeyVault and AllowExtensionOperations (Azure#16590)

* KV changes

* adding allowExtensionOperation

* fixing examples

* Add repairAction to auto repairs feature and update grace period to PT10M (Azure#16535)

* Add timeCreated to properties for VM, VMSS, CR, DH resources (Azure#16539)

* add creationTime to properties for VM, VMSS, CR, DH resources + remove
required location for Resources

* rename creationTime to timeCreated

* examples for timeCreated

* add minimum api-version to descriptions for timeCreated

* add GetVirtualMachineScaleSet example

* reformat example

Co-authored-by: Chase Van Buskirk <cvanbuskirk@microsoft.com>

* DedicatedHost Reboot Feature (Azure#16737)

* added new feature to compute.json

* added example for my feature

* prettier check on the reboot example

* fixed names of parameters in example file:

* changed name to DedicatedHosts_reboot and moved change to where the other DH APIs are

* added cloud error to the reboot

* fixed default error, it was in the wrong spot

* moved reboot to end of specs

* moved older swagger files to 2021-11-01

* reverted previous commit

* renamed reboot to restart as per sameers comment

* updated description as per sameers comment

* updated api version to 2021-11-01 per sameers comment

* Adding the new paramaters zone/placementGroupId to forceRecoveryServiceFabricPlatformUpdateDomainWalk VMSS API (Azure#17041)

* save (Azure#17091)

Co-authored-by: Theodore Chang <thchan@microsoft.com>

* Update compute.json (Azure#16482)

When a customer tries to scale VMSS using Terraform, since the current definitions do not have publicIpPrefix property, the new VM will be assigned a random IP address which is outside the range of public Ip prefix. Customer has to resolve the issue by deleting the Vmss and recreating it. This PR tries to resolve the issue by adding the publicIpPrefix property in the JSON definition which is used to generate a request for VMSS update.

More details about the issue can be found here - Azure/azure-rest-api-specs#10190

* add vmss filter to list  (Azure#16957)

* change1 for change file

* change description

* change description

Co-authored-by: LexieXie <lexiexie@microsoft.com>

* move Kashif's change to 2021-11-01

* fix CI failures, and run prettier on added examples

* Revert "Spec for ProtectedSettingsFromKeyVault and AllowExtensionOperations (Azure#16590)" (Azure#17121)

This reverts commit 220cfd0638942c04275d69fd485ceb2da02a96d3.

* for credscan. change password example

* make new api call long-running-operation

* Update readme.python.md

* Compute Swagger changes to include cross-region Restore Points scenarios (Azure#16682)

* RRP changes in swagger

* Fix conflicts

* fix validations

* Fix instance view

* change instance view

* Fix example

* Fix prettier

* Fix and modify description

* Review comments

* update Repair action to enum and update readme

* rebase to main since 2021-08-01 merged. update readme

* update x-ms-enum name for RepairType

* add default response to operations

* update

* put back 'required' tag for Resource.Location property
and use a new object for VM_LIST return object

* fix json format

* update examples

* run prettier on updated examples

* update example for credScan

* add VirtualMachineResource for toplevel property suppression.

* lint diff errors

* lint diff fix update

* remove change for VMextensions.location bug

* return readme file and examples before vm.vmextension.location change

Co-authored-by: sukodava <78733210+sukodava@users.noreply.github.com>
Co-authored-by: Dapeng Zhang <dapzhang@microsoft.com>
Co-authored-by: xielexie <94083876+xielexie@users.noreply.github.com>
Co-authored-by: Mike Richmond <mirichmo@microsoft.com>
Co-authored-by: Avinash <akka@usc.edu>
Co-authored-by: Avinash Akka <avakka@microsoft.com>
Co-authored-by: ms-saypaul <67093296+ms-saypaul@users.noreply.github.com>
Co-authored-by: Raktima Das <raktdas@microsoft.com>
Co-authored-by: kamusta-msft <56413142+kamusta-msft@users.noreply.github.com>
Co-authored-by: frank-pang-msft <92764154+frank-pang-msft@users.noreply.github.com>
Co-authored-by: Chase VanBuskirk <chasevanb@gmail.com>
Co-authored-by: Chase Van Buskirk <cvanbuskirk@microsoft.com>
Co-authored-by: vbhasker-msft <93355049+vbhasker-msft@users.noreply.github.com>
Co-authored-by: avjai <34567499+avjai@users.noreply.github.com>
Co-authored-by: kangsun-ctrl <69279251+kangsun-ctrl@users.noreply.github.com>
Co-authored-by: karthikka4820 <88366202+karthikka4820@users.noreply.github.com>
Co-authored-by: LexieXie <lexiexie@microsoft.com>
Co-authored-by: Yuchao Yan <yuchaoyan@microsoft.com>
@jeremymeng jeremymeng added the EngSys This issue is impacting the engineering system. label Mar 11, 2022
@witemple-msft witemple-msft changed the title Migrate to ES2019 Compile Target Migrate to ES2020 Compile Target Dec 7, 2022
@jeremymeng jeremymeng added the Node16 Node.js 16+ support label Aug 28, 2023
@jeremymeng
Copy link
Member

It appears that we are still on ES2017 in /tsconfig.json. maybe when we move to Node 16 we can migrate to 2021 or even 2022. We may be blocked by esm not supporting optional chaining/nullish coalecsing but there's a workaround standard-things/esm#918

@jeremymeng jeremymeng self-assigned this Jan 17, 2024
Copy link

Hi @witemple-msft, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 15, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Mar 15, 2024
@xirzec xirzec removed this from the Backlog milestone May 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. EngSys This issue is impacting the engineering system. Node16 Node.js 16+ support
Projects
None yet
Development

No branches or pull requests

4 participants