diff --git a/LICENSE-THIRD-PARTY b/LICENSE-THIRD-PARTY index 2bc0e331..7a6f3833 100644 --- a/LICENSE-THIRD-PARTY +++ b/LICENSE-THIRD-PARTY @@ -4,6 +4,34 @@ This repository incorporates material as listed below or described in the code. +--------------------------------------------------------- + +@fig/autocomplete-shared 1.1.2 +https://github.com/withfig/autocomplete-tools + +MIT License + +Copyright (c) 2021 Hercules Labs Inc. (Fig) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + --------------------------------------------------------- @iktakahiro/markdown-it-katex 4.0.2 - MIT @@ -58,6 +86,34 @@ SOFTWARE. --------------------------------------------------------- +amazon-q-developer-cli f66e0b0e917ab185eef528dc36eca56b78ca8b5d +https://github.com/aws/amazon-q-developer-cli + +MIT License + +Copyright (c) 2024 Amazon.com, Inc. or its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + atom/language-clojure 0.22.8 - MIT https://github.com/atom/language-clojure @@ -169,7 +225,7 @@ OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -atom/language-sass 0.62.1 - MIT +atom/language-sass 0.61.4 - MIT https://github.com/atom/language-sass The MIT License (MIT) @@ -263,6 +319,34 @@ suitability for any purpose. --------------------------------------------------------- +autocomplete 2.684.0 - MIT +https://github.com/withfig/autocomplete + +MIT License + +Copyright (c) 2021 Hercules Labs Inc. (Fig) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + cacheable-request 7.0.4 - MIT @@ -320,122 +404,696 @@ THE SOFTWARE. daaain/Handlebars 1.8.0 - MIT https://github.com/daaain/Handlebars --- Credits +-- Credits + +Adapted from the great sublime-text-handlebars package by Nicholas Westlake. + +Thanks a lot to all the generous contributors (in alphabetical order): @bittersweetryan, @bradcliffe, @calumbrodie, @duncanbeevers, @hlvnst, @jonschlinkert, @Krutius, @samselikoff, @utkarshkukreti, @zeppelin + +-- License + +(The MIT License) + +Copyright (c) daaain/Handlebars project authors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +dart-lang/dart-syntax-highlight 0.0.0 - BSD +https://github.com/dart-lang/dart-syntax-highlight + +Copyright 2020, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------- + +--------------------------------------------------------- + +davidrios/pug-tmbundle 0.0.0 - MIT +https://github.com/davidrios/pug-tmbundle + +The MIT License (MIT) + +Copyright (c) 2016 David Rios + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +definitelytyped - MIT +https://github.com/DefinitelyTyped/DefinitelyTyped + +This project is licensed under the MIT license. +Copyrights are respective of each contributor listed at the beginning of each definition file. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +Document Object Model 4.0.0 - W3C License +https://www.w3.org/DOM/ + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from Document Object Model. Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS + AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. +--------------------------------------------------------- + +--------------------------------------------------------- + +dompurify 3.1.7 - Apache 2.0 +https://github.com/cure53/DOMPurify + +DOMPurify +Copyright 2025 Dr.-Ing. Mario Heiderich, Cure53 + +DOMPurify is free software; you can redistribute it and/or modify it under the +terms of either: + +a) the Apache License Version 2.0, or +b) the Mozilla Public License Version 2.0 + +----------------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +----------------------------------------------------------------------------- +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants -Adapted from the great sublime-text-handlebars package by Nicholas Westlake. + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: -Thanks a lot to all the generous contributors (in alphabetical order): @bittersweetryan, @bradcliffe, @calumbrodie, @duncanbeevers, @hlvnst, @jonschlinkert, @Krutius, @samselikoff, @utkarshkukreti, @zeppelin + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and --- License + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -(The MIT License) +2.2. Effective Date -Copyright (c) daaain/Handlebars project authors + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +2.3. Limitations on Grant Scope -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- + a. for any code that a Contributor has removed from Covered Software; or ---------------------------------------------------------- + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -dart-lang/dart-syntax-highlight 0.0.0 - BSD -https://github.com/dart-lang/dart-syntax-highlight + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Copyright 2020, the Dart project authors. + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +2.4. Subsequent Licenses - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------- +2.5. Representation ---------------------------------------------------------- + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. -davidrios/pug-tmbundle 0.0.0 - MIT -https://github.com/davidrios/pug-tmbundle +2.6. Fair Use -The MIT License (MIT) + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. -Copyright (c) 2016 David Rios +2.7. Conditions -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- +3. Responsibilities ---------------------------------------------------------- +3.1. Distribution of Source Form -definitelytyped - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. +3.2. Distribution of Executable Form -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + If You distribute Covered Software in Executable Form then: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. ---------------------------------------------------------- +You may add additional accurate notices of copyright ownership. -Document Object Model 4.0.0 - W3C License -https://www.w3.org/DOM/ +Exhibit B - "Incompatible With Secondary Licenses" Notice -W3C License -This work is being provided by the copyright holders under the following license. -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following -on ALL copies of the work or portions thereof, including modifications: -* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived -from Document Object Model. Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS - AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. -Title to copyright in this work will at all times remain with copyright holders. + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. --------------------------------------------------------- --------------------------------------------------------- @@ -545,7 +1203,34 @@ to the base-name name of the original file, and an extension of txt, html, or si --------------------------------------------------------- -go-syntax 0.7.7 - MIT +fish-shell 3.7.1 +https://github.com/fish-shell/fish-shell + +Fish is a smart and user-friendly command line shell. + +Copyright (C) 2005-2009 Axel Liljencrantz +Copyright (C) 2009- fish-shell contributors + +fish is free software. + +Most of fish is licensed under the GNU General Public License version 2, and +you can redistribute it and/or modify it under the terms of the GNU GPL as +published by the Free Software Foundation. + +fish also includes software licensed under the Python Software Foundation License version 2, the MIT +license, and the GNU Library General Public License version 2. + +Full licensing information is contained in doc_src/license.rst. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. +--------------------------------------------------------- + +--------------------------------------------------------- + +go-syntax 0.8.0 - MIT https://github.com/worlpaker/go-syntax MIT License @@ -593,7 +1278,7 @@ without specific, written prior permission. Title to copyright in this document --------------------------------------------------------- -Ionic documentation 1.2.4 - Apache2 +Ionic documentation 1.2.4 - Apache-2.0 https://github.com/ionic-team/ionic-site Copyright Drifty Co. http://drifty.com/. @@ -861,7 +1546,7 @@ SOFTWARE. --------------------------------------------------------- -jlelong/vscode-latex-basics 1.7.0 - MIT +jlelong/vscode-latex-basics 1.13.0 - MIT https://github.com/jlelong/vscode-latex-basics Copyright (c) vscode-latex-basics authors @@ -977,7 +1662,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO --------------------------------------------------------- -language-docker 0.0.0 - Apache2 +language-docker 0.0.0 - Apache-2.0 https://github.com/moby/moby Apache License @@ -1443,7 +2128,7 @@ SOFTWARE. --------------------------------------------------------- -microsoft/vscode-mssql 1.23.0 - MIT +microsoft/vscode-mssql 1.29.0 - MIT https://github.com/microsoft/vscode-mssql ------------------------------------------ START OF LICENSE ----------------------------------------- @@ -1534,6 +2219,22 @@ SOFTWARE. --------------------------------------------------------- +RedCMD/YAML-Syntax-Highlighter 1.3.2 - MIT +https://github.com/RedCMD/YAML-Syntax-Highlighter + +MIT License + +Copyright 2024 RedCMD + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + redhat-developer/vscode-java 1.26.0 - MIT https://github.com/redhat-developer/vscode-java @@ -1707,6 +2408,55 @@ SOFTWARE. --------------------------------------------------------- +Shopify/ruby-lsp 0.0.0 - MIT License +https://github.com/Shopify/ruby-lsp + +The MIT License (MIT) + +Copyright (c) 2022-present, Shopify Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +================================================================================ +The following files and related configuration in package.json are based on a +sequence of adaptions: grammars/ruby.cson.json, grammars/erb.cson.json, +languages/erb.json. + +Copyright (c) 2016 Peng Lv +Copyright (c) 2017-2019 Stafford Brunk +https://github.com/rubyide/vscode-ruby + + Released under the MIT license + https://github.com/rubyide/vscode-ruby/blob/main/LICENSE.txt + +Copyright (c) 2014 GitHub Inc. +https://github.com/atom/language-ruby + + Released under the MIT license + https://github.com/atom/language-ruby/blob/master/LICENSE.md + +https://github.com/textmate/ruby.tmbundle + https://github.com/textmate/ruby.tmbundle#license +--------------------------------------------------------- + +--------------------------------------------------------- + sumneko/lua.tmbundle 1.0.0 - TextMate Bundle License https://github.com/sumneko/lua.tmbundle @@ -1936,51 +2686,6 @@ to the base-name name of the original file, and an extension of txt, html, or si --------------------------------------------------------- -textmate/ruby.tmbundle 0.0.0 - TextMate Bundle License -https://github.com/textmate/ruby.tmbundle - -Copyright (c) textmate-ruby.tmbundle project authors - -If not otherwise specified (see below), files in this folder fall under the following license: - -Permission to copy, use, modify, sell and distribute this -software is granted. This software is provided "as is" without -express or implied warranty, and with no claim as to its -suitability for any purpose. - -An exception is made for files in readable text which contain their own license information, -or files where an accompanying file exists (in the same directory) with a "-license" suffix added -to the base-name name of the original file, and an extension of txt, html, or similar. For example -"tidy" is accompanied by "tidy-license.txt". ---------------------------------------------------------- - ---------------------------------------------------------- - -textmate/yaml.tmbundle 0.0.0 - TextMate Bundle License -https://github.com/textmate/yaml.tmbundle - -Copyright (c) 2015 FichteFoll - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - trond-snekvik/vscode-rst 1.5.3 - MIT https://github.com/trond-snekvik/vscode-rst @@ -2491,7 +3196,7 @@ Creative Commons may be contacted at creativecommons.org. --------------------------------------------------------- -vscode-logfile-highlighter 2.17.0 - MIT +vscode-logfile-highlighter 3.3.4 - MIT https://github.com/emilast/vscode-logfile-highlighter The MIT License (MIT) @@ -2603,7 +3308,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -Web Background Synchronization - Apache2 +Web Background Synchronization - Apache-2.0 https://github.com/WICG/background-sync Apache License @@ -2807,11 +3512,31 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +--------------------------------------------------------- + +--------------------------------------------------------- + +zsh 5.9 +https://github.com/zsh-users/zsh + +Unless otherwise noted in the header of specific files, files in this distribution have the licence shown below. + +However, note that certain shell functions are licensed under versions of the GNU General Public Licence. Anyone distributing the shell as a binary including those files needs to take account of this. Search shell functions for "Copyright" for specific copyright information. None of the core functions are affected by this, so those files may simply be omitted. + +-- + +The Z Shell is copyright (c) 1992-2017 Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wischnowsky, and others. All rights reserved. Individual authors, whether or not specifically named, retain copyright in all changes; in what follows, they are referred to as `the Zsh Development Group'. This is for convenience only and this body has no legal status. The Z shell is distributed under the following licence; any provisions made in individual files take precedence. + +Permission is hereby granted, without written agreement and without licence or royalty fees, to use, copy, modify, and distribute this software and to distribute modified versions of this software for any purpose, provided that the above copyright notice and the following two paragraphs appear in all copies of this software. + +In no event shall the Zsh Development Group be liable to any party for direct, indirect, special, incidental, or consequential damages arising out of the use of this software and its documentation, even if the Zsh Development Group have been advised of the possibility of such damage. + +The Zsh Development Group specifically disclaim any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The software provided hereunder is on an "as is" basis, and the Zsh Development Group have no obligation to provide maintenance, support, updates, enhancements, or modifications. --------------------------------------------------------- --------------------------------------------------------- -code-oss-dev 1.95.3 +code-oss-dev 1.101.0 https://github.com/microsoft/vscode MIT License @@ -2997,7 +3722,61 @@ SOFTWARE. ****************************** @parcel/watcher -2.1.0 +2.5.0 +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@parcel/watcher-linux-x64-glibc +2.5.0 +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@parcel/watcher-linux-x64-musl +2.5.0 MIT License Copyright (c) 2017-present Devon Govett @@ -3134,7 +3913,7 @@ SOFTWARE. ****************************** @vscode/policy-watcher -1.1.8 +1.3.2 MIT License Copyright (c) Microsoft Corporation. @@ -3161,7 +3940,7 @@ SOFTWARE. ****************************** @vscode/proxy-agent -0.22.0 +0.32.0 MIT License Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net> @@ -3210,7 +3989,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ****************************** @vscode/spdlog -0.15.0 +0.15.2 MIT License Copyright (c) Microsoft Corporation. All rights reserved. @@ -3295,7 +4074,7 @@ SOFTWARE. ****************************** @vscode/tree-sitter-wasm -0.0.4 +0.1.4 MIT License Copyright (c) Microsoft Corporation. @@ -3425,9 +4204,34 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA ****************************** -@xterm/addon-clipboard -0.2.0-beta.48 -Copyright (c) 2023, The xterm.js authors (https://github.com/xtermjs/xterm.js) +@xterm/addon-clipboard +0.2.0-beta.90 +Copyright (c) 2023, The xterm.js authors (https://github.com/xtermjs/xterm.js) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +****************************** + +@xterm/addon-image +0.9.0-beta.107 +Copyright (c) 2019, 2020, 2021, 2022, 2023 The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3450,9 +4254,36 @@ THE SOFTWARE. ****************************** -@xterm/addon-image -0.9.0-beta.65 -Copyright (c) 2019, 2020, 2021, 2022, 2023 The xterm.js authors (https://github.com/xtermjs/xterm.js) +@xterm/addon-ligatures +0.10.0-beta.107 +MIT License + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@xterm/addon-progress +0.2.0-beta.13 +Copyright (c) 2024, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3476,7 +4307,7 @@ THE SOFTWARE. ****************************** @xterm/addon-search -0.16.0-beta.65 +0.16.0-beta.107 Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3501,14 +4332,14 @@ THE SOFTWARE. ****************************** @xterm/addon-serialize -0.14.0-beta.65 +0.14.0-beta.107 license: MIT authors: The xterm.js authors ****************************** @xterm/addon-unicode11 -0.9.0-beta.65 +0.9.0-beta.107 Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3533,7 +4364,7 @@ THE SOFTWARE. ****************************** @xterm/addon-webgl -0.19.0-beta.65 +0.19.0-beta.107 Copyright (c) 2018, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3558,14 +4389,14 @@ THE SOFTWARE. ****************************** @xterm/headless -5.6.0-beta.65 +5.6.0-beta.107 license: MIT authors: undefined ****************************** @xterm/xterm -5.6.0-beta.65 +5.6.0-beta.107 Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js) Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com) Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/) @@ -3772,7 +4603,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************** debug -4.3.4 +4.4.0 (The MIT License) Copyright (c) 2014-2017 TJ Holowaychuk @@ -3810,6 +4641,213 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +detect-libc +1.0.3 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + ****************************** eventemitter3 @@ -3941,6 +4979,60 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +font-finder +1.1.0 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +font-ligatures +1.4.1 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** fs-extra @@ -3983,6 +5075,33 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +****************************** + +get-system-fonts +2.0.2 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** graceful-fs @@ -4834,6 +5953,27 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +lru-cache +6.0.0 +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ****************************** micromatch @@ -4968,10 +6108,10 @@ THE SOFTWARE. ****************************** ms -2.1.2 +2.1.3 The MIT License (MIT) -Copyright (c) 2016 Zeit, Inc. +Copyright (c) 2020 Vercel, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5061,37 +6201,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -****************************** - -node-gyp-build -4.8.1 -The MIT License (MIT) - -Copyright (c) 2017 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ****************************** node-pty -1.1.0-beta22 +1.1.0-beta33 Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -5178,6 +6291,32 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +opentype.js +0.8.0 +The MIT License (MIT) + +Copyright (c) 2017 Frederik De Bleser + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + ****************************** pend @@ -5234,6 +6373,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +promise-stream-reader +1.0.1 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** proxy-from-env @@ -5445,6 +6611,33 @@ tas-client-umd SOFTWARE +****************************** + +tiny-inflate +1.0.3 +MIT License + +Copyright (c) 2015-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** to-regex-range @@ -5489,6 +6682,33 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +****************************** + +undici +7.9.0 +MIT License + +Copyright (c) Matteo Collina and Undici contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** universalify @@ -5618,7 +6838,7 @@ SOFTWARE. ****************************** vscode-textmate -9.1.0 +9.2.0 The MIT License (MIT) Copyright (c) Microsoft Corporation diff --git a/overrides/LICENSE-THIRD-PARTY b/overrides/LICENSE-THIRD-PARTY index 2bc0e331..7a6f3833 100644 --- a/overrides/LICENSE-THIRD-PARTY +++ b/overrides/LICENSE-THIRD-PARTY @@ -4,6 +4,34 @@ This repository incorporates material as listed below or described in the code. +--------------------------------------------------------- + +@fig/autocomplete-shared 1.1.2 +https://github.com/withfig/autocomplete-tools + +MIT License + +Copyright (c) 2021 Hercules Labs Inc. (Fig) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + --------------------------------------------------------- @iktakahiro/markdown-it-katex 4.0.2 - MIT @@ -58,6 +86,34 @@ SOFTWARE. --------------------------------------------------------- +amazon-q-developer-cli f66e0b0e917ab185eef528dc36eca56b78ca8b5d +https://github.com/aws/amazon-q-developer-cli + +MIT License + +Copyright (c) 2024 Amazon.com, Inc. or its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + atom/language-clojure 0.22.8 - MIT https://github.com/atom/language-clojure @@ -169,7 +225,7 @@ OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -atom/language-sass 0.62.1 - MIT +atom/language-sass 0.61.4 - MIT https://github.com/atom/language-sass The MIT License (MIT) @@ -263,6 +319,34 @@ suitability for any purpose. --------------------------------------------------------- +autocomplete 2.684.0 - MIT +https://github.com/withfig/autocomplete + +MIT License + +Copyright (c) 2021 Hercules Labs Inc. (Fig) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + cacheable-request 7.0.4 - MIT @@ -320,122 +404,696 @@ THE SOFTWARE. daaain/Handlebars 1.8.0 - MIT https://github.com/daaain/Handlebars --- Credits +-- Credits + +Adapted from the great sublime-text-handlebars package by Nicholas Westlake. + +Thanks a lot to all the generous contributors (in alphabetical order): @bittersweetryan, @bradcliffe, @calumbrodie, @duncanbeevers, @hlvnst, @jonschlinkert, @Krutius, @samselikoff, @utkarshkukreti, @zeppelin + +-- License + +(The MIT License) + +Copyright (c) daaain/Handlebars project authors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +dart-lang/dart-syntax-highlight 0.0.0 - BSD +https://github.com/dart-lang/dart-syntax-highlight + +Copyright 2020, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------- + +--------------------------------------------------------- + +davidrios/pug-tmbundle 0.0.0 - MIT +https://github.com/davidrios/pug-tmbundle + +The MIT License (MIT) + +Copyright (c) 2016 David Rios + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +definitelytyped - MIT +https://github.com/DefinitelyTyped/DefinitelyTyped + +This project is licensed under the MIT license. +Copyrights are respective of each contributor listed at the beginning of each definition file. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + +Document Object Model 4.0.0 - W3C License +https://www.w3.org/DOM/ + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from Document Object Model. Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS + AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. +--------------------------------------------------------- + +--------------------------------------------------------- + +dompurify 3.1.7 - Apache 2.0 +https://github.com/cure53/DOMPurify + +DOMPurify +Copyright 2025 Dr.-Ing. Mario Heiderich, Cure53 + +DOMPurify is free software; you can redistribute it and/or modify it under the +terms of either: + +a) the Apache License Version 2.0, or +b) the Mozilla Public License Version 2.0 + +----------------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +----------------------------------------------------------------------------- +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants -Adapted from the great sublime-text-handlebars package by Nicholas Westlake. + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: -Thanks a lot to all the generous contributors (in alphabetical order): @bittersweetryan, @bradcliffe, @calumbrodie, @duncanbeevers, @hlvnst, @jonschlinkert, @Krutius, @samselikoff, @utkarshkukreti, @zeppelin + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and --- License + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. -(The MIT License) +2.2. Effective Date -Copyright (c) daaain/Handlebars project authors + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +2.3. Limitations on Grant Scope -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- + a. for any code that a Contributor has removed from Covered Software; or ---------------------------------------------------------- + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -dart-lang/dart-syntax-highlight 0.0.0 - BSD -https://github.com/dart-lang/dart-syntax-highlight + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. -Copyright 2020, the Dart project authors. + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +2.4. Subsequent Licenses - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------- +2.5. Representation ---------------------------------------------------------- + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. -davidrios/pug-tmbundle 0.0.0 - MIT -https://github.com/davidrios/pug-tmbundle +2.6. Fair Use -The MIT License (MIT) + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. -Copyright (c) 2016 David Rios +2.7. Conditions -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- +3. Responsibilities ---------------------------------------------------------- +3.1. Distribution of Source Form -definitelytyped - MIT -https://github.com/DefinitelyTyped/DefinitelyTyped + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. +3.2. Distribution of Executable Form -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + If You distribute Covered Software in Executable Form then: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. ---------------------------------------------------------- +You may add additional accurate notices of copyright ownership. -Document Object Model 4.0.0 - W3C License -https://www.w3.org/DOM/ +Exhibit B - "Incompatible With Secondary Licenses" Notice -W3C License -This work is being provided by the copyright holders under the following license. -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following -on ALL copies of the work or portions thereof, including modifications: -* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived -from Document Object Model. Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS - AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. -Title to copyright in this work will at all times remain with copyright holders. + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. --------------------------------------------------------- --------------------------------------------------------- @@ -545,7 +1203,34 @@ to the base-name name of the original file, and an extension of txt, html, or si --------------------------------------------------------- -go-syntax 0.7.7 - MIT +fish-shell 3.7.1 +https://github.com/fish-shell/fish-shell + +Fish is a smart and user-friendly command line shell. + +Copyright (C) 2005-2009 Axel Liljencrantz +Copyright (C) 2009- fish-shell contributors + +fish is free software. + +Most of fish is licensed under the GNU General Public License version 2, and +you can redistribute it and/or modify it under the terms of the GNU GPL as +published by the Free Software Foundation. + +fish also includes software licensed under the Python Software Foundation License version 2, the MIT +license, and the GNU Library General Public License version 2. + +Full licensing information is contained in doc_src/license.rst. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. +--------------------------------------------------------- + +--------------------------------------------------------- + +go-syntax 0.8.0 - MIT https://github.com/worlpaker/go-syntax MIT License @@ -593,7 +1278,7 @@ without specific, written prior permission. Title to copyright in this document --------------------------------------------------------- -Ionic documentation 1.2.4 - Apache2 +Ionic documentation 1.2.4 - Apache-2.0 https://github.com/ionic-team/ionic-site Copyright Drifty Co. http://drifty.com/. @@ -861,7 +1546,7 @@ SOFTWARE. --------------------------------------------------------- -jlelong/vscode-latex-basics 1.7.0 - MIT +jlelong/vscode-latex-basics 1.13.0 - MIT https://github.com/jlelong/vscode-latex-basics Copyright (c) vscode-latex-basics authors @@ -977,7 +1662,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO --------------------------------------------------------- -language-docker 0.0.0 - Apache2 +language-docker 0.0.0 - Apache-2.0 https://github.com/moby/moby Apache License @@ -1443,7 +2128,7 @@ SOFTWARE. --------------------------------------------------------- -microsoft/vscode-mssql 1.23.0 - MIT +microsoft/vscode-mssql 1.29.0 - MIT https://github.com/microsoft/vscode-mssql ------------------------------------------ START OF LICENSE ----------------------------------------- @@ -1534,6 +2219,22 @@ SOFTWARE. --------------------------------------------------------- +RedCMD/YAML-Syntax-Highlighter 1.3.2 - MIT +https://github.com/RedCMD/YAML-Syntax-Highlighter + +MIT License + +Copyright 2024 RedCMD + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------- + +--------------------------------------------------------- + redhat-developer/vscode-java 1.26.0 - MIT https://github.com/redhat-developer/vscode-java @@ -1707,6 +2408,55 @@ SOFTWARE. --------------------------------------------------------- +Shopify/ruby-lsp 0.0.0 - MIT License +https://github.com/Shopify/ruby-lsp + +The MIT License (MIT) + +Copyright (c) 2022-present, Shopify Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +================================================================================ +The following files and related configuration in package.json are based on a +sequence of adaptions: grammars/ruby.cson.json, grammars/erb.cson.json, +languages/erb.json. + +Copyright (c) 2016 Peng Lv +Copyright (c) 2017-2019 Stafford Brunk +https://github.com/rubyide/vscode-ruby + + Released under the MIT license + https://github.com/rubyide/vscode-ruby/blob/main/LICENSE.txt + +Copyright (c) 2014 GitHub Inc. +https://github.com/atom/language-ruby + + Released under the MIT license + https://github.com/atom/language-ruby/blob/master/LICENSE.md + +https://github.com/textmate/ruby.tmbundle + https://github.com/textmate/ruby.tmbundle#license +--------------------------------------------------------- + +--------------------------------------------------------- + sumneko/lua.tmbundle 1.0.0 - TextMate Bundle License https://github.com/sumneko/lua.tmbundle @@ -1936,51 +2686,6 @@ to the base-name name of the original file, and an extension of txt, html, or si --------------------------------------------------------- -textmate/ruby.tmbundle 0.0.0 - TextMate Bundle License -https://github.com/textmate/ruby.tmbundle - -Copyright (c) textmate-ruby.tmbundle project authors - -If not otherwise specified (see below), files in this folder fall under the following license: - -Permission to copy, use, modify, sell and distribute this -software is granted. This software is provided "as is" without -express or implied warranty, and with no claim as to its -suitability for any purpose. - -An exception is made for files in readable text which contain their own license information, -or files where an accompanying file exists (in the same directory) with a "-license" suffix added -to the base-name name of the original file, and an extension of txt, html, or similar. For example -"tidy" is accompanied by "tidy-license.txt". ---------------------------------------------------------- - ---------------------------------------------------------- - -textmate/yaml.tmbundle 0.0.0 - TextMate Bundle License -https://github.com/textmate/yaml.tmbundle - -Copyright (c) 2015 FichteFoll - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------- - ---------------------------------------------------------- - trond-snekvik/vscode-rst 1.5.3 - MIT https://github.com/trond-snekvik/vscode-rst @@ -2491,7 +3196,7 @@ Creative Commons may be contacted at creativecommons.org. --------------------------------------------------------- -vscode-logfile-highlighter 2.17.0 - MIT +vscode-logfile-highlighter 3.3.4 - MIT https://github.com/emilast/vscode-logfile-highlighter The MIT License (MIT) @@ -2603,7 +3308,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------- -Web Background Synchronization - Apache2 +Web Background Synchronization - Apache-2.0 https://github.com/WICG/background-sync Apache License @@ -2807,11 +3512,31 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +--------------------------------------------------------- + +--------------------------------------------------------- + +zsh 5.9 +https://github.com/zsh-users/zsh + +Unless otherwise noted in the header of specific files, files in this distribution have the licence shown below. + +However, note that certain shell functions are licensed under versions of the GNU General Public Licence. Anyone distributing the shell as a binary including those files needs to take account of this. Search shell functions for "Copyright" for specific copyright information. None of the core functions are affected by this, so those files may simply be omitted. + +-- + +The Z Shell is copyright (c) 1992-2017 Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wischnowsky, and others. All rights reserved. Individual authors, whether or not specifically named, retain copyright in all changes; in what follows, they are referred to as `the Zsh Development Group'. This is for convenience only and this body has no legal status. The Z shell is distributed under the following licence; any provisions made in individual files take precedence. + +Permission is hereby granted, without written agreement and without licence or royalty fees, to use, copy, modify, and distribute this software and to distribute modified versions of this software for any purpose, provided that the above copyright notice and the following two paragraphs appear in all copies of this software. + +In no event shall the Zsh Development Group be liable to any party for direct, indirect, special, incidental, or consequential damages arising out of the use of this software and its documentation, even if the Zsh Development Group have been advised of the possibility of such damage. + +The Zsh Development Group specifically disclaim any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The software provided hereunder is on an "as is" basis, and the Zsh Development Group have no obligation to provide maintenance, support, updates, enhancements, or modifications. --------------------------------------------------------- --------------------------------------------------------- -code-oss-dev 1.95.3 +code-oss-dev 1.101.0 https://github.com/microsoft/vscode MIT License @@ -2997,7 +3722,61 @@ SOFTWARE. ****************************** @parcel/watcher -2.1.0 +2.5.0 +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@parcel/watcher-linux-x64-glibc +2.5.0 +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@parcel/watcher-linux-x64-musl +2.5.0 MIT License Copyright (c) 2017-present Devon Govett @@ -3134,7 +3913,7 @@ SOFTWARE. ****************************** @vscode/policy-watcher -1.1.8 +1.3.2 MIT License Copyright (c) Microsoft Corporation. @@ -3161,7 +3940,7 @@ SOFTWARE. ****************************** @vscode/proxy-agent -0.22.0 +0.32.0 MIT License Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net> @@ -3210,7 +3989,7 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ****************************** @vscode/spdlog -0.15.0 +0.15.2 MIT License Copyright (c) Microsoft Corporation. All rights reserved. @@ -3295,7 +4074,7 @@ SOFTWARE. ****************************** @vscode/tree-sitter-wasm -0.0.4 +0.1.4 MIT License Copyright (c) Microsoft Corporation. @@ -3425,9 +4204,34 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA ****************************** -@xterm/addon-clipboard -0.2.0-beta.48 -Copyright (c) 2023, The xterm.js authors (https://github.com/xtermjs/xterm.js) +@xterm/addon-clipboard +0.2.0-beta.90 +Copyright (c) 2023, The xterm.js authors (https://github.com/xtermjs/xterm.js) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +****************************** + +@xterm/addon-image +0.9.0-beta.107 +Copyright (c) 2019, 2020, 2021, 2022, 2023 The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3450,9 +4254,36 @@ THE SOFTWARE. ****************************** -@xterm/addon-image -0.9.0-beta.65 -Copyright (c) 2019, 2020, 2021, 2022, 2023 The xterm.js authors (https://github.com/xtermjs/xterm.js) +@xterm/addon-ligatures +0.10.0-beta.107 +MIT License + +Copyright (c) 2018 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +@xterm/addon-progress +0.2.0-beta.13 +Copyright (c) 2024, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -3476,7 +4307,7 @@ THE SOFTWARE. ****************************** @xterm/addon-search -0.16.0-beta.65 +0.16.0-beta.107 Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3501,14 +4332,14 @@ THE SOFTWARE. ****************************** @xterm/addon-serialize -0.14.0-beta.65 +0.14.0-beta.107 license: MIT authors: The xterm.js authors ****************************** @xterm/addon-unicode11 -0.9.0-beta.65 +0.9.0-beta.107 Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3533,7 +4364,7 @@ THE SOFTWARE. ****************************** @xterm/addon-webgl -0.19.0-beta.65 +0.19.0-beta.107 Copyright (c) 2018, The xterm.js authors (https://github.com/xtermjs/xterm.js) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -3558,14 +4389,14 @@ THE SOFTWARE. ****************************** @xterm/headless -5.6.0-beta.65 +5.6.0-beta.107 license: MIT authors: undefined ****************************** @xterm/xterm -5.6.0-beta.65 +5.6.0-beta.107 Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js) Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com) Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/) @@ -3772,7 +4603,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************** debug -4.3.4 +4.4.0 (The MIT License) Copyright (c) 2014-2017 TJ Holowaychuk @@ -3810,6 +4641,213 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +detect-libc +1.0.3 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + ****************************** eventemitter3 @@ -3941,6 +4979,60 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +font-finder +1.1.0 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +****************************** + +font-ligatures +1.4.1 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** fs-extra @@ -3983,6 +5075,33 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +****************************** + +get-system-fonts +2.0.2 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** graceful-fs @@ -4834,6 +5953,27 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +lru-cache +6.0.0 +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ****************************** micromatch @@ -4968,10 +6108,10 @@ THE SOFTWARE. ****************************** ms -2.1.2 +2.1.3 The MIT License (MIT) -Copyright (c) 2016 Zeit, Inc. +Copyright (c) 2020 Vercel, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5061,37 +6201,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -****************************** - -node-gyp-build -4.8.1 -The MIT License (MIT) - -Copyright (c) 2017 Mathias Buus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ****************************** node-pty -1.1.0-beta22 +1.1.0-beta33 Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/) Permission is hereby granted, free of charge, to any person obtaining a copy @@ -5178,6 +6291,32 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +opentype.js +0.8.0 +The MIT License (MIT) + +Copyright (c) 2017 Frederik De Bleser + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + ****************************** pend @@ -5234,6 +6373,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +****************************** + +promise-stream-reader +1.0.1 +MIT License + +Copyright (c) 2018 Jeffrey Principe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** proxy-from-env @@ -5445,6 +6611,33 @@ tas-client-umd SOFTWARE +****************************** + +tiny-inflate +1.0.3 +MIT License + +Copyright (c) 2015-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** to-regex-range @@ -5489,6 +6682,33 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +****************************** + +undici +7.9.0 +MIT License + +Copyright (c) Matteo Collina and Undici contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ****************************** universalify @@ -5618,7 +6838,7 @@ SOFTWARE. ****************************** vscode-textmate -9.1.0 +9.2.0 The MIT License (MIT) Copyright (c) Microsoft Corporation diff --git a/patches/common/allow-unused-vars.diff b/patches/common/allow-unused-vars.diff index d8e3eca0..4bc3a923 100644 --- a/patches/common/allow-unused-vars.diff +++ b/patches/common/allow-unused-vars.diff @@ -2,28 +2,15 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/tsconfig.base.json =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/tsconfig.base.json +++ AWSCodeOSS/build/private/code-editor-src/src/tsconfig.base.json -@@ -5,7 +5,7 @@ +@@ -6,7 +6,7 @@ "experimentalDecorators": true, "noImplicitReturns": true, "noImplicitOverride": true, - "noUnusedLocals": true, + "noUnusedLocals": false, + "noUncheckedSideEffectImports": true, "allowUnreachableCode": false, "strict": true, - "exactOptionalPropertyTypes": false, -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/editor/test/node/classification/typescript.test.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/editor/test/node/classification/typescript.test.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/editor/test/node/classification/typescript.test.ts -@@ -108,7 +108,7 @@ function parseTest(fileName: string): IT - return { content, assertions }; - } - --// @ts-expect-error -+// @ts-ignore - function executeTest(fileName: string, parseFunc: IParseFunc): void { - const { content, assertions } = parseTest(fileName); - const actual = parseFunc(content); Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/preferences/browser/preferencesSearch.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/preferences/browser/preferencesSearch.ts @@ -36,4 +23,17 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/prefere + // @ts-ignore disable remote search for now, ref https://github.com/microsoft/vscode/issues/172411 private _installedExtensions: Promise; private _remoteSearchProvider: IRemoteSearchProvider | undefined; + private _aiSearchProvider: IAiSearchProvider | undefined; +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts +@@ -762,7 +762,7 @@ export class TunnelPanel extends ViewPan + private protocolChangableContextKey: IContextKey; + private isEditing: boolean = false; + // TODO: Should this be removed? +- //@ts-expect-error ++ //@ts-ignore + private titleActions: IAction[] = []; + private lastFocus: number[] = []; diff --git a/patches/common/disable-telemetry-service.diff b/patches/common/disable-telemetry-service.diff index df07ae39..b38e3eee 100644 --- a/patches/common/disable-telemetry-service.diff +++ b/patches/common/disable-telemetry-service.diff @@ -6,7 +6,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/telemetry/common =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/telemetry/common/telemetryService.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/telemetry/common/telemetryService.ts -@@ -208,7 +208,7 @@ Registry.as(Exte +@@ -209,7 +209,7 @@ configurationRegistry.registerConfigurat 'properties': { [TELEMETRY_SETTING_ID]: { 'type': 'string', @@ -15,7 +15,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/telemetry/common 'enumDescriptions': [ localize('telemetry.telemetryLevel.default', "Sends usage data, errors, and crash reports."), localize('telemetry.telemetryLevel.error', "Sends general error telemetry and crash reports."), -@@ -216,7 +216,7 @@ Registry.as(Exte +@@ -217,7 +217,7 @@ configurationRegistry.registerConfigurat localize('telemetry.telemetryLevel.off', "Disables all product telemetry.") ], 'markdownDescription': getTelemetryLevelSettingDescription(), @@ -23,8 +23,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/telemetry/common + 'default': TelemetryConfiguration.OFF, 'restricted': true, 'scope': ConfigurationScope.APPLICATION, - 'tags': ['usesOnlineServices', 'telemetry'] -@@ -237,7 +237,7 @@ Registry.as(Exte + 'tags': ['usesOnlineServices', 'telemetry'], +@@ -243,7 +243,7 @@ configurationRegistry.registerConfigurat !product.privacyStatementUrl ? localize('telemetry.enableTelemetry', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made.", product.nameLong) : localize('telemetry.enableTelemetryMd', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made. [Read more]({1}) about what we collect and our privacy statement.", product.nameLong, product.privacyStatementUrl), @@ -37,7 +37,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/electron-sandbo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/electron-sandbox/desktop.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/electron-sandbox/desktop.contribution.ts -@@ -296,7 +296,7 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL +@@ -322,7 +322,7 @@ import { registerWorkbenchContribution2, 'telemetry.enableCrashReporter': { 'type': 'boolean', 'description': localize('telemetry.enableCrashReporting', "Enable crash reports to be collected. This helps us improve stability. \nThis option requires restart to take effect."), diff --git a/patches/common/embedded-api.diff b/patches/common/embedded-api.diff index d6cb736f..ea6be18f 100644 --- a/patches/common/embedded-api.diff +++ b/patches/common/embedded-api.diff @@ -34,10 +34,10 @@ received. src/vscode-dts/vscode.d.ts | 2 ++ 6 files changed, 47 insertions(+), 1 deletion(-) -Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts @@ -3,6 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -46,10 +46,10 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/browser import { Event } from '../../../base/common/event.js'; import { DisposableStore } from '../../../base/common/lifecycle.js'; import { URI, UriComponents } from '../../../base/common/uri.js'; -@@ -29,6 +30,17 @@ export class MainThreadWindow implements - Event.latch(hostService.onDidChangeFocus) +@@ -31,6 +32,17 @@ export class MainThreadWindow implements (this.proxy.$onDidChangeWindowFocus, this.proxy, this.disposables); userActivityService.onDidChangeIsActive(this.proxy.$onDidChangeWindowActive, this.proxy, this.disposables); + this.registerNativeHandle(); + + mainWindow.addEventListener('message', (e) => { + if (e.origin !== this.getOrigin() || e.source !== mainWindow.parent) { @@ -64,7 +64,7 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/browser } dispose(): void { -@@ -63,4 +75,12 @@ export class MainThreadWindow implements +@@ -76,4 +88,12 @@ export class MainThreadWindow implements const result = await this.openerService.resolveExternalUri(URI.revive(uriComponents), options); return result.resolved; } @@ -77,11 +77,11 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/browser + mainWindow.parent.postMessage(message, origin); + } } -Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts -@@ -676,6 +676,14 @@ export function createApiFactoryAndRegis +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts +@@ -690,6 +690,14 @@ export function createApiFactoryAndRegis // namespace: window const window: typeof vscode.window = { @@ -96,11 +96,11 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/ get activeTextEditor() { return extHostEditors.getActiveTextEditor(); }, -Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts -@@ -1698,6 +1698,7 @@ export interface MainThreadWindowShape e +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts +@@ -1744,6 +1744,7 @@ export interface MainThreadWindowShape e $getInitialState(): Promise<{ isFocused: boolean; isActive: boolean }>; $openUri(uri: UriComponents, uriString: string | undefined, options: IOpenUriOptions): Promise; $asExternalUri(uri: UriComponents, options: IOpenUriOptions): Promise; @@ -108,35 +108,35 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/ } export enum CandidatePortSource { -@@ -2556,6 +2557,7 @@ export interface ExtHostDecorationsShape - export interface ExtHostWindowShape { +@@ -2721,6 +2722,7 @@ export interface ExtHostWindowShape { $onDidChangeWindowFocus(value: boolean): void; $onDidChangeWindowActive(value: boolean): void; + $onDidChangeActiveNativeWindowHandle(handle: string | undefined): void; + $receiveMessage(message: any): void; } export interface ExtHostLogLevelServiceShape { -Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts -@@ -22,6 +22,7 @@ export class ExtHostWindow implements Ex +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/api/common/extHostWindow.ts +@@ -26,6 +26,7 @@ export class ExtHostWindow implements Ex private _proxy: MainThreadWindowShape; private readonly _onDidChangeWindowState = new Emitter(); + private _receiveMessage: Emitter; readonly onDidChangeWindowState: Event = this._onDidChangeWindowState.event; - private _state = ExtHostWindow.InitialState; -@@ -46,6 +47,7 @@ export class ExtHostWindow implements Ex + private _nativeHandle: Uint8Array | undefined; +@@ -57,6 +58,7 @@ export class ExtHostWindow implements Ex this.onDidChangeWindowProperty('focused', isFocused); this.onDidChangeWindowProperty('active', isActive); }); + this._receiveMessage = new Emitter(); } - $onDidChangeWindowFocus(value: boolean) { -@@ -91,6 +93,18 @@ export class ExtHostWindow implements Ex + get nativeHandle(): Uint8Array | undefined { +@@ -110,6 +112,18 @@ export class ExtHostWindow implements Ex const result = await this._proxy.$asExternalUri(uri, options); return URI.from(result); } @@ -155,10 +155,10 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/api/common/ } export const IExtHostWindow = createDecorator('IExtHostWindow'); -Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts @@ -44,7 +44,7 @@ export class ExtensionsProposedApi { for (const [k, value] of Object.entries(productService.extensionEnabledApiProposals)) { const key = ExtensionIdentifier.toKey(k); @@ -168,11 +168,11 @@ Index: VSCodeEmbedded/build/private/code-editor-src/src/vs/workbench/services/ex _logService.warn(`Via 'product.json#extensionEnabledApiProposals' extension '${key}' wants API proposal '${name}' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.`); return false; } -Index: VSCodeEmbedded/build/private/code-editor-src/src/vscode-dts/vscode.d.ts +Index: AWSCodeOSS/build/private/code-editor-src/src/vscode-dts/vscode.d.ts =================================================================== ---- VSCodeEmbedded.orig/build/private/code-editor-src/src/vscode-dts/vscode.d.ts -+++ VSCodeEmbedded/build/private/code-editor-src/src/vscode-dts/vscode.d.ts -@@ -10660,6 +10660,8 @@ declare module 'vscode' { +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vscode-dts/vscode.d.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vscode-dts/vscode.d.ts +@@ -11000,6 +11000,8 @@ declare module 'vscode' { * asking for user input. */ export namespace window { diff --git a/patches/common/fix-ghsa-742r-ggwg-vqxm.diff b/patches/common/fix-ghsa-742r-ggwg-vqxm.diff deleted file mode 100644 index 5194c523..00000000 --- a/patches/common/fix-ghsa-742r-ggwg-vqxm.diff +++ /dev/null @@ -1,298 +0,0 @@ -Fix CVE - ghsa-742r-ggwg-vqxm - -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.ts -@@ -15,7 +15,6 @@ import { IFileService } from '../../../../platform/files/common/files.js'; - import { IHoverService } from '../../../../platform/hover/browser/hover.js'; - import { IOpenerService } from '../../../../platform/opener/common/opener.js'; - import { REVEAL_IN_EXPLORER_COMMAND_ID } from '../../files/browser/fileConstants.js'; --import { ITrustedDomainService } from '../../url/browser/trustedDomainService.js'; - - const allowedHtmlTags = [ - 'b', -@@ -62,7 +61,6 @@ export class ChatMarkdownRenderer extends MarkdownRenderer { - options: IMarkdownRendererOptions | undefined, - @ILanguageService languageService: ILanguageService, - @IOpenerService openerService: IOpenerService, -- @ITrustedDomainService private readonly trustedDomainService: ITrustedDomainService, - @IHoverService private readonly hoverService: IHoverService, - @IFileService private readonly fileService: IFileService, - @ICommandService private readonly commandService: ICommandService, -@@ -73,7 +71,7 @@ export class ChatMarkdownRenderer extends MarkdownRenderer { - override render(markdown: IMarkdownString | undefined, options?: MarkdownRenderOptions, markedOptions?: MarkedOptions): IMarkdownRenderResult { - options = { - ...options, -- remoteImageIsAllowed: (uri) => this.trustedDomainService.isValid(uri), -+ remoteImageIsAllowed: (uri) => false, - sanitizerOptions: { - replaceWithPlaintext: true, - allowedTags: allowedHtmlTags, - -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/__snapshots__/ChatMarkdownRenderer_remote_images.0.snap -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/__snapshots__/ChatMarkdownRenderer_remote_images.0.snap -+++ /dev/null -@@ -1 +0,0 @@ --

<img src="http://disallowed.com/image.jpg">

-\ No newline at end of file -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/__snapshots__/ChatMarkdownRenderer_remote_images_are_disallowed.0.snap -=================================================================== ---- /dev/null -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/__snapshots__/ChatMarkdownRenderer_remote_images_are_disallowed.0.snap -@@ -0,0 +1 @@ -+

<img src="http://disallowed.com/image.jpg">

-Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/chatMarkdownRenderer.test.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/chatMarkdownRenderer.test.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/chat/test/browser/chatMarkdownRenderer.test.ts -@@ -7,8 +7,6 @@ import { MarkdownString } from '../../../../../base/common/htmlContent.js'; - import { assertSnapshot } from '../../../../../base/test/common/snapshot.js'; - import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../base/test/common/utils.js'; - import { ChatMarkdownRenderer } from '../../browser/chatMarkdownRenderer.js'; --import { ITrustedDomainService } from '../../../url/browser/trustedDomainService.js'; --import { MockTrustedDomainService } from '../../../url/test/browser/mockTrustedDomainService.js'; - import { workbenchInstantiationService } from '../../../../test/browser/workbenchTestServices.js'; - - suite('ChatMarkdownRenderer', () => { -@@ -17,7 +15,6 @@ suite('ChatMarkdownRenderer', () => { - let testRenderer: ChatMarkdownRenderer; - setup(() => { - const instantiationService = store.add(workbenchInstantiationService(undefined, store)); -- instantiationService.stub(ITrustedDomainService, new MockTrustedDomainService(['http://allowed.com'])); - testRenderer = instantiationService.createInstance(ChatMarkdownRenderer, {}); - }); - -@@ -102,8 +99,8 @@ suite('ChatMarkdownRenderer', () => { - await assertSnapshot(result.element.outerHTML); - }); - -- test('remote images', async () => { -- const md = new MarkdownString(' '); -+ test('remote images are disallowed', async () => { -+ const md = new MarkdownString(''); - md.supportHtml = true; - const result = store.add(testRenderer.render(md)); - await assertSnapshot(result.element.outerHTML); -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/common/urlGlob.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/url/common/urlGlob.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/common/urlGlob.ts -@@ -5,89 +5,154 @@ - - import { URI } from '../../../../base/common/uri.js'; - --// TODO: rewrite this to use URIs directly and validate each part individually --// instead of relying on memoization of the stringified URI. --export const testUrlMatchesGlob = (uri: URI, globUrl: string): boolean => { -- let url = uri.with({ query: null, fragment: null }).toString(true); -- const normalize = (url: string) => url.replace(/\/+$/, ''); -- globUrl = normalize(globUrl); -- url = normalize(url); -- -- const memo = Array.from({ length: url.length + 1 }).map(() => -- Array.from({ length: globUrl.length + 1 }).map(() => undefined), -- ); -+/** -+ * Normalizes a URL by removing trailing slashes and query/fragment components. -+ * @param url The URL to normalize. -+ * @returns URI - The normalized URI object. -+ */ -+function normalizeURL(url: string | URI): URI { -+ const uri = typeof url === 'string' ? URI.parse(url) : url; -+ return uri.with({ -+ // Remove trailing slashes -+ path: uri.path.replace(/\/+$/, ''), -+ // Remove query and fragment -+ query: null, -+ fragment: null, -+ }); -+} - -- if (/^[^./:]*:\/\//.test(globUrl)) { -- return doUrlMatch(memo, url, globUrl, 0, 0); -- } -+/** -+ * Checks if a given URL matches a glob URL pattern. -+ * The glob URL pattern can contain wildcards (*) and subdomain matching (*.) -+ * @param uri The URL to check. -+ * @param globUrl The glob URL pattern to match against. -+ * @returns boolean - True if the URL matches the glob URL pattern, false otherwise. -+ */ -+export function testUrlMatchesGlob(uri: string | URI, globUrl: string): boolean { -+ const normalizedUrl = normalizeURL(uri); -+ let normalizedGlobUrl = normalizeURL(globUrl); - -- const scheme = /^(https?):\/\//.exec(url)?.[1]; -- if (scheme) { -- return doUrlMatch(memo, url, `${scheme}://${globUrl}`, 0, 0); -+ const globHasScheme = /^[^./:]*:\/\//.test(globUrl); -+ // if the glob does not have a scheme we assume the scheme is http or https -+ // so if the url doesn't have a scheme of http or https we return false -+ if (!globHasScheme) { -+ if (normalizedUrl.scheme !== 'http' && normalizedUrl.scheme !== 'https') { -+ return false; -+ } -+ normalizedGlobUrl = normalizeURL(`${normalizedUrl.scheme}://${globUrl}`); - } - -- return false; --}; -+ return ( -+ doMemoUrlMatch(normalizedUrl.scheme, normalizedGlobUrl.scheme) && -+ // The authority is the only thing that should do port logic. -+ doMemoUrlMatch(normalizedUrl.authority, normalizedGlobUrl.authority, true) && -+ ( -+ // -+ normalizedGlobUrl.path === '/' || -+ doMemoUrlMatch(normalizedUrl.path, normalizedGlobUrl.path) -+ ) -+ ); -+} -+ -+/** -+ * @param normalizedUrlPart The normalized URL part to match. -+ * @param normalizedGlobUrlPart The normalized glob URL part to match against. -+ * @param includePortLogic Whether to include port logic in the matching process. -+ * @returns boolean - True if the URL part matches the glob URL part, false otherwise. -+ */ -+function doMemoUrlMatch( -+ normalizedUrlPart: string, -+ normalizedGlobUrlPart: string, -+ includePortLogic: boolean = false, -+) { -+ const memo = Array.from({ length: normalizedUrlPart.length + 1 }).map(() => -+ Array.from({ length: normalizedGlobUrlPart.length + 1 }).map(() => undefined), -+ ); - --const doUrlMatch = ( -+ return doUrlPartMatch(memo, includePortLogic, normalizedUrlPart, normalizedGlobUrlPart, 0, 0); -+} -+ -+/** -+ * Recursively checks if a URL part matches a glob URL part. -+ * This function uses memoization to avoid recomputing results for the same inputs. -+ * It handles various cases such as exact matches, wildcard matches, and port logic. -+ * @param memo A memoization table to avoid recomputing results for the same inputs. -+ * @param includePortLogic Whether to include port logic in the matching process. -+ * @param urlPart The URL part to match with. -+ * @param globUrlPart The glob URL part to match against. -+ * @param urlOffset The current offset in the URL part. -+ * @param globUrlOffset The current offset in the glob URL part. -+ * @returns boolean - True if the URL part matches the glob URL part, false otherwise. -+ */ -+function doUrlPartMatch( - memo: (boolean | undefined)[][], -- url: string, -- globUrl: string, -+ includePortLogic: boolean, -+ urlPart: string, -+ globUrlPart: string, - urlOffset: number, -- globUrlOffset: number, --): boolean => { -+ globUrlOffset: number -+): boolean { - if (memo[urlOffset]?.[globUrlOffset] !== undefined) { - return memo[urlOffset][globUrlOffset]!; - } - - const options = []; - -- // Endgame. -- // Fully exact match -- if (urlOffset === url.length) { -- return globUrlOffset === globUrl.length; -+ // We've reached the end of the url. -+ if (urlOffset === urlPart.length) { -+ // We're also at the end of the glob url as well so we have an exact match. -+ if (globUrlOffset === globUrlPart.length) { -+ return true; -+ } -+ -+ if (includePortLogic && globUrlPart[globUrlOffset] + globUrlPart[globUrlOffset + 1] === ':*') { -+ // any port match. Consume a port if it exists otherwise nothing. Always consume the base. -+ return globUrlOffset + 2 === globUrlPart.length; -+ } -+ -+ return false; - } - - // Some path remaining in url -- if (globUrlOffset === globUrl.length) { -- const remaining = url.slice(urlOffset); -+ if (globUrlOffset === globUrlPart.length) { -+ const remaining = urlPart.slice(urlOffset); - return remaining[0] === '/'; - } - -- if (url[urlOffset] === globUrl[globUrlOffset]) { -+ if (urlPart[urlOffset] === globUrlPart[globUrlOffset]) { - // Exact match. -- options.push(doUrlMatch(memo, url, globUrl, urlOffset + 1, globUrlOffset + 1)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset + 1, globUrlOffset + 1)); - } - -- if (globUrl[globUrlOffset] + globUrl[globUrlOffset + 1] === '*.') { -+ if (globUrlPart[globUrlOffset] + globUrlPart[globUrlOffset + 1] === '*.') { - // Any subdomain match. Either consume one thing that's not a / or : and don't advance base or consume nothing and do. -- if (!['/', ':'].includes(url[urlOffset])) { -- options.push(doUrlMatch(memo, url, globUrl, urlOffset + 1, globUrlOffset)); -+ if (!['/', ':'].includes(urlPart[urlOffset])) { -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset + 1, globUrlOffset)); - } -- options.push(doUrlMatch(memo, url, globUrl, urlOffset, globUrlOffset + 2)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset, globUrlOffset + 2)); - } - -- if (globUrl[globUrlOffset] === '*') { -+ if (globUrlPart[globUrlOffset] === '*') { - // Any match. Either consume one thing and don't advance base or consume nothing and do. -- if (urlOffset + 1 === url.length) { -+ if (urlOffset + 1 === urlPart.length) { - // If we're at the end of the input url consume one from both. -- options.push(doUrlMatch(memo, url, globUrl, urlOffset + 1, globUrlOffset + 1)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset + 1, globUrlOffset + 1)); - } else { -- options.push(doUrlMatch(memo, url, globUrl, urlOffset + 1, globUrlOffset)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset + 1, globUrlOffset)); - } -- options.push(doUrlMatch(memo, url, globUrl, urlOffset, globUrlOffset + 1)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset, globUrlOffset + 1)); - } - -- if (globUrl[globUrlOffset] + globUrl[globUrlOffset + 1] === ':*') { -- // any port match. Consume a port if it exists otherwise nothing. Always comsume the base. -- if (url[urlOffset] === ':') { -+ if (includePortLogic && globUrlPart[globUrlOffset] + globUrlPart[globUrlOffset + 1] === ':*') { -+ // any port match. Consume a port if it exists otherwise nothing. Always consume the base. -+ if (urlPart[urlOffset] === ':') { - let endPortIndex = urlOffset + 1; -- do { endPortIndex++; } while (/[0-9]/.test(url[endPortIndex])); -- options.push(doUrlMatch(memo, url, globUrl, endPortIndex, globUrlOffset + 2)); -+ do { endPortIndex++; } while (/[0-9]/.test(urlPart[endPortIndex])); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, endPortIndex, globUrlOffset + 2)); - } else { -- options.push(doUrlMatch(memo, url, globUrl, urlOffset, globUrlOffset + 2)); -+ options.push(doUrlPartMatch(memo, includePortLogic, urlPart, globUrlPart, urlOffset, globUrlOffset + 2)); - } - } - - return (memo[urlOffset][globUrlOffset] = options.some(a => a === true)); --}; -+} -Index AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/test/browser/trustedDomains.test.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/url/test/browser/trustedDomains.test.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/test/browser/trustedDomains.test.ts -@@ -113,4 +113,9 @@ suite('Link protection domain matching', () => { - linkAllowedByRules('https://github.com/login/oauth/authorize?foo=4', ['https://github.com/login/oauth/authorize']); - linkAllowedByRules('https://github.com/login/oauth/authorize#foo', ['https://github.com/login/oauth/authorize']); - }); -+ -+ test('ensure individual parts of url are compared and wildcard does not leak out', () => { -+ linkNotAllowedByRules('https://x.org/github.com', ['https://*.github.com']); -+ linkNotAllowedByRules('https://x.org/y.github.com', ['https://*.github.com']); -+ }); - }); diff --git a/patches/common/fix-ghsa-hwrx-jgf2-74hw.diff b/patches/common/fix-ghsa-hwrx-jgf2-74hw.diff deleted file mode 100644 index 522da895..00000000 --- a/patches/common/fix-ghsa-hwrx-jgf2-74hw.diff +++ /dev/null @@ -1,298 +0,0 @@ -Fix CVE - fix-ghsa-hwrx-jgf2-74hw - -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/node/terminalEnvironment.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/terminal/node/terminalEnvironment.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/node/terminalEnvironment.ts -@@ -18,6 +18,8 @@ import { IShellLaunchConfig, ITerminalEn - import { EnvironmentVariableMutatorType } from '../common/environmentVariable.js'; - import { deserializeEnvironmentVariableCollections } from '../common/environmentVariableShared.js'; - import { MergedEnvironmentVariableCollection } from '../common/environmentVariableCollection.js'; -+import { chmod, realpathSync } from 'fs'; -+import { promisify } from 'util'; - - export function getWindowsBuildNumber(): number { - const osVersion = (/(\d+)\.(\d+)\.(\d+)/g).exec(os.release()); -@@ -105,13 +107,14 @@ export interface IShellIntegrationConfig - * that creates the process to ensure accuracy. Returns undefined if shell integration cannot be - * enabled. - */ --export function getShellIntegrationInjection( -+export async function getShellIntegrationInjection( - shellLaunchConfig: IShellLaunchConfig, - options: ITerminalProcessOptions, - env: ITerminalEnvironment | undefined, - logService: ILogService, -- productService: IProductService --): IShellIntegrationConfigInjection | undefined { -+ productService: IProductService, -+ skipStickyBit: boolean = false -+): Promise { - // Conditionally disable shell integration arg injection - // - The global setting is disabled - // - There is no executable (not sure what script to run) -@@ -248,7 +251,27 @@ export function getShellIntegrationInjec - } catch { - username = 'unknown'; - } -- const zdotdir = path.join(os.tmpdir(), `${username}-${productService.applicationName}-zsh`); -+ -+ // Resolve the actual tmp directory so we can set the sticky bit -+ const realTmpDir = realpathSync(os.tmpdir()); -+ const zdotdir = path.join(realTmpDir, `${username}-${productService.applicationName}-zsh`); -+ -+ // Set directory permissions using octal notation: -+ // - 0o1700: -+ // - Sticky bit is set, preventing non-owners from deleting or renaming files within this directory (1) -+ // - Owner has full read (4), write (2), execute (1) permissions -+ // - Group has no permissions (0) -+ // - Others have no permissions (0) -+ if (!skipStickyBit) { -+ // skip for tests -+ try { -+ const chmodAsync = promisify(chmod); -+ await chmodAsync(zdotdir, 0o1700); -+ } catch (err) { -+ logService.error(`Failed to set sticky bit on ${zdotdir}: ${err}`); -+ return undefined; -+ } -+ } - envMixin['ZDOTDIR'] = zdotdir; - const userZdotdir = env?.ZDOTDIR ?? os.homedir() ?? `~`; - envMixin['USER_ZDOTDIR'] = userZdotdir; -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/node/terminalProcess.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/terminal/node/terminalProcess.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/node/terminalProcess.ts -@@ -207,7 +207,7 @@ export class TerminalProcess extends Dis - - let injection: IShellIntegrationConfigInjection | undefined; - if (this._options.shellIntegration.enabled) { -- injection = getShellIntegrationInjection(this.shellLaunchConfig, this._options, this._ptyOptions.env, this._logService, this._productService); -+ injection = await getShellIntegrationInjection(this.shellLaunchConfig, this._options, this._ptyOptions.env, this._logService, this._productService); - if (injection) { - this._onDidChangeProperty.fire({ type: ProcessPropertyType.UsedShellIntegrationInjection, value: true }); - if (injection.envMixin) { -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/test/node/terminalEnvironment.test.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/terminal/test/node/terminalEnvironment.test.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/terminal/test/node/terminalEnvironment.test.ts -@@ -3,6 +3,7 @@ - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -+/* eslint-disable local/code-no-test-async-suite */ - import { deepStrictEqual, ok, strictEqual } from 'assert'; - import { homedir, userInfo } from 'os'; - import { isWindows } from '../../../../base/common/platform.js'; -@@ -28,18 +29,18 @@ function deepStrictEqualIgnoreStableVar( - deepStrictEqual(actual, expected); - } - --suite('platform - terminalEnvironment', () => { -+suite('platform - terminalEnvironment', async () => { - ensureNoDisposablesAreLeakedInTestSuite(); - suite('getShellIntegrationInjection', () => { - suite('should not enable', () => { - // This test is only expected to work on Windows 10 build 18309 and above -- (getWindowsBuildNumber() < 18309 ? test.skip : test)('when isFeatureTerminal or when no executable is provided', () => { -- ok(!getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'], isFeatureTerminal: true }, enabledProcessOptions, defaultEnvironment, logService, productService)); -- ok(getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'], isFeatureTerminal: false }, enabledProcessOptions, defaultEnvironment, logService, productService)); -+ (getWindowsBuildNumber() < 18309 ? test.skip : test)('when isFeatureTerminal or when no executable is provided', async () => { -+ ok(!(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'], isFeatureTerminal: true }, enabledProcessOptions, defaultEnvironment, logService, productService, true))); -+ ok(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'], isFeatureTerminal: false }, enabledProcessOptions, defaultEnvironment, logService, productService, true)); - }); - if (isWindows) { -- test('when on windows with conpty false', () => { -- ok(!getShellIntegrationInjection({ executable: pwshExe, args: ['-l'], isFeatureTerminal: false }, winptyProcessOptions, defaultEnvironment, logService, productService)); -+ test('when on windows with conpty false', async () => { -+ ok(!(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l'], isFeatureTerminal: false }, winptyProcessOptions, defaultEnvironment, logService, productService, true))); - }); - } - }); -@@ -60,22 +61,22 @@ suite('platform - terminalEnvironment', - VSCODE_INJECTION: '1' - } - }); -- test('when undefined, []', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ test('when undefined, []', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); - suite('when no logo', () => { -- test('array - case insensitive', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: ['-NoLogo'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: ['-NOLOGO'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: ['-nol'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: ['-NOL'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- }); -- test('string - case insensitive', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: '-NoLogo' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: '-NOLOGO' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: '-nol' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: '-NOL' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ test('array - case insensitive', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: ['-NoLogo'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: ['-NOLOGO'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: ['-nol'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: ['-NOL'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ }); -+ test('string - case insensitive', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: '-NoLogo' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: '-NOLOGO' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: '-nol' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: '-NOL' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); - }); - }); -@@ -91,24 +92,24 @@ suite('platform - terminalEnvironment', - VSCODE_INJECTION: '1' - } - }); -- test('when array contains no logo and login', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ test('when array contains no logo and login', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); -- test('when string', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: pwshExe, args: '-l' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ test('when string', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: pwshExe, args: '-l' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); - }); - suite('should not modify args', () => { -- test('when shell integration is disabled', () => { -- strictEqual(getShellIntegrationInjection({ executable: pwshExe, args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -- strictEqual(getShellIntegrationInjection({ executable: pwshExe, args: '-l' }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -- strictEqual(getShellIntegrationInjection({ executable: pwshExe, args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when shell integration is disabled', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); -+ strictEqual(await getShellIntegrationInjection({ executable: pwshExe, args: '-l' }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); -+ strictEqual(await getShellIntegrationInjection({ executable: pwshExe, args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); -- test('when using unrecognized arg', () => { -- strictEqual(getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo', '-i'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when using unrecognized arg', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: pwshExe, args: ['-l', '-NoLogo', '-i'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); -- test('when using unrecognized arg (string)', () => { -- strictEqual(getShellIntegrationInjection({ executable: pwshExe, args: '-i' }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when using unrecognized arg (string)', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: pwshExe, args: '-i' }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); - }); - }); -@@ -146,38 +147,38 @@ suite('platform - terminalEnvironment', - ok(result.filesToCopy[2].source.match(expectedSources[2])); - ok(result.filesToCopy[3].source.match(expectedSources[3])); - } -- test('when undefined, []', () => { -- const result1 = getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService); -+ test('when undefined, []', async () => { -+ const result1 = await getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService, true); - deepStrictEqual(result1?.newArgs, ['-i']); - assertIsEnabled(result1); -- const result2 = getShellIntegrationInjection({ executable: 'zsh', args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService); -+ const result2 = await getShellIntegrationInjection({ executable: 'zsh', args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService, true); - deepStrictEqual(result2?.newArgs, ['-i']); - assertIsEnabled(result2); - }); - suite('should incorporate login arg', () => { -- test('when array', () => { -- const result = getShellIntegrationInjection({ executable: 'zsh', args: ['-l'] }, enabledProcessOptions, defaultEnvironment, logService, productService); -+ test('when array', async () => { -+ const result = await getShellIntegrationInjection({ executable: 'zsh', args: ['-l'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true); - deepStrictEqual(result?.newArgs, ['-il']); - assertIsEnabled(result); - }); - }); - suite('should not modify args', () => { -- test('when shell integration is disabled', () => { -- strictEqual(getShellIntegrationInjection({ executable: 'zsh', args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -- strictEqual(getShellIntegrationInjection({ executable: 'zsh', args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when shell integration is disabled', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: 'zsh', args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); -+ strictEqual(await getShellIntegrationInjection({ executable: 'zsh', args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); -- test('when using unrecognized arg', () => { -- strictEqual(getShellIntegrationInjection({ executable: 'zsh', args: ['-l', '-fake'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when using unrecognized arg', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: 'zsh', args: ['-l', '-fake'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); - }); - suite('should incorporate global ZDOTDIR env variable', () => { -- test('when custom ZDOTDIR', () => { -- const result1 = getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, { ...defaultEnvironment, ZDOTDIR: customZdotdir }, logService, productService); -+ test('when custom ZDOTDIR', async () => { -+ const result1 = await getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, { ...defaultEnvironment, ZDOTDIR: customZdotdir }, logService, productService, true); - deepStrictEqual(result1?.newArgs, ['-i']); - assertIsEnabled(result1, customZdotdir); - }); -- test('when undefined', () => { -- const result1 = getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, undefined, logService, productService); -+ test('when undefined', async () => { -+ const result1 = await getShellIntegrationInjection({ executable: 'zsh', args: [] }, enabledProcessOptions, undefined, logService, productService, true); - deepStrictEqual(result1?.newArgs, ['-i']); - assertIsEnabled(result1); - }); -@@ -186,7 +187,7 @@ suite('platform - terminalEnvironment', - }); - suite('bash', () => { - suite('should override args', () => { -- test('when undefined, [], empty string', () => { -+ test('when undefined, [], empty string', async () => { - const enabledExpectedResult = Object.freeze({ - newArgs: [ - '--init-file', -@@ -196,9 +197,9 @@ suite('platform - terminalEnvironment', - VSCODE_INJECTION: '1' - } - }); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: 'bash', args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: 'bash', args: '' }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: 'bash', args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: 'bash', args: [] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: 'bash', args: '' }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: 'bash', args: undefined }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); - suite('should set login env variable and not modify args', () => { - const enabledExpectedResult = Object.freeze({ -@@ -211,17 +212,17 @@ suite('platform - terminalEnvironment', - VSCODE_SHELL_LOGIN: '1' - } - }); -- test('when array', () => { -- deepStrictEqualIgnoreStableVar(getShellIntegrationInjection({ executable: 'bash', args: ['-l'] }, enabledProcessOptions, defaultEnvironment, logService, productService), enabledExpectedResult); -+ test('when array', async () => { -+ deepStrictEqualIgnoreStableVar(await getShellIntegrationInjection({ executable: 'bash', args: ['-l'] }, enabledProcessOptions, defaultEnvironment, logService, productService, true), enabledExpectedResult); - }); - }); - suite('should not modify args', () => { -- test('when shell integration is disabled', () => { -- strictEqual(getShellIntegrationInjection({ executable: 'bash', args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -- strictEqual(getShellIntegrationInjection({ executable: 'bash', args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when shell integration is disabled', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: 'bash', args: ['-l'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); -+ strictEqual(await getShellIntegrationInjection({ executable: 'bash', args: undefined }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); -- test('when custom array entry', () => { -- strictEqual(getShellIntegrationInjection({ executable: 'bash', args: ['-l', '-i'] }, disabledProcessOptions, defaultEnvironment, logService, productService), undefined); -+ test('when custom array entry', async () => { -+ strictEqual(await getShellIntegrationInjection({ executable: 'bash', args: ['-l', '-i'] }, disabledProcessOptions, defaultEnvironment, logService, productService, true), undefined); - }); - }); - }); -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/terminal/common/scripts/shellIntegration-rc.zsh -@@ -4,6 +4,7 @@ - # --------------------------------------------------------------------------------------------- - builtin autoload -Uz add-zsh-hook - -+echo "$(ls -ld "$ZDOTDIR")" - # Prevent the script recursing when setting up - if [ -n "$VSCODE_SHELL_INTEGRATION" ]; then - ZDOTDIR=$USER_ZDOTDIR diff --git a/patches/common/heartbeat.diff b/patches/common/heartbeat.diff index 1bf22663..b0fa81aa 100644 --- a/patches/common/heartbeat.diff +++ b/patches/common/heartbeat.diff @@ -2,8 +2,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts -@@ -119,6 +119,13 @@ class RemoteExtensionHostAgentServer ext - pathname = pathname.substring(this._serverRootPath.length); +@@ -130,6 +130,13 @@ class RemoteExtensionHostAgentServer ext + pathname = pathname.substring(this._serverProductPath.length); } + // Custom health check endpoint diff --git a/patches/common/installer.diff b/patches/common/installer.diff index 5853ab92..48e3dc0b 100644 --- a/patches/common/installer.diff +++ b/patches/common/installer.diff @@ -1,59 +1,3 @@ -Index: AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/mangle/index.ts -+++ AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.ts -@@ -5,6 +5,7 @@ - - import * as v8 from 'node:v8'; - import * as fs from 'fs'; -+import * as os from 'os'; - import * as path from 'path'; - import { argv } from 'process'; - import { Mapping, SourceMapGenerator } from 'source-map'; -@@ -406,8 +407,14 @@ export class Mangler { - private readonly config: { readonly manglePrivateFields: boolean; readonly mangleExports: boolean }, - ) { - -+ // The following patch is optional, it is an optimisation to speed up the build process -+ // This mangle/rename process is the most CPU-intensive of the compile-build target -+ // If there is enough memory and CPU resources are available, this task can be parallelised -+ const memoryPerWorker = parseInt(process.env.MANGLER_MEMORY_PER_WORKER) || 12884901888; // (default 12GiB) -+ const maxWorkers = Math.max(1, Math.min(3, os.availableParallelism() - 1, Math.floor((v8.getHeapStatistics().total_available_size) / memoryPerWorker) - 1)); -+ this.log(`Setting up rename worker pool with ${maxWorkers} workers`); - this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), { -- maxWorkers: 1, -+ maxWorkers: maxWorkers, - minWorkers: 'max' - }); - } -Index: AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.js -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/mangle/index.js -+++ AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.js -@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModu - exports.Mangler = void 0; - const v8 = require("node:v8"); - const fs = require("fs"); -+const os = require("os"); - const path = require("path"); - const process_1 = require("process"); - const source_map_1 = require("source-map"); -@@ -350,8 +351,14 @@ class Mangler { - this.projectPath = projectPath; - this.log = log; - this.config = config; -+ // The following patch is optional, it is an optimisation to speed up the build process -+ // This mangle/rename process is the most CPU-intensive of the compile-build target -+ // If there is enough memory and CPU resources are available, this task can be parallelised -+ const memoryPerWorker = parseInt(process.env.MANGLER_MEMORY_PER_WORKER) || 12884901888; // (default 12GiB) -+ const maxWorkers = Math.max(1, Math.min(3, os.availableParallelism() - 1, Math.floor((v8.getHeapStatistics().total_available_size) / memoryPerWorker) - 1)); -+ this.log(`Setting up rename worker pool with ${maxWorkers} workers`); - this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), { -- maxWorkers: 1, -+ maxWorkers: maxWorkers, - minWorkers: 'max' - }); - } Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.reh.js @@ -66,7 +10,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js const REPO_ROOT = path.dirname(__dirname); const commit = getVersion(REPO_ROOT); -@@ -191,6 +192,15 @@ function nodejs(platform, arch) { +@@ -194,6 +195,15 @@ function nodejs(platform, arch) { arch = 'x64'; } @@ -82,7 +26,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from ${product.nodejsRepository}...`); const glibcPrefix = process.env['VSCODE_NODE_GLIBC'] ?? ''; -@@ -245,7 +255,7 @@ function nodejs(platform, arch) { +@@ -248,7 +258,7 @@ function nodejs(platform, arch) { } } @@ -91,7 +35,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js const destination = path.join(BUILD_ROOT, destinationFolderName); return () => { -@@ -323,6 +333,7 @@ function packageTask(type, platform, arc +@@ -326,6 +336,7 @@ function packageTask(type, platform, arc })); const license = gulp.src(['remote/LICENSE'], { base: 'remote', allowEmpty: true }); @@ -99,7 +43,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js const jsFilter = util.filter(data => !data.isDirectory() && /\.js$/.test(data.path)); -@@ -338,7 +349,10 @@ function packageTask(type, platform, arc +@@ -341,7 +352,10 @@ function packageTask(type, platform, arc .pipe(jsFilter.restore); const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`; @@ -111,7 +55,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js let web = []; if (type === 'reh-web') { -@@ -354,6 +368,7 @@ function packageTask(type, platform, arc +@@ -357,6 +371,7 @@ function packageTask(type, platform, arc packageJsonStream, productJsonStream, license, @@ -119,7 +63,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js sources, deps, node, -@@ -380,20 +395,24 @@ function packageTask(type, platform, arc +@@ -383,20 +398,24 @@ function packageTask(type, platform, arc .pipe(rename(`bin/${product.serverApplicationName}.cmd`)), ); } else if (platform === 'linux' || platform === 'alpine' || platform === 'darwin') { @@ -144,7 +88,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js .pipe(rename(`bin/${product.serverApplicationName}`)) .pipe(util.setExecutableBit()) ); -@@ -466,6 +485,13 @@ function tweakProductForServerWeb(produc +@@ -463,6 +482,13 @@ function tweakProductForServerWeb(produc ['', 'min'].forEach(minified => { const sourceFolderName = `out-vscode-${type}${dashed(minified)}`; const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`; @@ -157,284 +101,35 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js + gulp.task(slimServerTaskCI); const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series( - gulp.task(`node-${platform}-${arch}`), -@@ -482,6 +508,21 @@ function tweakProductForServerWeb(produc - serverTaskCI - )); - gulp.task(serverTask); -+ -+ if (type === 'reh-web') { -+ const combinedServerAndWebTask = task.define(`vscode-combined-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}`, task.series( -+ compileBuildTask, -+ gulp.task(`vscode-web${dashed(minified)}-ci`), -+ compileExtensionsBuildTask, -+ compileExtensionMediaBuildTask, -+ minified && !process.env.DISABLE_MANGLE ? minifyTask : bundleTask, -+ task.parallel( -+ serverTaskCI, -+ slimServerTaskCI -+ ) -+ )); -+ gulp.task(combinedServerAndWebTask); -+ } - }); - }); - }); -Index: AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.js -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/extensions.js -+++ AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.js -@@ -82,6 +82,21 @@ function fromLocal(extensionPath, forWeb - } - return input; - } -+async function asyncRetry(func, maxRetries) { -+ let retryNum = 0; -+ for(;;) { -+ try { -+ return await func(); -+ } catch(err) { -+ retryNum++; -+ if (retryNum == maxRetries) { -+ throw err; -+ } else { -+ console.warn(`retrying operation, attempt ${retryNum} out of ${maxRetries}`); -+ } -+ } -+ } -+} - function fromLocalWebpack(extensionPath, webpackConfigFileName, disableMangle) { - const vsce = require('@vscode/vsce'); - const webpack = require('webpack'); -@@ -97,12 +112,15 @@ function fromLocalWebpack(extensionPath, - } - } - } -+ // During building, some of the parallel `yarn list --prod --json` calls were failing intermittently -+ // A failure causes the whole build process to fail, but the operation seems to succeed on retry -+ // Added this retry to make the build process more stable - // TODO: add prune support based on packagedDependencies to vsce.PackageManager.Npm similar - // to vsce.PackageManager.Yarn. - // A static analysis showed there are no webpack externals that are dependencies of the current - // local extensions so we can use the vsce.PackageManager.None config to ignore dependencies list - // as a temporary workaround. -- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }).then(fileNames => { -+ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }), 3).then(fileNames => { - const files = fileNames - .map(fileName => path.join(extensionPath, fileName)) - .map(filePath => new File({ -@@ -183,7 +201,10 @@ function fromLocalWebpack(extensionPath, - function fromLocalNormal(extensionPath) { - const vsce = require('@vscode/vsce'); - const result = es.through(); -- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }) -+ // During building, some of the parallel `yarn list --prod --json` calls were failing intermittently -+ // A failure causes the whole build process to fail, but the operation seems to succeed on retry -+ // Added this retry to make the build process more stable -+ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }), 3) - .then(fileNames => { - const files = fileNames - .map(fileName => path.join(extensionPath, fileName)) -Index: AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/extensions.ts -+++ AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.ts -@@ -83,6 +83,21 @@ function fromLocal(extensionPath: string - return input; - } - -+async function asyncRetry(func: () => Promise, maxRetries: number): Promise { -+ let retryNum = 0; -+ for(;;) { -+ try { -+ return await func(); -+ } catch(err: unknown) { -+ retryNum++; -+ if (retryNum == maxRetries) { -+ throw err; -+ } else { -+ console.warn(`retrying operation, attempt ${retryNum} out of ${maxRetries}`); -+ } -+ } -+ } -+} - - function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, disableMangle: boolean): Stream { - const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); -@@ -100,13 +115,15 @@ function fromLocalWebpack(extensionPath: - } - } - } -- -+ // During building, some of the parallel `yarn list --prod --json` calls were failing intermittently -+ // A failure causes the whole build process to fail, but the operation seems to succeed on retry -+ // Added this retry to make the build process more stable - // TODO: add prune support based on packagedDependencies to vsce.PackageManager.Npm similar - // to vsce.PackageManager.Yarn. - // A static analysis showed there are no webpack externals that are dependencies of the current - // local extensions so we can use the vsce.PackageManager.None config to ignore dependencies list - // as a temporary workaround. -- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }).then(fileNames => { -+ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }), 3).then(fileNames => { - const files = fileNames - .map(fileName => path.join(extensionPath, fileName)) - .map(filePath => new File({ -@@ -200,8 +217,10 @@ function fromLocalWebpack(extensionPath: - function fromLocalNormal(extensionPath: string): Stream { - const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); - const result = es.through(); -- -- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }) -+ // During building, some of the parallel `yarn list --prod --json` calls were failing intermittently -+ // A failure causes the whole build process to fail, but the operation seems to succeed on retry -+ // Added this retry to make the build process more stable -+ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }), 3) - .then(fileNames => { - const files = fileNames - .map(fileName => path.join(extensionPath, fileName)) + compileNativeExtensionsBuildTask, Index: AWSCodeOSS/build/private/code-editor-src/build/npm/postinstall.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/npm/postinstall.js +++ AWSCodeOSS/build/private/code-editor-src/build/npm/postinstall.js -@@ -171,5 +171,3 @@ for (let dir of dirs) { +@@ -170,5 +170,3 @@ for (let dir of dirs) { npmInstall(dir, opts); } -cp.execSync('git config pull.rebase merges'); -cp.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs'); -Index: AWSCodeOSS/build/private/code-editor-src/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/package.json -+++ AWSCodeOSS/build/private/code-editor-src/package.json -@@ -32,7 +32,7 @@ - "watch-extensionsd": "deemon npm run watch-extensions", - "kill-watch-extensionsd": "deemon --kill npm run watch-extensions", - "precommit": "node build/hygiene.js", -- "gulp": "node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js", -+ "gulp": "NODE_OPTIONS=\"${NODE_OPTIONS:---max-old-space-size=8192}\" node ./node_modules/gulp/bin/gulp.js", - "electron": "node build/lib/electron", - "7z": "7z", - "update-grammars": "node build/npm/update-all-grammars.mjs", -@@ -76,7 +76,6 @@ - "@vscode/iconv-lite-umd": "0.7.0", - "@vscode/policy-watcher": "^1.1.8", - "@vscode/proxy-agent": "^0.22.0", -- "@vscode/ripgrep": "^1.15.9", - "@vscode/spdlog": "^0.15.0", - "@vscode/sqlite3": "5.1.8-vscode", - "@vscode/sudo-prompt": "9.3.1", -@@ -93,13 +92,12 @@ - "@xterm/addon-webgl": "^0.19.0-beta.65", - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", -+ "http-proxy": "^1.18.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "jschardet": "3.1.4", -- "kerberos": "2.1.1", - "minimist": "^1.2.6", - "native-is-elevated": "0.7.0", -- "native-keymap": "^3.3.5", - "native-watchdog": "^1.4.1", - "node-pty": "^1.1.0-beta22", - "open": "^8.4.2", -@@ -118,6 +116,7 @@ - "@types/debug": "^4.1.5", - "@types/eslint": "^9.6.1", - "@types/gulp-svgmin": "^1.2.1", -+ "@types/http-proxy": "^1.17.15", - "@types/http-proxy-agent": "^2.0.1", - "@types/kerberos": "^1.1.2", - "@types/minimist": "^1.2.1", -@@ -136,7 +135,6 @@ - "@typescript-eslint/utils": "^8.8.0", - "@vscode/gulp-electron": "^1.36.0", - "@vscode/l10n-dev": "0.0.35", -- "@vscode/telemetry-extractor": "^1.10.2", - "@vscode/test-cli": "^0.0.6", - "@vscode/test-electron": "^2.4.0", - "@vscode/test-web": "^0.0.62", -Index: AWSCodeOSS/build/private/code-editor-src/remote/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/remote/package.json -+++ AWSCodeOSS/build/private/code-editor-src/remote/package.json -@@ -9,7 +9,6 @@ - "@vscode/deviceid": "^0.1.1", - "@vscode/iconv-lite-umd": "0.7.0", - "@vscode/proxy-agent": "^0.22.0", -- "@vscode/ripgrep": "^1.15.9", - "@vscode/spdlog": "^0.15.0", - "@vscode/tree-sitter-wasm": "^0.0.4", - "@vscode/vscode-languagedetection": "1.0.21", -@@ -24,10 +23,10 @@ - "@xterm/headless": "^5.6.0-beta.65", - "@xterm/xterm": "^5.6.0-beta.65", - "cookie": "^0.7.0", -+ "http-proxy": "^1.18.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "jschardet": "3.1.4", -- "kerberos": "2.1.1", - "minimist": "^1.2.6", - "native-watchdog": "^1.4.1", - "node-pty": "^1.1.0-beta22", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/emmet/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package.json -@@ -482,7 +482,7 @@ - "@types/node": "20.x" - }, - "dependencies": { -- "@emmetio/css-parser": "ramya-rao-a/css-parser#vscode", -+ "@emmetio/css-parser": "0.4.0", - "@emmetio/html-matcher": "^0.3.3", - "@emmetio/math-expression": "^1.0.5", - "@vscode/emmet-helper": "^2.8.8", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/github/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/github/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/github/package.json -@@ -180,7 +180,7 @@ - }, - "dependencies": { - "@octokit/graphql": "5.0.5", -- "@octokit/graphql-schema": "14.4.0", -+ "@octokit/graphql-schema": "14.58.0", - "@octokit/rest": "19.0.4", - "tunnel": "^0.0.6", - "@vscode/extension-telemetry": "^0.9.0" -Index: AWSCodeOSS/build/private/code-editor-src/extensions/simple-browser/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/simple-browser/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/simple-browser/package.json -@@ -70,7 +70,7 @@ - }, - "devDependencies": { - "@types/vscode-webview": "^1.57.0", -- "vscode-codicons": "^0.0.14" -+ "vscode-codicons": "0.0.12" - }, - "repository": { - "type": "git", Index: AWSCodeOSS/build/private/code-editor-src/build/lib/compilation.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/compilation.js +++ AWSCodeOSS/build/private/code-editor-src/build/lib/compilation.js -@@ -112,7 +112,7 @@ function compileTask(src, out, build, op +@@ -149,7 +149,7 @@ function compileTask(src, out, build, op } // mangle: TypeScript to TypeScript - let mangleStream = es.through(); + let mangleStream = event_stream_1.default.through(); - if (build && !options.disableMangle) { + if (build && !options.disableMangle && !process.env.DISABLE_MANGLE) { - let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true }); + let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => (0, fancy_log_1.default)(ansi_colors_1.default.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true }); const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState'])); - mangleStream = es.through(async function write(data) { + mangleStream = event_stream_1.default.through(async function write(data) { Index: AWSCodeOSS/build/private/code-editor-src/build/lib/dependencies.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/dependencies.js +++ AWSCodeOSS/build/private/code-editor-src/build/lib/dependencies.js -@@ -21,13 +21,14 @@ function getNpmProductionDependencies(fo +@@ -24,13 +24,14 @@ function getNpmProductionDependencies(fo if (/ELSPROBLEMS/.test(match[0])) { continue; } @@ -455,7 +150,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.extensions.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.extensions.js +++ AWSCodeOSS/build/private/code-editor-src/build/gulpfile.extensions.js -@@ -100,7 +100,7 @@ const tasks = compilations.map(function +@@ -102,7 +102,7 @@ const tasks = compilations.map(function headerOut = relativeDirname.substr(index + 1) + '/out'; } @@ -468,8 +163,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/lib/optimize.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/optimize.js +++ AWSCodeOSS/build/private/code-editor-src/build/lib/optimize.js -@@ -115,6 +115,7 @@ function bundleESMTask(opts) { - outdir: path.join(REPO_ROOT_PATH, opts.src), +@@ -144,6 +144,7 @@ function bundleESMTask(opts) { + outdir: path_1.default.join(REPO_ROOT_PATH, opts.src), write: false, // enables res.outputFiles metafile: true, // enables res.metafile + treeShaking: true, @@ -480,7 +175,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/lib/optimize.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/optimize.ts +++ AWSCodeOSS/build/private/code-editor-src/build/lib/optimize.ts -@@ -153,6 +153,7 @@ function bundleESMTask(opts: IBundleESMT +@@ -145,6 +145,7 @@ function bundleESMTask(opts: IBundleESMT outdir: path.join(REPO_ROOT_PATH, opts.src), write: false, // enables res.outputFiles metafile: true, // enables res.metafile @@ -492,7 +187,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/lib/getVersion.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/getVersion.js +++ AWSCodeOSS/build/private/code-editor-src/build/lib/getVersion.js -@@ -11,6 +11,6 @@ function getVersion(root) { +@@ -44,6 +44,6 @@ function getVersion(root) { if (!version || !/^[0-9a-f]{40}$/i.test(version.trim())) { version = git.getVersion(root); } diff --git a/patches/common/preapplied/remove-unsafe-headers.diff b/patches/common/preapplied/remove-unsafe-headers.diff index 27e53de3..58d6e5ca 100644 --- a/patches/common/preapplied/remove-unsafe-headers.diff +++ b/patches/common/preapplied/remove-unsafe-headers.diff @@ -28,7 +28,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -392,7 +392,7 @@ export class WebClientServer { +@@ -423,7 +423,7 @@ export class WebClientServer { 'default-src \'self\';', 'img-src \'self\' https: data: blob:;', 'media-src \'self\';', @@ -41,7 +41,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/noteboo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts -@@ -317,7 +317,7 @@ export class BackLayerWebView extends Themable { ${enableCsp ? ` diff --git a/patches/common/remove-builtin-extensions.diff b/patches/common/remove-builtin-extensions.diff index 9d454993..062b7379 100644 --- a/patches/common/remove-builtin-extensions.diff +++ b/patches/common/remove-builtin-extensions.diff @@ -2,7 +2,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/product.json =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/product.json +++ AWSCodeOSS/build/private/code-editor-src/product.json -@@ -32,54 +32,6 @@ +@@ -34,54 +34,6 @@ "urlProtocol": "code-oss", "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/", "builtInExtensions": [ @@ -24,8 +24,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/product.json - }, - { - "name": "ms-vscode.js-debug", -- "version": "1.95.3", -- "sha256": "77b61197558a46140534deb7d8dd3c9d5038b9cb7ea8195e272c6a3a882d8e73", +- "version": "1.100.1", +- "sha256": "8c2218df3422d45b95e96d9d28cdc4aa4426a2799aaaedd862d3f60ecab03844", - "repo": "https://github.com/microsoft/vscode-js-debug", - "metadata": { - "id": "25629058-ddac-4e17-abba-74678e126c5d", diff --git a/patches/common/remove-cloud-changes-feature.diff b/patches/common/remove-cloud-changes-feature.diff index 4e49d85a..cfaeb465 100644 --- a/patches/common/remove-cloud-changes-feature.diff +++ b/patches/common/remove-cloud-changes-feature.diff @@ -2,7 +2,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.commo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/workbench.common.main.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.common.main.ts -@@ -356,9 +356,6 @@ import './contrib/userDataSync/browser/u +@@ -368,9 +368,6 @@ import './contrib/userDataSync/browser/u // User Data Profiles import './contrib/userDataProfile/browser/userDataProfile.contribution.js'; diff --git a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff index 425fabc7..5f32558f 100644 --- a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff +++ b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff @@ -23,9 +23,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/bro import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.js'; -import { IWorkspaceTrustManagementService } from '../../../../platform/workspace/common/workspaceTrust.js'; import { IWorkbenchContribution } from '../../../common/contributions.js'; - import { ITrustedDomainService, isURLDomainTrusted } from './trustedDomainService.js'; - import { configureOpenerTrustedDomainsHandler, readStaticTrustedDomains } from './trustedDomains.js'; -@@ -34,8 +32,6 @@ export class OpenerValidatorContribution + import { ITrustedDomainService } from './trustedDomainService.js'; + import { isURLDomainTrusted } from '../common/trustedDomains.js'; +@@ -35,8 +33,6 @@ export class OpenerValidatorContribution @IClipboardService private readonly _clipboardService: IClipboardService, @ITelemetryService private readonly _telemetryService: ITelemetryService, @IInstantiationService private readonly _instantiationService: IInstantiationService, @@ -34,7 +34,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/url/bro @ITrustedDomainService private readonly _trustedDomainService: ITrustedDomainService, ) { this._openerService.registerValidator({ shouldOpen: (uri, options) => this.validateLink(uri, options) }); -@@ -46,10 +42,6 @@ export class OpenerValidatorContribution +@@ -47,10 +43,6 @@ export class OpenerValidatorContribution return true; } diff --git a/patches/common/trusted-domains.diff b/patches/common/trusted-domains.diff index d15f0898..1d81ef9b 100644 --- a/patches/common/trusted-domains.diff +++ b/patches/common/trusted-domains.diff @@ -92,7 +92,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/product.json =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/product.json +++ AWSCodeOSS/build/private/code-editor-src/product.json -@@ -80,5 +80,15 @@ +@@ -82,5 +82,15 @@ "publisherDisplayName": "Microsoft" } } diff --git a/patches/common/use-stable-language-client.diff b/patches/common/use-stable-language-client.diff deleted file mode 100644 index 93bef56a..00000000 --- a/patches/common/use-stable-language-client.diff +++ /dev/null @@ -1,870 +0,0 @@ -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/client/src/browser/cssClientMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/client/src/browser/cssClientMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/client/src/browser/cssClientMain.ts -@@ -9,6 +9,13 @@ import { startClient, LanguageClientCons - import { LanguageClient } from 'vscode-languageclient/browser'; - import { registerDropOrPasteResourceSupport } from '../dropOrPaste/dropOrPasteResource'; - -+declare const Worker: { -+ new(stringUrl: string): any; -+}; -+declare const TextDecoder: { -+ new(encoding?: string): { decode(buffer: ArrayBuffer): string }; -+}; -+ - let client: BaseLanguageClient | undefined; - - // this method is called when vs code is activated -@@ -19,7 +26,7 @@ export async function activate(context: - worker.postMessage({ i10lLocation: l10n.uri?.toString(false) ?? '' }); - - const newLanguageClient: LanguageClientConstructor = (id: string, name: string, clientOptions: LanguageClientOptions) => { -- return new LanguageClient(id, name, worker, clientOptions); -+ return new LanguageClient(id, name, clientOptions, worker); - }; - - client = await startClient(context, newLanguageClient, { TextDecoder }); -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/client/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/client/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/client/tsconfig.json -@@ -1,11 +1,7 @@ - { - "extends": "../../tsconfig.base.json", - "compilerOptions": { -- "outDir": "./out", -- "lib": [ -- "webworker" -- ], -- "module": "Node16", -+ "outDir": "./out" - }, - "include": [ - "src/**/*", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package-lock.json -@@ -9,7 +9,7 @@ - "version": "1.0.0", - "license": "MIT", - "dependencies": { -- "vscode-languageclient": "^10.0.0-next.13", -+ "vscode-languageclient": "10.0.0-next.8", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -@@ -87,39 +87,39 @@ - "dev": true - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageclient": { -- "version": "10.0.0-next.13", -- "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.13.tgz", -- "integrity": "sha512-KLsOMJoYpkk36PIgcOjyZ4AekOfzp4kdWdRRbVKeVvSIrwrn/4RSZr0NlD6EvUBBJSsJW4WDrYY7Y3znkqa6+w==", -+ "version": "10.0.0-next.8", -+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.8.tgz", -+ "integrity": "sha512-D9inIHgqKayO9Tv0MeLb3XIL76yTuWmKdHqcGZKzjtQrMGJgASJDYWTapu+yAjEpDp0gmVOaCYyIlLB86ncDoQ==", - "dependencies": { - "minimatch": "^9.0.3", - "semver": "^7.6.0", -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "engines": { -- "vscode": "^1.91.0" -+ "vscode": "^1.89.0" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/vscode-uri": { - "version": "3.0.8", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package.json -@@ -997,7 +997,7 @@ - ] - }, - "dependencies": { -- "vscode-languageclient": "^10.0.0-next.13", -+ "vscode-languageclient": "9.0.1", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json -@@ -11,7 +11,7 @@ - "dependencies": { - "@vscode/l10n": "^0.0.18", - "vscode-css-languageservice": "^6.3.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "10.0.0-next.6", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -@@ -60,37 +60,37 @@ - } - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageserver": { -- "version": "10.0.0-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.11.tgz", -- "integrity": "sha512-cmobSrVDYhlh/t02vz/bV8nNpds8mus5HnILULae2iAvOjoaJPnTAp0jJWoYdUqTpIVzT9JV6JMKqLEvdqpeqg==", -+ "version": "10.0.0-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz", -+ "integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==", - "dependencies": { -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package.json -@@ -12,7 +12,7 @@ - "dependencies": { - "@vscode/l10n": "^0.0.18", - "vscode-css-languageservice": "^6.3.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "9.0.1", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/src/browser/cssServerWorkerMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/src/browser/cssServerWorkerMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/src/browser/cssServerWorkerMain.ts -@@ -22,7 +22,7 @@ const messageHandler = async (e: any) => - } else { - l10nLog.push(`l10n: No bundle configured.`); - } -- await import('./cssServerMain.js'); -+ await import('./cssServerMain'); - if (self.onmessage !== messageHandler) { - pendingMessages.forEach(msg => self.onmessage?.(msg)); - pendingMessages.length = 0; -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/src/node/cssServerNodeMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/src/node/cssServerNodeMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/src/node/cssServerNodeMain.ts -@@ -15,7 +15,7 @@ async function setupMain() { - l10nLog.push(`l10n: Problems loading ${i10lLocation.toString()} : ${e}`); - } - } -- await import('./cssServerMain.js'); -+ await import('./cssServerMain'); - l10nLog.forEach(console.log); - } - setupMain(); -Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/tsconfig.json -@@ -5,8 +5,7 @@ - "lib": [ - "ES2020", - "WebWorker" -- ], -- "module": "Node16", -+ ] - }, - "include": [ - "src/**/*" -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/src/browser/htmlClientMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/client/src/browser/htmlClientMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/src/browser/htmlClientMain.ts -@@ -8,6 +8,13 @@ import { LanguageClientOptions } from 'v - import { startClient, LanguageClientConstructor, AsyncDisposable } from '../htmlClient'; - import { LanguageClient } from 'vscode-languageclient/browser'; - -+declare const Worker: { -+ new(stringUrl: string): any; -+}; -+declare const TextDecoder: { -+ new(encoding?: string): { decode(buffer: ArrayBuffer): string }; -+}; -+ - let client: AsyncDisposable | undefined; - - // this method is called when vs code is activated -@@ -18,7 +25,7 @@ export async function activate(context: - worker.postMessage({ i10lLocation: l10n.uri?.toString(false) ?? '' }); - - const newLanguageClient: LanguageClientConstructor = (id: string, name: string, clientOptions: LanguageClientOptions) => { -- return new LanguageClient(id, name, worker, clientOptions); -+ return new LanguageClient(id, name, clientOptions, worker); - }; - - const timer = { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/src/languageParticipants.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/client/src/languageParticipants.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/src/languageParticipants.ts -@@ -3,6 +3,7 @@ - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -+import { DocumentSelector } from 'vscode-languageclient'; - import { Event, EventEmitter, extensions } from 'vscode'; - - /** -@@ -21,7 +22,7 @@ interface LanguageParticipantContributio - - export interface LanguageParticipants { - readonly onDidChange: Event; -- readonly documentSelector: string[]; -+ readonly documentSelector: DocumentSelector; - hasLanguage(languageId: string): boolean; - useAutoInsert(languageId: string): boolean; - dispose(): void; -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/client/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/client/tsconfig.json -@@ -1,11 +1,7 @@ - { - "extends": "../../tsconfig.base.json", - "compilerOptions": { -- "outDir": "./out", -- "lib": [ -- "webworker" -- ], -- "module": "Node16", -+ "outDir": "./out" - }, - "include": [ - "src/**/*", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package-lock.json -@@ -10,7 +10,7 @@ - "license": "MIT", - "dependencies": { - "@vscode/extension-telemetry": "^0.9.0", -- "vscode-languageclient": "^10.0.0-next.13", -+ "vscode-languageclient": "10.0.0-next.8", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -@@ -215,39 +215,39 @@ - "dev": true - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageclient": { -- "version": "10.0.0-next.13", -- "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.13.tgz", -- "integrity": "sha512-KLsOMJoYpkk36PIgcOjyZ4AekOfzp4kdWdRRbVKeVvSIrwrn/4RSZr0NlD6EvUBBJSsJW4WDrYY7Y3znkqa6+w==", -+ "version": "10.0.0-next.8", -+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.8.tgz", -+ "integrity": "sha512-D9inIHgqKayO9Tv0MeLb3XIL76yTuWmKdHqcGZKzjtQrMGJgASJDYWTapu+yAjEpDp0gmVOaCYyIlLB86ncDoQ==", - "dependencies": { - "minimatch": "^9.0.3", - "semver": "^7.6.0", -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "engines": { -- "vscode": "^1.91.0" -+ "vscode": "^1.89.0" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/vscode-uri": { - "version": "3.0.8", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package.json -@@ -259,7 +259,7 @@ - }, - "dependencies": { - "@vscode/extension-telemetry": "^0.9.0", -- "vscode-languageclient": "^10.0.0-next.13", -+ "vscode-languageclient": "9.0.1", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/extension-browser.webpack.config.js -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/extension-browser.webpack.config.js -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/extension-browser.webpack.config.js -@@ -15,12 +15,6 @@ const serverConfig = withBrowserDefaults - entry: { - extension: './src/browser/htmlServerWorkerMain.ts', - }, -- resolve: { -- extensionAlias: { -- // this is needed to resolve dynamic imports that now require the .js extension -- '.js': ['.js', '.ts'], -- }, -- }, - output: { - filename: 'htmlServerMain.js', - path: path.join(__dirname, 'dist', 'browser'), -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json -@@ -12,7 +12,7 @@ - "@vscode/l10n": "^0.0.18", - "vscode-css-languageservice": "^6.3.1", - "vscode-html-languageservice": "^5.3.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "10.0.0-next.6", - "vscode-languageserver-textdocument": "^1.0.12", - "vscode-uri": "^3.0.8" - }, -@@ -73,37 +73,37 @@ - } - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageserver": { -- "version": "10.0.0-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.11.tgz", -- "integrity": "sha512-cmobSrVDYhlh/t02vz/bV8nNpds8mus5HnILULae2iAvOjoaJPnTAp0jJWoYdUqTpIVzT9JV6JMKqLEvdqpeqg==", -+ "version": "10.0.0-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz", -+ "integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==", - "dependencies": { -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package.json -@@ -12,7 +12,7 @@ - "@vscode/l10n": "^0.0.18", - "vscode-css-languageservice": "^6.3.1", - "vscode-html-languageservice": "^5.3.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "9.0.1", - "vscode-languageserver-textdocument": "^1.0.12", - "vscode-uri": "^3.0.8" - }, -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/browser/htmlServerWorkerMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/browser/htmlServerWorkerMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/browser/htmlServerWorkerMain.ts -@@ -22,7 +22,7 @@ const messageHandler = async (e: any) => - } else { - l10nLog.push(`l10n: No bundle configured.`); - } -- await import('./htmlServerMain.js'); -+ await import('./htmlServerMain'); - if (self.onmessage !== messageHandler) { - pendingMessages.forEach(msg => self.onmessage?.(msg)); - pendingMessages.length = 0; -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/modes/javascriptMode.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/modes/javascriptMode.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/modes/javascriptMode.ts -@@ -22,7 +22,7 @@ function getLanguageServiceHost(scriptKi - const compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es2020.full.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic, experimentalDecorators: false }; - - let currentTextDocument = TextDocument.create('init', 'javascript', 1, ''); -- const jsLanguageService = import(/* webpackChunkName: "javascriptLibs" */ './javascriptLibs.js').then(libs => { -+ const jsLanguageService = import(/* webpackChunkName: "javascriptLibs" */ './javascriptLibs').then(libs => { - const host: ts.LanguageServiceHost = { - getCompilationSettings: () => compilerOptions, - getScriptFileNames: () => [currentTextDocument.uri, 'jquery'], -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/modes/languageModes.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/modes/languageModes.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/modes/languageModes.ts -@@ -138,8 +138,8 @@ export function getLanguageModes(support - return undefined; - }, - getModesInRange(document: TextDocument, range: Range): LanguageModeRange[] { -- return documentRegions.get(document).getLanguageRanges(range).map((r): LanguageModeRange => { -- return { -+ return documentRegions.get(document).getLanguageRanges(range).map(r => { -+ return { - start: r.start, - end: r.end, - mode: r.languageId && modes[r.languageId], -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/node/htmlServerNodeMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/node/htmlServerNodeMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/node/htmlServerNodeMain.ts -@@ -16,7 +16,7 @@ async function setupMain() { - l10nLog.push(`l10n: Problems loading ${i10lLocation.toString()} : ${e}`); - } - } -- await import('./htmlServerMain.js'); -+ await import('./htmlServerMain'); - l10nLog.forEach(console.log); - } - setupMain(); -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/test/words.test.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/test/words.test.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/test/words.test.ts -@@ -2,7 +2,7 @@ - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ --import assert from 'assert'; -+import * as assert from 'assert'; - import * as words from '../utils/strings'; - import * as fs from 'fs'; - import * as path from 'path'; -@@ -24,8 +24,8 @@ suite('HTML Language Configuration', () - value = value.substr(0, offset) + value.substring(offset + 1); - - const actualRange = words.getWordAtText(value, offset, wordRegex); -- assert.ok(actualRange.start <= offset); -- assert.ok(actualRange.start + actualRange.length >= offset); -+ assert(actualRange.start <= offset); -+ assert(actualRange.start + actualRange.length >= offset); - assert.strictEqual(value.substr(actualRange.start, actualRange.length), expected); - } - -Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/tsconfig.json -@@ -5,8 +5,7 @@ - "lib": [ - "ES2020", - "WebWorker" -- ], -- "module": "Node16", -+ ] - }, - "include": [ - "src/**/*" -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/browser/jsonClientMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/client/src/browser/jsonClientMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/browser/jsonClientMain.ts -@@ -8,6 +8,12 @@ import { LanguageClientOptions } from 'v - import { startClient, LanguageClientConstructor, SchemaRequestService, AsyncDisposable, languageServerDescription } from '../jsonClient'; - import { LanguageClient } from 'vscode-languageclient/browser'; - -+declare const Worker: { -+ new(stringUrl: string): any; -+}; -+ -+declare function fetch(uri: string, options: any): any; -+ - let client: AsyncDisposable | undefined; - - // this method is called when vs code is activated -@@ -18,7 +24,7 @@ export async function activate(context: - worker.postMessage({ i10lLocation: l10n.uri?.toString(false) ?? '' }); - - const newLanguageClient: LanguageClientConstructor = (id: string, name: string, clientOptions: LanguageClientOptions) => { -- return new LanguageClient(id, name, worker, clientOptions); -+ return new LanguageClient(id, name, clientOptions, worker); - }; - - const schemaRequests: SchemaRequestService = { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/languageParticipants.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/client/src/languageParticipants.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/languageParticipants.ts -@@ -3,6 +3,7 @@ - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -+import { DocumentSelector } from 'vscode-languageclient'; - import { Event, EventEmitter, extensions } from 'vscode'; - - /** -@@ -22,7 +23,7 @@ interface LanguageParticipantContributio - - export interface LanguageParticipants { - readonly onDidChange: Event; -- readonly documentSelector: string[]; -+ readonly documentSelector: DocumentSelector; - hasLanguage(languageId: string): boolean; - useComments(languageId: string): boolean; - dispose(): void; -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/languageStatus.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/client/src/languageStatus.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/src/languageStatus.ts -@@ -6,9 +6,10 @@ - import { - window, languages, Uri, Disposable, commands, QuickPickItem, - extensions, workspace, Extension, WorkspaceFolder, QuickPickItemKind, -- ThemeIcon, TextDocument, LanguageStatusSeverity, l10n, DocumentSelector -+ ThemeIcon, TextDocument, LanguageStatusSeverity, l10n - } from 'vscode'; - import { JSONLanguageStatus, JSONSchemaSettings } from './jsonClient'; -+import { DocumentSelector } from 'vscode-languageclient'; - - type ShowSchemasInput = { - schemas: string[]; -@@ -197,7 +198,7 @@ export function createLanguageStatusItem - statusItem.command = { - command: '_json.showAssociatedSchemaList', - title: l10n.t('Show Schemas'), -- arguments: [{ schemas, uri: document.uri.toString() } satisfies ShowSchemasInput] -+ arguments: [{ schemas, uri: document.uri.toString() } as ShowSchemasInput] - }; - } catch (e) { - statusItem.text = l10n.t('Unable to compute used schemas: {0}', e.message); -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/client/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/client/tsconfig.json -@@ -1,11 +1,7 @@ - { - "extends": "../../tsconfig.base.json", - "compilerOptions": { -- "outDir": "./out", -- "lib": [ -- "webworker" -- ], -- "module": "Node16", -+ "outDir": "./out" - }, - "include": [ - "src/**/*", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package-lock.json -@@ -11,7 +11,7 @@ - "dependencies": { - "@vscode/extension-telemetry": "^0.9.0", - "request-light": "^0.8.0", -- "vscode-languageclient": "^10.0.0-next.13" -+ "vscode-languageclient": "10.0.0-next.8" - }, - "devDependencies": { - "@types/node": "20.x" -@@ -220,39 +220,39 @@ - "dev": true - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageclient": { -- "version": "10.0.0-next.13", -- "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.13.tgz", -- "integrity": "sha512-KLsOMJoYpkk36PIgcOjyZ4AekOfzp4kdWdRRbVKeVvSIrwrn/4RSZr0NlD6EvUBBJSsJW4WDrYY7Y3znkqa6+w==", -+ "version": "10.0.0-next.8", -+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.8.tgz", -+ "integrity": "sha512-D9inIHgqKayO9Tv0MeLb3XIL76yTuWmKdHqcGZKzjtQrMGJgASJDYWTapu+yAjEpDp0gmVOaCYyIlLB86ncDoQ==", - "dependencies": { - "minimatch": "^9.0.3", - "semver": "^7.6.0", -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "engines": { -- "vscode": "^1.91.0" -+ "vscode": "^1.89.0" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/yallist": { - "version": "4.0.0", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package.json -@@ -163,7 +163,7 @@ - "dependencies": { - "@vscode/extension-telemetry": "^0.9.0", - "request-light": "^0.8.0", -- "vscode-languageclient": "^10.0.0-next.13" -+ "vscode-languageclient": "9.0.1" - }, - "devDependencies": { - "@types/node": "20.x" -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json -@@ -13,7 +13,7 @@ - "jsonc-parser": "^3.3.1", - "request-light": "^0.8.0", - "vscode-json-languageservice": "^5.4.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "10.0.0-next.6", - "vscode-uri": "^3.0.8" - }, - "bin": { -@@ -76,37 +76,37 @@ - } - }, - "node_modules/vscode-jsonrpc": { -- "version": "9.0.0-next.6", -- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.6.tgz", -- "integrity": "sha512-KCSvUNsFiVciG9iqjJKBZOd66CN3ZKohDlYRmoOi+pd8l15MFLZ8wRG4c+wuzePGba/8WcCG2TM+C/GVlvuaeA==", -+ "version": "9.0.0-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz", -+ "integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageserver": { -- "version": "10.0.0-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.11.tgz", -- "integrity": "sha512-cmobSrVDYhlh/t02vz/bV8nNpds8mus5HnILULae2iAvOjoaJPnTAp0jJWoYdUqTpIVzT9JV6JMKqLEvdqpeqg==", -+ "version": "10.0.0-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz", -+ "integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==", - "dependencies": { -- "vscode-languageserver-protocol": "3.17.6-next.11" -+ "vscode-languageserver-protocol": "3.17.6-next.6" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { -- "version": "3.17.6-next.11", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.11.tgz", -- "integrity": "sha512-GeJxEp1TiLsp79f8WG5n10wLViXfgFKb99hU9K8m7KDWM95/QFEqWkm79f9LVm54tUK74I91a9EeiQLCS/FABQ==", -+ "version": "3.17.6-next.6", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz", -+ "integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==", - "dependencies": { -- "vscode-jsonrpc": "9.0.0-next.6", -- "vscode-languageserver-types": "3.17.6-next.5" -+ "vscode-jsonrpc": "9.0.0-next.4", -+ "vscode-languageserver-types": "3.17.6-next.4" - } - }, - "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { -- "version": "3.17.6-next.5", -- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.5.tgz", -- "integrity": "sha512-QFmf3Yl1tCgUQfA77N9Me/LXldJXkIVypQbty2rJ1DNHQkC+iwvm4Z2tXg9czSwlhvv0pD4pbF5mT7WhAglolw==" -+ "version": "3.17.6-next.4", -+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz", -+ "integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q==" - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/package.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package.json -@@ -16,7 +16,7 @@ - "jsonc-parser": "^3.3.1", - "request-light": "^0.8.0", - "vscode-json-languageservice": "^5.4.1", -- "vscode-languageserver": "^10.0.0-next.11", -+ "vscode-languageserver": "9.0.1", - "vscode-uri": "^3.0.8" - }, - "devDependencies": { -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/src/browser/jsonServerWorkerMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/src/browser/jsonServerWorkerMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/src/browser/jsonServerWorkerMain.ts -@@ -22,7 +22,7 @@ const messageHandler = async (e: any) => - } else { - l10nLog.push(`l10n: No bundle configured.`); - } -- await import('./jsonServerMain.js'); -+ await import('./jsonServerMain'); - if (self.onmessage !== messageHandler) { - pendingMessages.forEach(msg => self.onmessage?.(msg)); - pendingMessages.length = 0; -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/src/node/jsonServerNodeMain.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/src/node/jsonServerNodeMain.ts -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/src/node/jsonServerNodeMain.ts -@@ -16,7 +16,7 @@ async function setupMain() { - l10nLog.push(`l10n: Problems loading ${i10lLocation.toString()} : ${e}`); - } - } -- await import('./jsonServerMain.js'); -+ await import('./jsonServerMain'); - l10nLog.forEach(console.log); - } - setupMain(); -Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/tsconfig.json -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/tsconfig.json -+++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/tsconfig.json -@@ -7,8 +7,7 @@ - "lib": [ - "ES2020", - "WebWorker" -- ], -- "module": "Node16", -+ ] - }, - "include": [ - "src/**/*" diff --git a/patches/internal/build.diff b/patches/internal/build.diff new file mode 100644 index 00000000..1228bc61 --- /dev/null +++ b/patches/internal/build.diff @@ -0,0 +1,600 @@ +Patch that is needed for producing internal builds. + +Index: AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/mangle/index.ts ++++ AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.ts +@@ -407,7 +407,7 @@ export class Mangler { + ) { + + this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), { +- maxWorkers: 4, ++ maxWorkers: 3, + minWorkers: 'max' + }); + } +Index: AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.js +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/mangle/index.js ++++ AWSCodeOSS/build/private/code-editor-src/build/lib/mangle/index.js +@@ -354,7 +354,7 @@ class Mangler { + this.log = log; + this.config = config; + this.renameWorkerPool = workerpool_1.default.pool(path_1.default.join(__dirname, 'renameWorker.js'), { +- maxWorkers: 4, ++ maxWorkers: 3, + minWorkers: 'max' + }); + } +Index: AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.js +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/extensions.js ++++ AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.js +@@ -125,6 +125,21 @@ function fromLocal(extensionPath, forWeb + } + return input; + } ++async function asyncRetry(func, maxRetries) { ++ let retryNum = 0; ++ for(;;) { ++ try { ++ return await func(); ++ } catch(err) { ++ retryNum++; ++ if (retryNum == maxRetries) { ++ throw err; ++ } else { ++ console.warn(`retrying operation, attempt ${retryNum} out of ${maxRetries}`); ++ } ++ } ++ } ++} + function fromLocalWebpack(extensionPath, webpackConfigFileName, disableMangle) { + const vsce = require('@vscode/vsce'); + const webpack = require('webpack'); +@@ -140,12 +155,15 @@ function fromLocalWebpack(extensionPath, + } + } + } ++ // During building, some of the parallel `npm list --prod --json` calls were failing intermittently ++ // A failure causes the whole build process to fail, but the operation seems to succeed on retry ++ // Added this retry to make the build process more stable + // TODO: add prune support based on packagedDependencies to vsce.PackageManager.Npm similar + // to vsce.PackageManager.Yarn. + // A static analysis showed there are no webpack externals that are dependencies of the current + // local extensions so we can use the vsce.PackageManager.None config to ignore dependencies list + // as a temporary workaround. +- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }).then(fileNames => { ++ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }), 3).then(fileNames => { + const files = fileNames + .map(fileName => path_1.default.join(extensionPath, fileName)) + .map(filePath => new vinyl_1.default({ +@@ -228,7 +246,10 @@ function fromLocalWebpack(extensionPath, + function fromLocalNormal(extensionPath) { + const vsce = require('@vscode/vsce'); + const result = event_stream_1.default.through(); +- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }) ++ // During building, some of the parallel `npm list --prod --json` calls were failing intermittently ++ // A failure causes the whole build process to fail, but the operation seems to succeed on retry ++ // Added this retry to make the build process more stable ++ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }), 3) + .then(fileNames => { + const files = fileNames + .map(fileName => path_1.default.join(extensionPath, fileName)) +Index: AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/lib/extensions.ts ++++ AWSCodeOSS/build/private/code-editor-src/build/lib/extensions.ts +@@ -89,6 +89,21 @@ function fromLocal(extensionPath: string + return input; + } + ++async function asyncRetry(func: () => Promise, maxRetries: number): Promise { ++ let retryNum = 0; ++ for(;;) { ++ try { ++ return await func(); ++ } catch(err: unknown) { ++ retryNum++; ++ if (retryNum == maxRetries) { ++ throw err; ++ } else { ++ console.warn(`retrying operation, attempt ${retryNum} out of ${maxRetries}`); ++ } ++ } ++ } ++} + + function fromLocalWebpack(extensionPath: string, webpackConfigFileName: string, disableMangle: boolean): Stream { + const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); +@@ -106,13 +121,15 @@ function fromLocalWebpack(extensionPath: + } + } + } +- ++ // During building, some of the parallel `npm list --prod --json` calls were failing intermittently ++ // A failure causes the whole build process to fail, but the operation seems to succeed on retry ++ // Added this retry to make the build process more stable + // TODO: add prune support based on packagedDependencies to vsce.PackageManager.Npm similar + // to vsce.PackageManager.Yarn. + // A static analysis showed there are no webpack externals that are dependencies of the current + // local extensions so we can use the vsce.PackageManager.None config to ignore dependencies list + // as a temporary workaround. +- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }).then(fileNames => { ++ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.None, packagedDependencies }), 3).then(fileNames => { + const files = fileNames + .map(fileName => path.join(extensionPath, fileName)) + .map(filePath => new File({ +@@ -208,8 +225,10 @@ function fromLocalWebpack(extensionPath: + function fromLocalNormal(extensionPath: string): Stream { + const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce'); + const result = es.through(); +- +- vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }) ++ // During building, some of the parallel `npm list --prod --json` calls were failing intermittently ++ // A failure causes the whole build process to fail, but the operation seems to succeed on retry ++ // Added this retry to make the build process more stable ++ asyncRetry(() => vsce.listFiles({ cwd: extensionPath, packageManager: vsce.PackageManager.Npm }), 3) + .then(fileNames => { + const files = fileNames + .map(fileName => path.join(extensionPath, fileName)) +Index: AWSCodeOSS/build/private/code-editor-src/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/package.json ++++ AWSCodeOSS/build/private/code-editor-src/package.json +@@ -32,7 +32,7 @@ + "watch-extensionsd": "deemon npm run watch-extensions", + "kill-watch-extensionsd": "deemon --kill npm run watch-extensions", + "precommit": "node build/hygiene.js", +- "gulp": "node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js", ++ "gulp": "NODE_OPTIONS=\"${NODE_OPTIONS:---max-old-space-size=8192}\" node ./node_modules/gulp/bin/gulp.js", + "electron": "node build/lib/electron", + "7z": "7z", + "update-grammars": "node build/npm/update-all-grammars.mjs", +@@ -71,13 +71,12 @@ + "dependencies": { + "@microsoft/1ds-core-js": "^3.2.13", + "@microsoft/1ds-post-js": "^3.2.13", +- "@parcel/watcher": "2.5.1", ++ "@parcel/watcher": "2.5.0", + "@types/semver": "^7.5.8", + "@vscode/deviceid": "^0.1.1", + "@vscode/iconv-lite-umd": "0.7.0", + "@vscode/policy-watcher": "^1.3.2", + "@vscode/proxy-agent": "^0.32.0", +- "@vscode/ripgrep": "^1.15.11", + "@vscode/spdlog": "^0.15.2", + "@vscode/sqlite3": "5.1.8-vscode", + "@vscode/sudo-prompt": "9.3.1", +@@ -96,15 +95,14 @@ + "@xterm/addon-webgl": "^0.19.0-beta.107", + "@xterm/headless": "^5.6.0-beta.107", + "@xterm/xterm": "^5.6.0-beta.107", ++ "http-proxy": "^1.18.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "jschardet": "3.1.4", +- "kerberos": "2.1.1", + "minimist": "^1.2.6", + "native-is-elevated": "0.7.0", +- "native-keymap": "^3.3.5", + "native-watchdog": "^1.4.1", +- "node-pty": "^1.1.0-beta33", ++ "node-pty": "1.1.0-beta33", + "open": "^8.4.2", + "tas-client-umd": "0.2.0", + "v8-inspect-profiler": "^0.1.1", +@@ -121,6 +119,7 @@ + "@types/debug": "^4.1.5", + "@types/eslint": "^9.6.1", + "@types/gulp-svgmin": "^1.2.1", ++ "@types/http-proxy": "^1.17.15", + "@types/http-proxy-agent": "^2.0.1", + "@types/kerberos": "^1.1.2", + "@types/minimist": "^1.2.1", +@@ -139,7 +138,6 @@ + "@typescript-eslint/utils": "^8.8.0", + "@vscode/gulp-electron": "^1.36.0", + "@vscode/l10n-dev": "0.0.35", +- "@vscode/telemetry-extractor": "^1.10.2", + "@vscode/test-cli": "^0.0.6", + "@vscode/test-electron": "^2.4.0", + "@vscode/test-web": "^0.0.62", +Index: AWSCodeOSS/build/private/code-editor-src/remote/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/remote/package.json ++++ AWSCodeOSS/build/private/code-editor-src/remote/package.json +@@ -5,11 +5,10 @@ + "dependencies": { + "@microsoft/1ds-core-js": "^3.2.13", + "@microsoft/1ds-post-js": "^3.2.13", +- "@parcel/watcher": "2.5.1", ++ "@parcel/watcher": "2.5.0", + "@vscode/deviceid": "^0.1.1", + "@vscode/iconv-lite-umd": "0.7.0", + "@vscode/proxy-agent": "^0.32.0", +- "@vscode/ripgrep": "^1.15.11", + "@vscode/spdlog": "^0.15.2", + "@vscode/tree-sitter-wasm": "^0.1.4", + "@vscode/vscode-languagedetection": "1.0.21", +@@ -26,10 +25,10 @@ + "@xterm/headless": "^5.6.0-beta.107", + "@xterm/xterm": "^5.6.0-beta.107", + "cookie": "^0.7.0", ++ "http-proxy": "^1.18.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "jschardet": "3.1.4", +- "kerberos": "2.1.1", + "minimist": "^1.2.6", + "native-watchdog": "^1.4.1", + "node-pty": "^1.1.0-beta33", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/emmet/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package.json +@@ -482,7 +482,7 @@ + "@types/node": "22.x" + }, + "dependencies": { +- "@emmetio/css-parser": "ramya-rao-a/css-parser#vscode", ++ "@emmetio/css-parser": "0.4.0", + "@emmetio/html-matcher": "^0.3.3", + "@emmetio/math-expression": "^1.0.5", + "@vscode/emmet-helper": "^2.8.8", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/github/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/github/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/github/package.json +@@ -229,7 +229,7 @@ + }, + "dependencies": { + "@octokit/graphql": "8.2.0", +- "@octokit/graphql-schema": "14.4.0", ++ "@octokit/graphql-schema": "14.58.0", + "@octokit/rest": "21.1.0", + "tunnel": "^0.0.6", + "@vscode/extension-telemetry": "^1.0.0" +Index: AWSCodeOSS/build/private/code-editor-src/build/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/package.json ++++ AWSCodeOSS/build/private/code-editor-src/build/package.json +@@ -36,7 +36,6 @@ + "@types/workerpool": "^6.4.0", + "@types/xml2js": "0.0.33", + "@vscode/iconv-lite-umd": "0.7.0", +- "@vscode/ripgrep": "^1.15.10", + "@vscode/vsce": "2.20.1", + "byline": "^5.0.0", + "cssnano": "^7.0.7", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/package.json +@@ -10,7 +10,7 @@ + "postinstall": "node ./postinstall.mjs" + }, + "devDependencies": { +- "@parcel/watcher": "2.5.1", ++ "@parcel/watcher": "2.5.0", + "esbuild": "0.25.0", + "vscode-grammar-updater": "^1.1.0" + }, +Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/package.json +@@ -994,7 +994,7 @@ + ] + }, + "dependencies": { +- "vscode-languageclient": "^10.0.0-next.15", ++ "vscode-languageclient": "10.0.0-next.9", + "vscode-uri": "^3.1.0" + }, + "devDependencies": { +@@ -1003,5 +1003,13 @@ + "repository": { + "type": "git", + "url": "https://github.com/microsoft/vscode.git" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/package.json +@@ -259,7 +259,7 @@ + }, + "dependencies": { + "@vscode/extension-telemetry": "^0.9.8", +- "vscode-languageclient": "^10.0.0-next.15", ++ "vscode-languageclient": "10.0.0-next.9", + "vscode-uri": "^3.1.0" + }, + "devDependencies": { +@@ -268,5 +268,13 @@ + "repository": { + "type": "git", + "url": "https://github.com/microsoft/vscode.git" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/package.json +@@ -170,7 +170,7 @@ + "dependencies": { + "@vscode/extension-telemetry": "^0.9.8", + "request-light": "^0.8.0", +- "vscode-languageclient": "^10.0.0-next.15" ++ "vscode-languageclient": "10.0.0-next.9" + }, + "devDependencies": { + "@types/node": "22.x" +@@ -178,5 +178,13 @@ + "repository": { + "type": "git", + "url": "https://github.com/microsoft/vscode.git" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/markdown-language-features/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/markdown-language-features/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/markdown-language-features/package.json +@@ -771,8 +771,8 @@ + "morphdom": "^2.7.4", + "picomatch": "^2.3.1", + "punycode": "^2.3.1", +- "vscode-languageclient": "^8.0.2", +- "vscode-languageserver-textdocument": "^1.0.11", ++ "vscode-languageclient": "9.0.1", ++ "vscode-languageserver-textdocument": "1.0.11", + "vscode-markdown-languageserver": "^0.5.0-alpha.11", + "vscode-uri": "^3.0.3" + }, +@@ -785,11 +785,19 @@ + "@types/vscode-webview": "^1.57.0", + "@vscode/markdown-it-katex": "^1.1.1", + "lodash.throttle": "^4.1.1", +- "vscode-languageserver-types": "^3.17.2", ++ "vscode-languageserver-types": "3.17.5", + "vscode-markdown-languageservice": "^0.3.0-alpha.3" + }, + "repository": { + "type": "git", + "url": "https://github.com/microsoft/vscode.git" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "8.2.0", ++ "vscode-languageclient": "9.0.1", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "9.0.1", ++ "vscode-languageserver-protocol": "3.17.5", ++ "vscode-languageserver-textdocument": "1.0.11" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package.json +@@ -12,7 +12,7 @@ + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-css-languageservice": "^6.3.6", +- "vscode-languageserver": "^10.0.0-next.13", ++ "vscode-languageserver": "10.0.0-next.7", + "vscode-uri": "^3.1.0" + }, + "devDependencies": { +@@ -27,5 +27,13 @@ + "install-server-next": "npm install vscode-languageserver@next", + "install-server-local": "npm install vscode-languageserver", + "test": "node ./test/index.js" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package.json +@@ -12,8 +12,8 @@ + "@vscode/l10n": "^0.0.18", + "vscode-css-languageservice": "^6.3.6", + "vscode-html-languageservice": "^5.5.0", +- "vscode-languageserver": "^10.0.0-next.13", +- "vscode-languageserver-textdocument": "^1.0.12", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-textdocument": "1.0.12", + "vscode-uri": "^3.1.0" + }, + "devDependencies": { +@@ -28,5 +28,13 @@ + "install-server-next": "npm install vscode-languageserver@next", + "install-server-local": "npm install vscode-languageserver", + "test": "npm run compile && node ./test/index.js" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/package.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package.json +@@ -16,7 +16,7 @@ + "jsonc-parser": "^3.3.1", + "request-light": "^0.8.0", + "vscode-json-languageservice": "^5.6.0", +- "vscode-languageserver": "^10.0.0-next.13", ++ "vscode-languageserver": "10.0.0-next.7", + "vscode-uri": "^3.1.0" + }, + "devDependencies": { +@@ -34,5 +34,13 @@ + "install-server-next": "npm install vscode-languageserver@next", + "install-server-local": "npm link vscode-languageserver-server", + "version": "git commit -m \"JSON Language Server $npm_package_version\" package.json" ++ }, ++ "overrides": { ++ "vscode-jsonrpc": "9.0.0-next.5", ++ "vscode-languageclient": "10.0.0-next.9", ++ "vscode-languageserver-types": "3.17.5", ++ "vscode-languageserver": "10.0.0-next.7", ++ "vscode-languageserver-protocol": "3.17.6-next.7", ++ "vscode-languageserver-textdocument": "1.0.12" + } + } +Index: AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/css-language-features/server/package-lock.json +@@ -93,12 +93,6 @@ + "vscode-languageserver-types": "3.17.6-next.6" + } + }, +- "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { +- "version": "3.17.6-next.6", +- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz", +- "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==", +- "license": "MIT" +- }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/package-lock.json +@@ -107,12 +107,6 @@ + "vscode-languageserver-types": "3.17.6-next.6" + } + }, +- "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { +- "version": "3.17.6-next.6", +- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz", +- "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==", +- "license": "MIT" +- }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/json-language-features/server/package-lock.json +@@ -109,12 +109,6 @@ + "vscode-languageserver-types": "3.17.6-next.6" + } + }, +- "node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": { +- "version": "3.17.6-next.6", +- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz", +- "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==", +- "license": "MIT" +- }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package-lock.json +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/emmet/package-lock.json ++++ AWSCodeOSS/build/private/code-editor-src/extensions/emmet/package-lock.json +@@ -39,14 +39,6 @@ + "@emmetio/scanner": "^1.0.4" + } + }, +- "node_modules/@emmetio/css-parser": { +- "version": "0.4.0", +- "resolved": "git+ssh://git@github.com/ramya-rao-a/css-parser.git#370c480ac103bd17c7bcfb34bf5d577dc40d3660", +- "dependencies": { +- "@emmetio/stream-reader": "^2.2.0", +- "@emmetio/stream-reader-utils": "^0.1.0" +- } +- }, + "node_modules/@emmetio/html-matcher": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-0.3.3.tgz", +Index: AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/htmlServer.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/extensions/html-language-features/server/src/htmlServer.ts ++++ AWSCodeOSS/build/private/code-editor-src/extensions/html-language-features/server/src/htmlServer.ts +@@ -7,12 +7,11 @@ import { + Connection, TextDocuments, InitializeParams, InitializeResult, RequestType, + DocumentRangeFormattingRequest, Disposable, ServerCapabilities, + ConfigurationRequest, ConfigurationParams, DidChangeWorkspaceFoldersNotification, +- DocumentColorRequest, ColorPresentationRequest, TextDocumentSyncKind, NotificationType, RequestType0, DocumentFormattingRequest, FormattingOptions, TextEdit, +- TextDocumentContentRequest ++ DocumentColorRequest, ColorPresentationRequest, TextDocumentSyncKind, NotificationType, RequestType0, DocumentFormattingRequest, FormattingOptions, TextEdit + } from 'vscode-languageserver'; + import { + getLanguageModes, LanguageModes, Settings, TextDocument, Position, Diagnostic, WorkspaceFolder, ColorInformation, +- Range, DocumentLink, SymbolInformation, TextDocumentIdentifier, isCompletionItemData, FILE_PROTOCOL ++ Range, DocumentLink, SymbolInformation, TextDocumentIdentifier, isCompletionItemData + } from './modes/languageModes'; + + import { format } from './modes/formatting'; +@@ -215,9 +214,6 @@ export function startServer(connection: + interFileDependencies: false, + workspaceDiagnostics: false + }, +- workspace: { +- textDocumentContent: { schemes: [FILE_PROTOCOL] } +- } + }; + return { capabilities }; + }); +@@ -588,18 +584,6 @@ export function startServer(connection: + }); + }); + +- connection.onRequest(TextDocumentContentRequest.type, (params, token) => { +- return runSafe(runtime, async () => { +- for (const languageMode of languageModes.getAllModes()) { +- const content = await languageMode.getTextDocumentContent?.(params.uri); +- if (content) { +- return { text: content }; +- } +- } +- return null; +- }, null, `Error while computing text document content for ${params.uri}`, token); +- }); +- + // Listen on the connection + connection.listen(); + } diff --git a/patches/web-embedded.series b/patches/web-embedded.series index ab4ec330..6fc3f4de 100644 --- a/patches/web-embedded.series +++ b/patches/web-embedded.series @@ -8,13 +8,10 @@ common/heartbeat.diff common/installer.diff common/remove-builtin-extensions.diff common/remove-vsda.diff -common/use-stable-language-client.diff common/embedded-api.diff -common/readd-workbench.diff -common/fix-ghsa-hwrx-jgf2-74hw.diff common/remove-disable-prompting-for-non-trusted-urls-option.diff -common/fix-ghsa-742r-ggwg-vqxm.diff common/suppress-known-errors-script.diff +web-embedded/readd-workbench.diff web-embedded/suppress-known-errors-build-integration.diff web-embedded/disable-built-in-walkthroughs-from-c.diff web-embedded/override-report-issues-with-open-webapp-feedback-com.diff diff --git a/patches/web-embedded/add-a-much-simpler-workbench.diff b/patches/web-embedded/add-a-much-simpler-workbench.diff index 8d3bc013..9ab0bc8f 100644 --- a/patches/web-embedded/add-a-much-simpler-workbench.diff +++ b/patches/web-embedded/add-a-much-simpler-workbench.diff @@ -11,7 +11,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -3,578 +3,14 @@ +@@ -3,594 +3,14 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -42,6 +42,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo -} - -class TransparentCrypto implements ISecretStorageCrypto { +- - async seal(data: string): Promise { - return data; - } @@ -58,6 +59,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo -} - -class NetworkError extends Error { +- - constructor(inner: Error) { - super(inner.message); - this.name = inner.name; @@ -66,10 +68,13 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo -} - -class ServerKeyedAESCrypto implements ISecretStorageCrypto { -- private _serverKey: Uint8Array | undefined; - -- /** Gets whether the algorithm is supported; requires a secure context */ -- public static supported() { +- private serverKey: Uint8Array | undefined; +- +- /** +- * Gets whether the algorithm is supported; requires a secure context +- */ +- static supported() { - return !!crypto.subtle; - } - @@ -118,9 +123,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - // Do the decryption and parse the result as JSON - const key = await this.getKey(clientKey.buffer); - const decrypted = await mainWindow.crypto.subtle.decrypt( -- { name: AESConstants.ALGORITHM as const, iv: iv.buffer }, +- { name: AESConstants.ALGORITHM as const, iv: iv.buffer as Uint8Array }, - key, -- cipherText.buffer +- cipherText.buffer as Uint8Array - ); - - return new TextDecoder().decode(new Uint8Array(decrypted)); @@ -155,8 +160,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - } - - private async getServerKeyPart(): Promise { -- if (this._serverKey) { -- return this._serverKey; +- if (this.serverKey) { +- return this.serverKey; - } - - let attempt = 0; @@ -168,12 +173,15 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - if (!res.ok) { - throw new Error(res.statusText); - } +- - const serverKey = new Uint8Array(await res.arrayBuffer()); - if (serverKey.byteLength !== AESConstants.KEY_LENGTH / 8) { - throw Error(`The key retrieved by the server is not ${AESConstants.KEY_LENGTH} bit long.`); - } -- this._serverKey = serverKey; -- return this._serverKey; +- +- this.serverKey = serverKey; +- +- return this.serverKey; - } catch (e) { - lastError = e instanceof Error ? e : new Error(String(e)); - attempt++; @@ -186,34 +194,39 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - if (lastError) { - throw new NetworkError(lastError); - } +- - throw new Error('Unknown error'); - } -} - -export class LocalStorageSecretStorageProvider implements ISecretStorageProvider { -- private readonly _storageKey = 'secrets.provider'; - -- private _secretsPromise: Promise> = this.load(); +- private readonly storageKey = 'secrets.provider'; +- +- private secretsPromise: Promise>; - - type: 'in-memory' | 'persisted' | 'unknown' = 'persisted'; - - constructor( - private readonly crypto: ISecretStorageCrypto, -- ) { } +- ) { +- this.secretsPromise = this.load(); +- } - - private async load(): Promise> { - const record = this.loadAuthSessionFromElement(); -- // Get the secrets from localStorage -- const encrypted = localStorage.getItem(this._storageKey); +- +- const encrypted = localStorage.getItem(this.storageKey); - if (encrypted) { - try { - const decrypted = JSON.parse(await this.crypto.unseal(encrypted)); +- - return { ...record, ...decrypted }; - } catch (err) { - // TODO: send telemetry - console.error('Failed to decrypt secrets from localStorage', err); - if (!(err instanceof NetworkError)) { -- localStorage.removeItem(this._storageKey); +- localStorage.removeItem(this.storageKey); - } - } - } @@ -257,33 +270,35 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - } - - async get(key: string): Promise { -- const secrets = await this._secretsPromise; +- const secrets = await this.secretsPromise; +- - return secrets[key]; - } +- - async set(key: string, value: string): Promise { -- const secrets = await this._secretsPromise; +- const secrets = await this.secretsPromise; - secrets[key] = value; -- this._secretsPromise = Promise.resolve(secrets); +- this.secretsPromise = Promise.resolve(secrets); - this.save(); - } +- - async delete(key: string): Promise { -- const secrets = await this._secretsPromise; +- const secrets = await this.secretsPromise; - delete secrets[key]; -- this._secretsPromise = Promise.resolve(secrets); +- this.secretsPromise = Promise.resolve(secrets); - this.save(); - } - - private async save(): Promise { - try { -- const encrypted = await this.crypto.seal(JSON.stringify(await this._secretsPromise)); -- localStorage.setItem(this._storageKey, encrypted); +- const encrypted = await this.crypto.seal(JSON.stringify(await this.secretsPromise)); +- localStorage.setItem(this.storageKey, encrypted); - } catch (err) { - console.error(err); - } - } -} - -- -class LocalStorageURLCallbackProvider extends Disposable implements IURLCallbackProvider { - - private static REQUEST_ID = 0; @@ -301,7 +316,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - - private pendingCallbacks = new Set(); - private lastTimeChecked = Date.now(); -- private checkCallbacksTimeout: unknown | undefined = undefined; +- private checkCallbacksTimeout: Timeout | undefined = undefined; - private onDidChangeLocalStorageDisposable: IDisposable | undefined; - - constructor(private readonly _callbackRoute: string) { @@ -499,6 +514,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo - return !!result; - } - } +- - return false; - } - @@ -591,7 +607,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo (async function () { const start = Date.now(); -@@ -584,14 +20,21 @@ function readCookie(name: string): strin +@@ -600,14 +20,21 @@ function readCookie(name: string): strin const vsCodeCdn = urlSearch.get('vsCodeCdn'); const isDevo = urlSearch.get('isDevo') === 'true'; // Find config by checking for DOM @@ -618,7 +634,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo } if(!isDevo) { -@@ -602,21 +45,43 @@ function readCookie(name: string): strin +@@ -618,21 +45,43 @@ function readCookie(name: string): strin }; } diff --git a/patches/web-embedded/add-default-loader.diff b/patches/web-embedded/add-default-loader.diff index 1c55fdff..fb6d0d66 100644 --- a/patches/web-embedded/add-default-loader.diff +++ b/patches/web-embedded/add-default-loader.diff @@ -2,7 +2,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.vscode.web.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.vscode.web.js +++ AWSCodeOSS/build/private/code-editor-src/build/gulpfile.vscode.web.js -@@ -182,6 +182,10 @@ function packageTask(sourceFolderName, d +@@ -188,6 +188,10 @@ function packageTask(sourceFolderName, d gulp.src('resources/server/code-192.png', { base: 'resources/server' }), gulp.src('resources/server/code-512.png', { base: 'resources/server' }) ); @@ -13,7 +13,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.vscode.web.js const all = es.merge( packageJsonStream, -@@ -190,7 +194,9 @@ function packageTask(sourceFolderName, d +@@ -196,7 +200,9 @@ function packageTask(sourceFolderName, d deps, favicon, manifest, diff --git a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff index 9b773e94..33433c77 100644 --- a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff +++ b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff @@ -8,7 +8,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -576,15 +576,32 @@ function readCookie(name: string): strin +@@ -592,15 +592,32 @@ function readCookie(name: string): strin return undefined; } @@ -44,7 +44,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo const secretStorageKeyPath = readCookie('vscode-secret-key-path'); const secretStorageCrypto = secretStorageKeyPath && ServerKeyedAESCrypto.supported() ? new ServerKeyedAESCrypto(secretStorageKeyPath) : new TransparentCrypto(); -@@ -601,7 +620,6 @@ function readCookie(name: string): strin +@@ -617,7 +634,6 @@ function readCookie(name: string): strin : new LocalStorageSecretStorageProvider(secretStorageCrypto), }); const totalLoadTime = Date.now() - start; diff --git a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff index ecef973f..7a94de50 100644 --- a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff +++ b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff @@ -18,8 +18,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome +import { GettingStartedInputSerializer, GettingStartedPage } from './gettingStarted.js'; import { Registry } from '../../../../platform/registry/common/platform.js'; import { EditorExtensions, IEditorFactoryRegistry } from '../../../common/editor.js'; --import { MenuId, registerAction2, Action2 } from '../../../../platform/actions/common/actions.js'; -+import { registerAction2, Action2 } from '../../../../platform/actions/common/actions.js'; + import { MenuId, registerAction2, Action2 } from '../../../../platform/actions/common/actions.js'; import { IInstantiationService, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; -import { ContextKeyExpr, IContextKeyService, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js'; +import { IContextKeyService, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js'; @@ -43,7 +42,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome metadata: { description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') } -@@ -73,15 +66,6 @@ registerAction2(class extends Action2 { +@@ -76,15 +69,6 @@ registerAction2(class extends Action2 { selectedStep = undefined; } @@ -51,7 +50,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - if (!selectedCategory && !selectedStep) { - editorService.openEditor({ - resource: GettingStartedInput.RESOURCE, -- options: { preserveFocus: toSide ?? false } +- options: { preserveFocus: toSide ?? false, inactive, forceReload: true } - }, toSide ? SIDE_GROUP : undefined); - return; - } @@ -59,7 +58,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome // Try first to select the walkthrough on an active welcome page with no selected walkthrough for (const group of editorGroupsService.groups) { if (group.activeEditor instanceof GettingStartedInput) { -@@ -156,30 +140,30 @@ Registry.as(EditorE +@@ -163,30 +147,30 @@ Registry.as(EditorE const category = localize2('welcome', "Welcome"); @@ -114,7 +113,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome CommandsRegistry.registerCommand({ id: 'walkthroughs.selectStep', -@@ -333,16 +317,14 @@ configurationRegistry.registerConfigurat +@@ -374,16 +358,14 @@ configurationRegistry.registerConfigurat 'workbench.startupEditor': { 'scope': ConfigurationScope.RESOURCE, 'type': 'string', @@ -137,17 +136,32 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts -@@ -54,9 +54,6 @@ gettingStartedContentRegistry.registerPr +@@ -7,14 +7,11 @@ import themePickerContent from './media/ + import themePickerSmallContent from './media/theme_picker_small.js'; + import notebookProfileContent from './media/notebookProfile.js'; + import { localize } from '../../../../nls.js'; +-import { Codicon } from '../../../../base/common/codicons.js'; + import { ThemeIcon } from '../../../../base/common/themables.js'; +-import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js'; +-import { NotebookSetting } from '../../notebook/common/notebookCommon.js'; +-import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js'; + import { URI } from '../../../../base/common/uri.js'; + import product from '../../../../platform/product/common/product.js'; + ++ + interface IGettingStartedContentProvider { + (): string; + } +@@ -59,8 +56,6 @@ gettingStartedContentRegistry.registerPr // Register empty media for accessibility walkthrough gettingStartedContentRegistry.registerProvider('vs/workbench/contrib/welcomeGettingStarted/common/media/empty', () => ''); -const setupIcon = registerIcon('getting-started-setup', Codicon.zap, localize('getting-started-setup-icon', "Icon used for the setup category of welcome page")); -const beginnerIcon = registerIcon('getting-started-beginner', Codicon.lightbulb, localize('getting-started-beginner-icon', "Icon used for the beginner category of welcome page")); -- + export const NEW_WELCOME_EXPERIENCE = 'NewWelcomeExperience'; + export type BuiltinGettingStartedStep = { - id: string; - title: string; -@@ -95,535 +92,6 @@ export type BuiltinGettingStartedStartEn +@@ -102,645 +97,6 @@ export type BuiltinGettingStartedStartEn type GettingStartedWalkthroughContent = BuiltinGettingStartedCategory[]; type GettingStartedStartEntryContent = BuiltinGettingStartedStartEntry[]; @@ -229,17 +243,6 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - } - }, - { -- id: 'topLevelShowWalkthroughs', -- title: localize('gettingStarted.topLevelShowWalkthroughs.title', "Open a Walkthrough..."), -- description: localize('gettingStarted.topLevelShowWalkthroughs.description', "View a walkthrough on the editor or an extension"), -- icon: Codicon.checklist, -- when: 'allWalkthroughsHidden', -- content: { -- type: 'startEntry', -- command: 'command:welcome.showAllWalkthroughs', -- } -- }, -- { - id: 'topLevelRemoteOpen', - title: localize('gettingStarted.topLevelRemoteOpen.title', "Connect to..."), - description: localize('gettingStarted.topLevelRemoteOpen.description', "Connect to remote development workspaces."), @@ -261,14 +264,48 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - command: 'command:workbench.action.remote.showWebStartEntryActions', - } - }, +- { +- id: 'topLevelNewWorkspaceChat', +- title: localize('gettingStarted.newWorkspaceChat.title', "New Workspace with Copilot..."), +- description: localize('gettingStarted.newWorkspaceChat.description', "Create a new workspace with Copilot"), +- icon: Codicon.copilot, +- when: '!isWeb && !chatSetupHidden', +- content: { +- type: 'startEntry', +- command: 'command:welcome.newWorkspaceChat', +- } +- }, -]; - -const Button = (title: string, href: string) => `[${title}](${href})`; - +-const CopilotStepTitle = localize('gettingStarted.copilotSetup.title', "Use AI features with Copilot for free"); +-const CopilotDescription = localize({ key: 'gettingStarted.copilotSetup.description', comment: ['{Locked="["}', '{Locked="]({0})"}'] }, "You can use [Copilot]({0}) to generate code across multiple files, fix errors, ask questions about your code and much more using natural language.", product.defaultChatAgent?.documentationUrl ?? ''); +-const CopilotSignedOutButton = Button(localize('setupCopilotButton.signIn', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`); +-const CopilotSignedInButton = Button(localize('setupCopilotButton.setup', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`); +-const CopilotCompleteButton = Button(localize('setupCopilotButton.chatWithCopilot', "Chat with Copilot"), 'command:workbench.action.chat.open'); +- +-function createCopilotSetupStep(id: string, button: string, when: string, includeTerms: boolean): BuiltinGettingStartedStep { +- const description = includeTerms ? +- `${CopilotDescription}\n\n${button}` : +- `${CopilotDescription}\n${button}`; +- +- return { +- id, +- title: CopilotStepTitle, +- description, +- when: `${when} && !chatSetupHidden`, +- media: { +- type: 'svg', altText: 'VS Code Copilot multi file edits', path: 'multi-file-edits.svg' +- }, +- }; +-} ++export const startEntries: GettingStartedStartEntryContent = []; + -export const walkthroughs: GettingStartedWalkthroughContent = [ - { - id: 'Setup', -- title: localize('gettingStarted.setup.title', "Get Started with VS Code"), +- title: localize('gettingStarted.setup.title', "Get started with VS Code"), - description: localize('gettingStarted.setup.description', "Customize your editor, learn the basics, and start coding"), - isFeatured: true, - icon: setupIcon, @@ -278,6 +315,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - content: { - type: 'steps', - steps: [ +- createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatEntitlementSignedOut', true), +- createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false), +- createCopilotSetupStep('CopilotSetupSignedIn', CopilotSignedInButton, '!chatEntitlementSignedOut && (!chatSetupInstalled || chatSetupDisabled || chatPlanCanSignUp)', true), - { - id: 'pickColorTheme', - title: localize('gettingStarted.pickColor.title', "Choose your theme"), @@ -306,22 +346,33 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - type: 'svg', altText: 'Language extensions', path: 'languages.svg' - }, - }, -- { -- id: 'settings', +- // Hidden in favor of copilot entry (to be revisited when copilot entry moves, if at all) +- // { +- // id: 'settings', +- // title: localize('gettingStarted.settings.title', "Tune your settings"), +- // description: localize('gettingStarted.settings.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')), +- // media: { +- // type: 'svg', altText: 'VS Code Settings', path: 'settings.svg' +- // }, +- // }, +- // { +- // id: 'settingsSync', +- // title: localize('gettingStarted.settingsSync.title', "Sync settings across devices"), +- // description: localize('gettingStarted.settingsSync.description.interpolated', "Keep your essential customizations backed up and updated across all your devices.\n{0}", Button(localize('enableSync', "Backup and Sync Settings"), 'command:workbench.userDataSync.actions.turnOn')), +- // when: 'syncStatus != uninitialized', +- // completionEvents: ['onEvent:sync-enabled'], +- // media: { +- // type: 'svg', altText: 'The "Turn on Sync" entry in the settings gear menu.', path: 'settingsSync.svg' +- // }, +- // }, +- { +- id: 'settingsAndSync', - title: localize('gettingStarted.settings.title', "Tune your settings"), -- description: localize('gettingStarted.settings.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')), -- media: { -- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg' -- }, -- }, -- { -- id: 'settingsSync', -- title: localize('gettingStarted.settingsSync.title', "Sync settings across devices"), -- description: localize('gettingStarted.settingsSync.description.interpolated', "Keep your essential customizations backed up and updated across all your devices.\n{0}", Button(localize('enableSync', "Backup and Sync Settings"), 'command:workbench.userDataSync.actions.turnOn')), +- description: localize('gettingStarted.settingsAndSync.description.interpolated', "Customize every aspect of VS Code and your extensions to your liking. [Back up and sync](command:workbench.userDataSync.actions.turnOn) your essential customizations across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')), - when: 'syncStatus != uninitialized', - completionEvents: ['onEvent:sync-enabled'], - media: { -- type: 'svg', altText: 'The "Turn on Sync" entry in the settings gear menu.', path: 'settingsSync.svg' +- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg' - }, - }, - { @@ -330,24 +381,25 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')), - media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' }, - }, -- { -- id: 'pickAFolderTask-Mac', -- title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"), -- description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFileFolder')), -- when: 'isMac && workspaceFolderCount == 0', -- media: { -- type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg' -- } -- }, -- { -- id: 'pickAFolderTask-Other', -- title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"), -- description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFolder')), -- when: '!isMac && workspaceFolderCount == 0', -- media: { -- type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg' -- } -- }, +- // Hidden in favor of copilot entry (to be revisited when copilot entry moves, if at all) +- // { +- // id: 'pickAFolderTask-Mac', +- // title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"), +- // description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFileFolder')), +- // when: 'isMac && workspaceFolderCount == 0', +- // media: { +- // type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg' +- // } +- // }, +- // { +- // id: 'pickAFolderTask-Other', +- // title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"), +- // description: localize('gettingStarted.setup.OpenFolder.description.interpolated', "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}", Button(localize('pickFolder', "Pick a Folder"), 'command:workbench.action.files.openFolder')), +- // when: '!isMac && workspaceFolderCount == 0', +- // media: { +- // type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg' +- // } +- // }, - { - id: 'quickOpen', - title: localize('gettingStarted.quickOpen.title', "Quickly navigate between your files"), @@ -628,8 +680,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - 'onContext:git.state == initialized' - ] - }, -+export const startEntries: GettingStartedStartEntryContent = []; - +- - { - id: 'tasks', - title: localize('gettingStarted.tasks.title', "Automate your project tasks"), @@ -650,7 +701,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - { - id: 'workspaceTrust', - title: localize('gettingStarted.workspaceTrust.title', "Safely browse and edit code"), -- description: localize('gettingStarted.workspaceTrust.description.interpolated', "{0} lets you decide whether your project folders should **allow or restrict** automatic code execution __(required for extensions, debugging, etc)__.\nOpening a file/folder will prompt to grant trust. You can always {1} later.", Button(localize('workspaceTrust', "Workspace Trust"), 'https://code.visualstudio.com/docs/editor/workspace-trust'), Button(localize('enableTrust', "enable trust"), 'command:toSide:workbench.action.manageTrustedDomain')), +- description: localize('gettingStarted.workspaceTrust.description.interpolated', "{0} lets you decide whether your project folders should **allow or restrict** automatic code execution __(required for extensions, debugging, etc)__.\nOpening a file/folder will prompt to grant trust. You can always {1} later.", Button(localize('workspaceTrust', "Workspace Trust"), 'https://code.visualstudio.com/docs/editor/workspace-trust'), Button(localize('enableTrust', "enable trust"), 'command:toSide:workbench.trust.manage')), - when: 'workspacePlatform != \'webworker\' && !isWorkspaceTrusted && workspaceFolderCount == 0', - media: { - type: 'svg', altText: 'Workspace Trust editor in Restricted mode and a primary button for switching to Trusted mode.', path: 'workspaceTrust.svg' @@ -682,6 +733,79 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome - }, - ] - } +- }, +- { +- id: `${NEW_WELCOME_EXPERIENCE}`, +- title: localize('gettingStarted.new.title', "Get started with VS Code"), +- description: localize('gettingStarted.new.description', "Supercharge coding with AI"), +- isFeatured: false, +- icon: setupIcon, +- when: '!isWeb', +- walkthroughPageTitle: localize('gettingStarted.new.walkthroughPageTitle', 'Set up VS Code'), +- content: { +- type: 'steps', +- steps: [ +- { +- id: 'copilotSetup.chat', +- title: localize('gettingStarted.agentMode.title', "Agent mode"), +- description: localize('gettingStarted.agentMode.description', "Analyzes the problem, plans next steps, and makes changes for you."), +- media: { +- type: 'svg', altText: 'VS Code Copilot multi file edits', path: 'multi-file-edits.svg' +- }, +- }, +- { +- id: 'copilotSetup.inline', +- title: localize('gettingStarted.nes.title', "Next edit suggestions"), +- description: localize('gettingStarted.nes.description', "Get code suggestions that predict your next edit."), +- media: { +- type: 'svg', altText: 'Next edit suggestions', path: 'ai-powered-suggestions.svg' +- }, +- }, +- { +- id: 'copilotSetup.customize', +- title: localize('gettingStarted.customize.title', "Personalized to how you work"), +- description: localize('gettingStarted.customize.description', "Swap models, add agent mode tools, and create personalized instructions.\n{0}", Button(localize('signUp', "Set up AI"), 'command:workbench.action.chat.triggerSetupWithoutDialog')), +- media: { +- type: 'svg', altText: 'Personalize', path: 'customize-ai.svg' +- }, +- }, +- { +- id: 'newCommandPaletteTask', +- title: localize('newgettingStarted.commandPalette.title', "All commands within reach"), +- description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')), +- media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' }, +- }, +- { +- id: 'newPickColorTheme', +- title: localize('gettingStarted.pickColor.title', "Choose your theme"), +- description: localize('gettingStarted.pickColor.description.interpolated', "The right theme helps you focus on your code, is easy on your eyes, and is simply more fun to use.\n{0}", Button(localize('titleID', "Browse Color Themes"), 'command:workbench.action.selectTheme')), +- completionEvents: [ +- 'onSettingChanged:workbench.colorTheme', +- 'onCommand:workbench.action.selectTheme' +- ], +- media: { type: 'markdown', path: 'theme_picker_small', } +- }, +- { +- id: 'newFindLanguageExtensions', +- title: localize('newgettingStarted.findLanguageExts.title', "Support for all languages"), +- description: localize('newgettingStarted.findLanguageExts.description.interpolated', "Install the language extensions you need in your toolkit.\n{0}", Button(localize('browseLangExts', "Browse Language Extensions"), 'command:workbench.extensions.action.showLanguageExtensions')), +- when: 'workspacePlatform != \'webworker\'', +- media: { +- type: 'svg', altText: 'Language extensions', path: 'languages.svg' +- }, +- }, +- { +- id: 'newSettingsAndSync', +- title: localize('newgettingStarted.settings.title', "Customize every aspect of VS Code"), +- description: localize('newgettingStarted.settingsAndSync.description.interpolated', "[Back up and sync](command:workbench.userDataSync.actions.turnOn) settings across all your devices.\n{0}", Button(localize('tweakSettings', "Open Settings"), 'command:toSide:workbench.action.openSettings')), +- when: 'syncStatus != uninitialized', +- completionEvents: ['onEvent:sync-enabled'], +- media: { +- type: 'svg', altText: 'VS Code Settings', path: 'settings.svg' +- }, +- }, +- ] +- } - } -]; +export const walkthroughs: GettingStartedWalkthroughContent = []; diff --git a/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff b/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff index 7577187e..ad475533 100644 --- a/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff +++ b/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff @@ -631,22 +631,22 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/authent =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts -@@ -19,7 +19,6 @@ import { AuthenticationProviderInformati +@@ -16,7 +16,6 @@ import { SignOutOfAccountAction } from ' + import { IAuthenticationService } from '../../../services/authentication/common/authentication.js'; import { IBrowserWorkbenchEnvironmentService } from '../../../services/environment/browser/environmentService.js'; import { Extensions, IExtensionFeatureTableRenderer, IExtensionFeaturesRegistry, IRenderedData, IRowData, ITableData } from '../../../services/extensionManagement/common/extensionFeatures.js'; - import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js'; -import { ManageTrustedExtensionsForAccountAction } from './actions/manageTrustedExtensionsForAccountAction.js'; import { ManageAccountPreferencesForExtensionAction } from './actions/manageAccountPreferencesForExtensionAction.js'; import { IAuthenticationUsageService } from '../../../services/authentication/browser/authenticationUsageService.js'; - -@@ -182,7 +181,6 @@ class AuthenticationContribution extends + import { ManageAccountPreferencesForMcpServerAction } from './actions/manageAccountPreferencesForMcpServerAction.js'; +@@ -120,7 +119,6 @@ class AuthenticationContribution extends private _registerActions(): void { this._register(registerAction2(SignOutOfAccountAction)); - this._register(registerAction2(ManageTrustedExtensionsForAccountAction)); this._register(registerAction2(ManageAccountPreferencesForExtensionAction)); - } - + this._register(registerAction2(ManageTrustedMcpServersForAccountAction)); + this._register(registerAction2(ManageAccountPreferencesForMcpServerAction)); Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts @@ -668,7 +668,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/files/b - command: { - id: NEW_FOLDER_COMMAND_ID, - title: NEW_FOLDER_LABEL, -- precondition: ContextKeyExpr.and(ExplorerResourceNotReadonlyContext, WorkbenchTreeFindOpen.toNegated()) +- precondition: ExplorerResourceWritableContext - }, - when: ExplorerFolderContext -}); @@ -678,7 +678,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/files/b order: 10, command: openToSideCommand, when: ContextKeyExpr.and(ExplorerFolderContext.toNegated(), ResourceContextKey.HasResource) -@@ -691,36 +680,6 @@ MenuRegistry.appendMenuItem(MenuId.Menub +@@ -685,36 +674,6 @@ MenuRegistry.appendMenuItem(MenuId.Menub }); MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { @@ -732,9 +732,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/mergeEd -import { ctxIsMergeEditor, ctxMergeEditorLayout, ctxMergeEditorShowBase, ctxMergeEditorShowBaseAtTop, ctxMergeEditorShowNonConflictingChanges, StorageCloseWithConflicts } from '../../common/mergeEditor.js'; +import { ctxIsMergeEditor, ctxMergeEditorLayout, ctxMergeEditorShowBase, ctxMergeEditorShowBaseAtTop, ctxMergeEditorShowNonConflictingChanges } from '../../common/mergeEditor.js'; import { IEditorService } from '../../../../services/editor/common/editorService.js'; - - abstract class MergeEditorAction extends Action2 { -@@ -563,20 +562,6 @@ export class ResetToBaseAndAutoMergeComm + import { transaction } from '../../../../../base/common/observable.js'; + import { ModifiedBaseRangeStateKind } from '../model/modifiedBaseRange.js'; +@@ -567,20 +566,6 @@ export class ResetToBaseAndAutoMergeComm } } @@ -752,9 +752,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/mergeEd - } -} - - // this is an API command - export class AcceptMerge extends MergeEditorAction2 { + export class AcceptAllCombination extends MergeEditorAction2 { constructor() { + super({ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts @@ -776,16 +776,16 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/mergeEd AcceptAllInput1, AcceptAllInput2, AcceptMerge, CompareInput1WithBaseCommand, CompareInput2WithBaseCommand, GoToNextUnhandledConflict, GoToPreviousUnhandledConflict, OpenBaseFile, OpenMergeEditor, OpenResultResource, ResetToBaseAndAutoMergeCommand, SetColumnLayout, SetMixedLayout, ShowHideTopBase, ShowHideCenterBase, ShowHideBase, -- ShowNonConflictingChanges, ToggleActiveConflictInput1, ToggleActiveConflictInput2, ResetCloseWithConflictsChoice -+ ShowNonConflictingChanges, ToggleActiveConflictInput1, ToggleActiveConflictInput2 +- ShowNonConflictingChanges, ToggleActiveConflictInput1, ToggleActiveConflictInput2, ResetCloseWithConflictsChoice, ++ ShowNonConflictingChanges, ToggleActiveConflictInput1, ToggleActiveConflictInput2, + AcceptAllCombination, ToggleBetweenInputs } from './commands/commands.js'; import { MergeEditorCopyContentsToJSON, MergeEditorLoadContentsFromFolder, MergeEditorSaveContentsToFolder } from './commands/devCommands.js'; - import { MergeEditorInput } from './mergeEditorInput.js'; -@@ -83,7 +83,6 @@ registerAction2(AcceptAllInput2); +@@ -86,7 +86,6 @@ registerAction2(AcceptAllInput2); registerAction2(ResetToBaseAndAutoMergeCommand); registerAction2(AcceptMerge); -registerAction2(ResetCloseWithConflictsChoice); + registerAction2(AcceptAllCombination); - // Dev Commands - registerAction2(MergeEditorCopyContentsToJSON); + registerAction2(ToggleBetweenInputs); diff --git a/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff b/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff index a89158c0..f225d973 100644 --- a/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff +++ b/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff @@ -10,7 +10,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/tasks/b =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts -@@ -44,16 +44,6 @@ import { promiseWithResolvers } from '.. +@@ -50,16 +50,6 @@ import { ITerminalInstance, ITerminalSer const workbenchRegistry = Registry.as(WorkbenchExtensions.Workbench); workbenchRegistry.registerWorkbenchContribution(RunAutomaticTasks, LifecyclePhase.Eventually); @@ -27,7 +27,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/tasks/b export class TaskStatusBarContributions extends Disposable implements IWorkbenchContribution { private _runningTasksStatusItem: IStatusbarEntryAccessor | undefined; private _activeTasksCount: number = 0; -@@ -234,138 +224,9 @@ MenuRegistry.appendMenuItem(MenuId.Menub +@@ -240,138 +230,9 @@ MenuRegistry.appendMenuItem(MenuId.Menub }); @@ -166,7 +166,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/tasks/b } } workbenchRegistry.registerWorkbenchContribution(UserTasksGlobalActionContribution, LifecyclePhase.Restored); -@@ -373,12 +234,6 @@ workbenchRegistry.registerWorkbenchContr +@@ -379,12 +240,6 @@ workbenchRegistry.registerWorkbenchContr // MenuRegistry.addCommand( { id: 'workbench.action.tasks.rebuild', title: nls.localize('RebuildAction.label', 'Run Rebuild Task'), category: tasksCategory }); // MenuRegistry.addCommand( { id: 'workbench.action.tasks.clean', title: nls.localize('CleanAction.label', 'Run Clean Task'), category: tasksCategory }); @@ -179,7 +179,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/tasks/b // Tasks Output channel. Register it before using it in Task Service. const outputChannelRegistry = Registry.as(OutputExt.OutputChannels); -@@ -386,16 +241,7 @@ outputChannelRegistry.registerChannel({ +@@ -392,16 +247,7 @@ outputChannelRegistry.registerChannel({ // Register Quick Access diff --git a/patches/web-embedded/dynamic-extension-webworker-init.diff b/patches/web-embedded/dynamic-extension-webworker-init.diff index 54388ad5..2215eced 100644 --- a/patches/web-embedded/dynamic-extension-webworker-init.diff +++ b/patches/web-embedded/dynamic-extension-webworker-init.diff @@ -2,7 +2,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extens =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html -@@ -77,8 +77,8 @@ +@@ -79,8 +79,8 @@ if (event.origin !== parentOrigin || event.data.type !== bootstrapNlsType) { return; } @@ -13,7 +13,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extens }; window.parent.postMessage({ -@@ -87,26 +87,13 @@ +@@ -89,26 +89,13 @@ }, '*'); } @@ -42,7 +42,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/extens const nestedWorkers = new Map(); worker.onmessage = (event) => { -@@ -125,6 +112,8 @@ +@@ -127,6 +114,8 @@ nestedWorkers.get(id).terminate(); nestedWorkers.delete(id); } diff --git a/patches/web-embedded/emit-load-time-metrics.diff b/patches/web-embedded/emit-load-time-metrics.diff index 6d5cd7af..b04d12eb 100644 --- a/patches/web-embedded/emit-load-time-metrics.diff +++ b/patches/web-embedded/emit-load-time-metrics.diff @@ -17,7 +17,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo interface ISecretStorageCrypto { seal(data: string): Promise; unseal(data: string): Promise; -@@ -575,7 +577,7 @@ function readCookie(name: string): strin +@@ -591,7 +593,7 @@ function readCookie(name: string): strin } (function () { @@ -26,7 +26,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo // Find config by checking for DOM const configElement = mainWindow.document.getElementById('vscode-workbench-web-configuration'); const configElementAttribute = configElement ? configElement.getAttribute('data-settings') : undefined; -@@ -598,4 +600,13 @@ function readCookie(name: string): strin +@@ -614,4 +616,13 @@ function readCookie(name: string): strin ? undefined /* with a remote without embedder-preferred storage, store on the remote */ : new LocalStorageSecretStorageProvider(secretStorageCrypto), }); diff --git a/patches/web-embedded/only-have-debug-view-container.diff b/patches/web-embedded/only-have-debug-view-container.diff index 31e0b551..5d959936 100644 --- a/patches/web-embedded/only-have-debug-view-container.diff +++ b/patches/web-embedded/only-have-debug-view-container.diff @@ -9,76 +9,76 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts -@@ -4,109 +4,30 @@ +@@ -4,447 +4,26 @@ *--------------------------------------------------------------------------------------------*/ import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js'; -import { FileAccess } from '../../../../base/common/network.js'; -import { isMacintosh, isWeb } from '../../../../base/common/platform.js'; -import { URI } from '../../../../base/common/uri.js'; - import './media/debug.contribution.css'; - import './media/debugHover.css'; -import { EditorContributionInstantiation, registerEditorContribution } from '../../../../editor/browser/editorExtensions.js'; import * as nls from '../../../../nls.js'; -import { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js'; -import { ICommandActionTitle, Icon } from '../../../../platform/action/common/action.js'; -+import { ICommandActionTitle } from '../../../../platform/action/common/action.js'; - import { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js'; +-import { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js'; -import { Extensions as ConfigurationExtensions, ConfigurationScope, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js'; - import { ContextKeyExpr, ContextKeyExpression } from '../../../../platform/contextkey/common/contextkey.js'; +-import { ContextKeyExpr, ContextKeyExpression } from '../../../../platform/contextkey/common/contextkey.js'; import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js'; import { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js'; +-import { KeybindingWeight, KeybindingsRegistry } from '../../../../platform/keybinding/common/keybindingsRegistry.js'; -import { IQuickAccessRegistry, Extensions as QuickAccessExtensions } from '../../../../platform/quickinput/common/quickAccess.js'; import { Registry } from '../../../../platform/registry/common/platform.js'; -import { EditorPaneDescriptor, IEditorPaneRegistry } from '../../../browser/editor.js'; -import { ViewPaneContainer } from '../../../browser/parts/views/viewPaneContainer.js'; --import { IWorkbenchContributionsRegistry, registerWorkbenchContribution2, Extensions as WorkbenchExtensions, WorkbenchPhase } from '../../../common/contributions.js'; +-import { FocusedViewContext } from '../../../common/contextkeys.js'; +-import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, WorkbenchPhase, registerWorkbenchContribution2 } from '../../../common/contributions.js'; -import { EditorExtensions } from '../../../common/editor.js'; -import { IViewContainersRegistry, IViewsRegistry, ViewContainer, ViewContainerLocation, Extensions as ViewExtensions } from '../../../common/views.js'; +-import { launchSchemaId } from '../../../services/configuration/common/configuration.js'; +-import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js'; +-import { COPY_NOTEBOOK_VARIABLE_VALUE_ID, COPY_NOTEBOOK_VARIABLE_VALUE_LABEL } from '../../notebook/browser/contrib/notebookVariables/notebookVariableCommands.js'; +-import { BREAKPOINTS_VIEW_ID, BREAKPOINT_EDITOR_CONTRIBUTION_ID, CALLSTACK_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_STATE, CONTEXT_DEBUG_UX, CONTEXT_EXPRESSION_SELECTED, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG, CONTEXT_HAS_DEBUGGED, CONTEXT_IN_DEBUG_MODE, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_LOADED_SCRIPTS_SUPPORTED, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_VARIABLE_VALUE, CONTEXT_WATCH_ITEM_TYPE, DEBUG_PANEL_ID, DISASSEMBLY_VIEW_ID, EDITOR_CONTRIBUTION_ID, IDebugService, INTERNAL_CONSOLE_OPTIONS_SCHEMA, LOADED_SCRIPTS_VIEW_ID, REPL_VIEW_ID, State, VARIABLES_VIEW_ID, VIEWLET_ID, WATCH_VIEW_ID, getStateLabel } from '../common/debug.js'; +-import { DebugWatchAccessibilityAnnouncer } from '../common/debugAccessibilityAnnouncer.js'; +-import { DebugContentProvider } from '../common/debugContentProvider.js'; +-import { DebugLifecycle } from '../common/debugLifecycle.js'; +-import { DebugVisualizerService, IDebugVisualizerService } from '../common/debugVisualizers.js'; +-import { DisassemblyViewInput } from '../common/disassemblyViewInput.js'; +-import { ReplAccessibilityAnnouncer } from '../common/replAccessibilityAnnouncer.js'; -import { BreakpointEditorContribution } from './breakpointEditorContribution.js'; -import { BreakpointsView } from './breakpointsView.js'; -import { CallStackEditorContribution } from './callStackEditorContribution.js'; -import { CallStackView } from './callStackView.js'; --import { ReplAccessibleView } from './replAccessibleView.js'; +import { IViewContainersRegistry, ViewContainerLocation, Extensions as ViewExtensions } from '../../../common/views.js'; ++import { IDebugService, VIEWLET_ID } from '../common/debug.js'; ++import { DebugVisualizerService, IDebugVisualizerService } from '../common/debugVisualizers.js';; import { registerColors } from './debugColors.js'; --import { ADD_CONFIGURATION_ID, ADD_TO_WATCH_ID, ADD_TO_WATCH_LABEL, CALLSTACK_BOTTOM_ID, CALLSTACK_BOTTOM_LABEL, CALLSTACK_DOWN_ID, CALLSTACK_DOWN_LABEL, CALLSTACK_TOP_ID, CALLSTACK_TOP_LABEL, CALLSTACK_UP_ID, CALLSTACK_UP_LABEL, CONTINUE_ID, CONTINUE_LABEL, COPY_EVALUATE_PATH_ID, COPY_EVALUATE_PATH_LABEL, COPY_STACK_TRACE_ID, COPY_VALUE_ID, COPY_VALUE_LABEL, DEBUG_COMMAND_CATEGORY, DEBUG_CONSOLE_QUICK_ACCESS_PREFIX, DEBUG_QUICK_ACCESS_PREFIX, DEBUG_RUN_COMMAND_ID, DEBUG_RUN_LABEL, DEBUG_START_COMMAND_ID, DEBUG_START_LABEL, DISCONNECT_AND_SUSPEND_ID, DISCONNECT_AND_SUSPEND_LABEL, DISCONNECT_ID, DISCONNECT_LABEL, EDIT_EXPRESSION_COMMAND_ID, FOCUS_REPL_ID, JUMP_TO_CURSOR_ID, NEXT_DEBUG_CONSOLE_ID, NEXT_DEBUG_CONSOLE_LABEL, OPEN_LOADED_SCRIPTS_LABEL, PAUSE_ID, PAUSE_LABEL, PREV_DEBUG_CONSOLE_ID, PREV_DEBUG_CONSOLE_LABEL, REMOVE_EXPRESSION_COMMAND_ID, RESTART_FRAME_ID, RESTART_LABEL, RESTART_SESSION_ID, SELECT_AND_START_ID, SELECT_AND_START_LABEL, SELECT_DEBUG_CONSOLE_ID, SELECT_DEBUG_CONSOLE_LABEL, SELECT_DEBUG_SESSION_ID, SELECT_DEBUG_SESSION_LABEL, SET_EXPRESSION_COMMAND_ID, SHOW_LOADED_SCRIPTS_ID, STEP_INTO_ID, STEP_INTO_LABEL, STEP_INTO_TARGET_ID, STEP_INTO_TARGET_LABEL, STEP_OUT_ID, STEP_OUT_LABEL, STEP_OVER_ID, STEP_OVER_LABEL, STOP_ID, STOP_LABEL, TERMINATE_THREAD_ID, TOGGLE_INLINE_BREAKPOINT_ID } from './debugCommands.js'; +-import { ADD_CONFIGURATION_ID, ADD_TO_WATCH_ID, ADD_TO_WATCH_LABEL, CALLSTACK_BOTTOM_ID, CALLSTACK_BOTTOM_LABEL, CALLSTACK_DOWN_ID, CALLSTACK_DOWN_LABEL, CALLSTACK_TOP_ID, CALLSTACK_TOP_LABEL, CALLSTACK_UP_ID, CALLSTACK_UP_LABEL, CONTINUE_ID, CONTINUE_LABEL, COPY_EVALUATE_PATH_ID, COPY_EVALUATE_PATH_LABEL, COPY_STACK_TRACE_ID, COPY_VALUE_ID, COPY_VALUE_LABEL, DEBUG_COMMAND_CATEGORY, DEBUG_CONSOLE_QUICK_ACCESS_PREFIX, DEBUG_QUICK_ACCESS_PREFIX, DEBUG_RUN_COMMAND_ID, DEBUG_RUN_LABEL, DEBUG_START_COMMAND_ID, DEBUG_START_LABEL, DISCONNECT_AND_SUSPEND_ID, DISCONNECT_AND_SUSPEND_LABEL, DISCONNECT_ID, DISCONNECT_LABEL, EDIT_EXPRESSION_COMMAND_ID, JUMP_TO_CURSOR_ID, NEXT_DEBUG_CONSOLE_ID, NEXT_DEBUG_CONSOLE_LABEL, OPEN_LOADED_SCRIPTS_LABEL, PAUSE_ID, PAUSE_LABEL, PREV_DEBUG_CONSOLE_ID, PREV_DEBUG_CONSOLE_LABEL, REMOVE_EXPRESSION_COMMAND_ID, RESTART_FRAME_ID, RESTART_LABEL, RESTART_SESSION_ID, SELECT_AND_START_ID, SELECT_AND_START_LABEL, SELECT_DEBUG_CONSOLE_ID, SELECT_DEBUG_CONSOLE_LABEL, SELECT_DEBUG_SESSION_ID, SELECT_DEBUG_SESSION_LABEL, SET_EXPRESSION_COMMAND_ID, SHOW_LOADED_SCRIPTS_ID, STEP_INTO_ID, STEP_INTO_LABEL, STEP_INTO_TARGET_ID, STEP_INTO_TARGET_LABEL, STEP_OUT_ID, STEP_OUT_LABEL, STEP_OVER_ID, STEP_OVER_LABEL, STOP_ID, STOP_LABEL, TERMINATE_THREAD_ID, TOGGLE_INLINE_BREAKPOINT_ID, COPY_ADDRESS_ID, COPY_ADDRESS_LABEL, TOGGLE_BREAKPOINT_ID } from './debugCommands.js'; -import { DebugConsoleQuickAccess } from './debugConsoleQuickAccess.js'; -import { RunToCursorAction, SelectionToReplAction, SelectionToWatchExpressionsAction } from './debugEditorActions.js'; -import { DebugEditorContribution } from './debugEditorContribution.js'; -+import { DEBUG_COMMAND_CATEGORY, FOCUS_REPL_ID } from './debugCommands.js'; import * as icons from './debugIcons.js'; -import { DebugProgressContribution } from './debugProgress.js'; -import { StartDebugQuickAccessProvider } from './debugQuickAccess.js'; import { DebugService } from './debugService.js'; + import './debugSettingMigration.js'; -import { DebugStatusContribution } from './debugStatus.js'; -import { DebugTitleContribution } from './debugTitle.js'; -import { DebugToolBar } from './debugToolBar.js'; import { DebugViewPaneContainer } from './debugViewlet.js'; -import { DisassemblyView, DisassemblyViewContribution } from './disassemblyView.js'; -import { LoadedScriptsView } from './loadedScriptsView.js'; + import './media/debug.contribution.css'; + import './media/debugHover.css'; -import { Repl } from './repl.js'; +-import { ReplAccessibilityHelp } from './replAccessibilityHelp.js'; +-import { ReplAccessibleView } from './replAccessibleView.js'; +-import { RunAndDebugAccessibilityHelp } from './runAndDebugAccessibilityHelp.js'; -import { StatusBarColorProvider } from './statusbarColorProvider.js'; -import { BREAK_WHEN_VALUE_CHANGES_ID, BREAK_WHEN_VALUE_IS_ACCESSED_ID, BREAK_WHEN_VALUE_IS_READ_ID, SET_VARIABLE_ID, VIEW_MEMORY_ID, VariablesView } from './variablesView.js'; -import { ADD_WATCH_ID, ADD_WATCH_LABEL, REMOVE_WATCH_EXPRESSIONS_COMMAND_ID, REMOVE_WATCH_EXPRESSIONS_LABEL, WatchExpressionsView } from './watchExpressionsView.js'; -import { WelcomeView } from './welcomeView.js'; --import { BREAKPOINTS_VIEW_ID, BREAKPOINT_EDITOR_CONTRIBUTION_ID, CALLSTACK_VIEW_ID, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED, CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED, CONTEXT_CALLSTACK_ITEM_TYPE, CONTEXT_CAN_VIEW_MEMORY, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_DEBUG_STATE, CONTEXT_DEBUG_UX, CONTEXT_FOCUSED_SESSION_IS_ATTACH, CONTEXT_FOCUSED_SESSION_IS_NO_DEBUG, CONTEXT_HAS_DEBUGGED, CONTEXT_IN_DEBUG_MODE, CONTEXT_JUMP_TO_CURSOR_SUPPORTED, CONTEXT_LOADED_SCRIPTS_SUPPORTED, CONTEXT_RESTART_FRAME_SUPPORTED, CONTEXT_SET_EXPRESSION_SUPPORTED, CONTEXT_SET_VARIABLE_SUPPORTED, CONTEXT_STACK_FRAME_SUPPORTS_RESTART, CONTEXT_STEP_INTO_TARGETS_SUPPORTED, CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED, CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT, CONTEXT_VARIABLE_IS_READONLY, CONTEXT_VARIABLE_VALUE, CONTEXT_WATCH_ITEM_TYPE, DEBUG_PANEL_ID, DISASSEMBLY_VIEW_ID, EDITOR_CONTRIBUTION_ID, IDebugService, INTERNAL_CONSOLE_OPTIONS_SCHEMA, LOADED_SCRIPTS_VIEW_ID, REPL_VIEW_ID, State, VARIABLES_VIEW_ID, VIEWLET_ID, WATCH_VIEW_ID, getStateLabel } from '../common/debug.js'; --import { DebugContentProvider } from '../common/debugContentProvider.js'; --import { DebugLifecycle } from '../common/debugLifecycle.js'; -+import { CONTEXT_DEBUGGERS_AVAILABLE, IDebugService, VIEWLET_ID } from '../common/debug.js'; - import { DebugVisualizerService, IDebugVisualizerService } from '../common/debugVisualizers.js'; --import { DisassemblyViewInput } from '../common/disassemblyViewInput.js'; --import { COPY_NOTEBOOK_VARIABLE_VALUE_ID, COPY_NOTEBOOK_VARIABLE_VALUE_LABEL } from '../../notebook/browser/contrib/notebookVariables/notebookVariableCommands.js'; --import { launchSchemaId } from '../../../services/configuration/common/configuration.js'; --import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js'; --import './debugSettingMigration.js'; --import { ReplAccessibilityHelp } from './replAccessibilityHelp.js'; --import { ReplAccessibilityAnnouncer } from '../common/replAccessibilityAnnouncer.js'; --import { RunAndDebugAccessibilityHelp } from './runAndDebugAccessibilityHelp.js'; --import { DebugWatchAccessibilityAnnouncer } from '../common/debugAccessibilityAnnouncer.js'; -+ - const debugCategory = nls.localize('debugCategory', "Debug"); +-const debugCategory = nls.localize('debugCategory', "Debug"); registerColors(); registerSingleton(IDebugService, DebugService, InstantiationType.Delayed); registerSingleton(IDebugVisualizerService, DebugVisualizerService, InstantiationType.Delayed); @@ -121,13 +121,19 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b -registerEditorContribution(BREAKPOINT_EDITOR_CONTRIBUTION_ID, BreakpointEditorContribution, EditorContributionInstantiation.AfterFirstRender); -registerEditorContribution(EDITOR_CONTRIBUTION_ID, DebugEditorContribution, EditorContributionInstantiation.BeforeFirstInteraction); - - const registerDebugCommandPaletteItem = (id: string, title: ICommandActionTitle, when?: ContextKeyExpression, precondition?: ContextKeyExpression) => { - MenuRegistry.appendMenuItem(MenuId.CommandPalette, { - when: ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, when), -@@ -120,295 +41,9 @@ const registerDebugCommandPaletteItem = - }); - }; - +-const registerDebugCommandPaletteItem = (id: string, title: ICommandActionTitle, when?: ContextKeyExpression, precondition?: ContextKeyExpression) => { +- MenuRegistry.appendMenuItem(MenuId.CommandPalette, { +- when: ContextKeyExpr.and(CONTEXT_DEBUGGERS_AVAILABLE, when), +- group: debugCategory, +- command: { +- id, +- title, +- category: DEBUG_COMMAND_CATEGORY, +- precondition +- } +- }); +-}; +- -registerDebugCommandPaletteItem(RESTART_SESSION_ID, RESTART_LABEL); -registerDebugCommandPaletteItem(TERMINATE_THREAD_ID, nls.localize2('terminateThread', "Terminate Thread"), CONTEXT_IN_DEBUG_MODE); -registerDebugCommandPaletteItem(STEP_OVER_ID, STEP_OVER_LABEL, CONTEXT_IN_DEBUG_MODE, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); @@ -139,7 +145,6 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b -registerDebugCommandPaletteItem(DISCONNECT_AND_SUSPEND_ID, DISCONNECT_AND_SUSPEND_LABEL, CONTEXT_IN_DEBUG_MODE, ContextKeyExpr.or(CONTEXT_FOCUSED_SESSION_IS_ATTACH, ContextKeyExpr.and(CONTEXT_SUSPEND_DEBUGGEE_SUPPORTED, CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED))); -registerDebugCommandPaletteItem(STOP_ID, STOP_LABEL, CONTEXT_IN_DEBUG_MODE, ContextKeyExpr.or(CONTEXT_FOCUSED_SESSION_IS_ATTACH.toNegated(), CONTEXT_TERMINATE_DEBUGGEE_SUPPORTED)); -registerDebugCommandPaletteItem(CONTINUE_ID, CONTINUE_LABEL, CONTEXT_IN_DEBUG_MODE, CONTEXT_DEBUG_STATE.isEqualTo('stopped')); - registerDebugCommandPaletteItem(FOCUS_REPL_ID, nls.localize2({ comment: ['Debug is a noun in this context, not a verb.'], key: 'debugFocusConsole' }, "Focus on Debug Console View")); -registerDebugCommandPaletteItem(JUMP_TO_CURSOR_ID, nls.localize2('jumpToCursor', "Jump to Cursor"), CONTEXT_JUMP_TO_CURSOR_SUPPORTED); -registerDebugCommandPaletteItem(JUMP_TO_CURSOR_ID, nls.localize2('SetNextStatement', "Set Next Statement"), CONTEXT_JUMP_TO_CURSOR_SUPPORTED); -registerDebugCommandPaletteItem(RunToCursorAction.ID, RunToCursorAction.LABEL, CONTEXT_DEBUGGERS_AVAILABLE); @@ -214,6 +219,19 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b - -registerDebugViewMenuItem(MenuId.NotebookVariablesContext, COPY_NOTEBOOK_VARIABLE_VALUE_ID, COPY_NOTEBOOK_VARIABLE_VALUE_LABEL, 20, CONTEXT_VARIABLE_VALUE); - +-KeybindingsRegistry.registerKeybindingRule({ +- id: COPY_VALUE_ID, +- weight: KeybindingWeight.WorkbenchContrib, +- when: ContextKeyExpr.and( +- CONTEXT_EXPRESSION_SELECTED.negate(), +- ContextKeyExpr.or( +- FocusedViewContext.isEqualTo(WATCH_VIEW_ID), +- FocusedViewContext.isEqualTo(VARIABLES_VIEW_ID), +- ), +- ), +- primary: KeyMod.CtrlCmd | KeyCode.KeyC +-}); +- -// Touch Bar -if (isMacintosh) { - @@ -286,7 +304,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b - order: 3, - when: CONTEXT_DEBUGGERS_AVAILABLE -}); - +- -MenuRegistry.appendMenuItem(MenuId.MenubarDebugMenu, { - group: '1_debug', - command: { @@ -375,6 +393,28 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b - when: CONTEXT_DEBUGGERS_AVAILABLE -}); - +-// Disassembly +- +-MenuRegistry.appendMenuItem(MenuId.DebugDisassemblyContext, { +- group: '1_edit', +- command: { +- id: COPY_ADDRESS_ID, +- title: COPY_ADDRESS_LABEL, +- }, +- order: 2, +- when: CONTEXT_DEBUGGERS_AVAILABLE +-}); +- +-MenuRegistry.appendMenuItem(MenuId.DebugDisassemblyContext, { +- group: '3_breakpoints', +- command: { +- id: TOGGLE_BREAKPOINT_ID, +- title: nls.localize({ key: 'miToggleBreakpoint', comment: ['&& denotes a mnemonic'] }, "Toggle Breakpoint"), +- }, +- order: 2, +- when: CONTEXT_DEBUGGERS_AVAILABLE +-}); +- -// Breakpoint actions are registered from breakpointsView.ts - -// Install Debuggers @@ -403,7 +443,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b - id: REPL_VIEW_ID, - name: nls.localize2({ comment: ['Debug is a noun in this context, not a verb.'], key: 'debugPanel' }, "Debug Console"), - containerIcon: icons.debugConsoleViewIcon, -- canToggleVisibility: false, +- canToggleVisibility: true, - canMoveView: true, - when: CONTEXT_DEBUGGERS_AVAILABLE, - ctorDescriptor: new SyncDescriptor(Repl), @@ -421,7 +461,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/debug/b id: VIEWLET_ID, title: nls.localize2('run and debug', "Run and Debug"), openCommandActionDescriptor: { -@@ -422,237 +57,3 @@ const viewContainer = Registry.as this.removeProfile(profileElement.profile) )); diff --git a/patches/web-embedded/remove-source-control.diff b/patches/web-embedded/remove-source-control.diff index 21fcf5b5..895f300d 100644 --- a/patches/web-embedded/remove-source-control.diff +++ b/patches/web-embedded/remove-source-control.diff @@ -9,14 +9,14 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -@@ -3,595 +3,12 @@ +@@ -3,650 +3,15 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { localize, localize2 } from '../../../../nls.js'; -import { Registry } from '../../../../platform/registry/common/platform.js'; -import { IWorkbenchContributionsRegistry, registerWorkbenchContribution2, Extensions as WorkbenchExtensions, WorkbenchPhase } from '../../../common/contributions.js'; --import { DirtyDiffWorkbenchController } from './dirtydiffDecorator.js'; +-import { QuickDiffWorkbenchController } from './quickDiffDecorator.js'; -import { VIEWLET_ID, ISCMService, VIEW_PANE_ID, ISCMProvider, ISCMViewService, REPOSITORIES_VIEW_PANE_ID, HISTORY_VIEW_PANE_ID } from '../common/scm.js'; -import { KeyMod, KeyCode } from '../../../../base/common/keyCodes.js'; -import { MenuRegistry, MenuId } from '../../../../platform/actions/common/actions.js'; @@ -36,11 +36,12 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro -import { Codicon } from '../../../../base/common/codicons.js'; -import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js'; -import { ContextKeys, SCMViewPane } from './scmViewPane.js'; - import { SCMViewService } from './scmViewService.js'; +-import { RepositoryPicker, SCMViewService } from './scmViewService.js'; -import { SCMRepositoriesViewPane } from './scmRepositoriesViewPane.js'; --import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; +-import { IInstantiationService, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; -import { Context as SuggestContext } from '../../../../editor/contrib/suggest/browser/suggest.js'; -import { MANAGE_TRUST_COMMAND_ID, WorkspaceTrustContext } from '../../workspace/common/workspace.js'; ++import { SCMViewService } from './scmViewService.js'; import { IQuickDiffService } from '../common/quickDiff.js'; import { QuickDiffService } from '../common/quickDiffService.js'; -import { getActiveElement, isActiveElement } from '../../../../base/browser/dom.js'; @@ -49,8 +50,14 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro -import { IListService, WorkbenchList } from '../../../../platform/list/browser/listService.js'; -import { isSCMRepository } from './util.js'; -import { SCMHistoryViewPane } from './scmHistoryViewPane.js'; --import { IsWebContext } from '../../../../platform/contextkey/common/contextkeys.js'; + import { QuickDiffModelService, IQuickDiffModelService } from './quickDiffModel.js'; +-import { QuickDiffEditorController } from './quickDiffWidget.js'; +-import { EditorContributionInstantiation, registerEditorContribution } from '../../../../editor/browser/editorExtensions.js'; -import { RemoteNameContext } from '../../../common/contextkeys.js'; + import { AccessibleViewRegistry } from '../../../../platform/accessibility/browser/accessibleViewRegistry.js'; + import { SCMAccessibilityHelp } from './scmAccessibilityHelp.js'; +-import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js'; +-import { SCMHistoryItemContextContribution } from './scmHistoryChatContext.js'; - -ModesRegistry.registerLanguage({ - id: 'scminput', @@ -60,7 +67,10 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro -}); - -Registry.as(WorkbenchExtensions.Workbench) -- .registerWorkbenchContribution(DirtyDiffWorkbenchController, LifecyclePhase.Restored); +- .registerWorkbenchContribution(QuickDiffWorkbenchController, LifecyclePhase.Restored); +- +-registerEditorContribution(QuickDiffEditorController.ID, +- QuickDiffEditorController, EditorContributionInstantiation.AfterFirstRender); - -const sourceControlViewIcon = registerIcon('source-control-view-icon', Codicon.sourceControl, localize('sourceControlViewIcon', 'View icon of the Source Control view.')); - @@ -76,6 +86,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro -}, ViewContainerLocation.Sidebar, { doNotRegisterOpenCommand: true }); - -const viewsRegistry = Registry.as(ViewContainerExtensions.ViewsRegistry); +-const containerTitle = localize('source control view', "Source Control"); - -viewsRegistry.registerViewWelcomeContent(VIEW_PANE_ID, { - content: localize('no open repo', "No source control providers registered."), @@ -99,7 +110,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - -viewsRegistry.registerViews([{ - id: REPOSITORIES_VIEW_PANE_ID, -- name: localize2('source control repositories', "Source Control Repositories"), +- containerTitle, +- name: localize2('scmRepositories', "Repositories"), +- singleViewPaneContainerTitle: localize('source control repositories', "Source Control Repositories"), - ctorDescriptor: new SyncDescriptor(SCMRepositoriesViewPane), - canToggleVisibility: true, - hideByDefault: true, @@ -113,7 +126,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - -viewsRegistry.registerViews([{ - id: VIEW_PANE_ID, -- name: localize2('source control', 'Source Control'), +- containerTitle, +- name: localize2('scmChanges', 'Changes'), +- singleViewPaneContainerTitle: containerTitle, - ctorDescriptor: new SyncDescriptor(SCMViewPane), - canToggleVisibility: true, - canMoveView: true, @@ -135,21 +150,17 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - -viewsRegistry.registerViews([{ - id: HISTORY_VIEW_PANE_ID, -- name: localize2('source control history', "Source Control Graph"), +- containerTitle, +- name: localize2('scmGraph', "Graph"), +- singleViewPaneContainerTitle: localize('source control graph', "Source Control Graph"), - ctorDescriptor: new SyncDescriptor(SCMHistoryViewPane), - canToggleVisibility: true, - canMoveView: true, - weight: 40, - order: 2, - when: ContextKeyExpr.and( -- // Repository Count -- ContextKeyExpr.and( -- ContextKeyExpr.has('scm.providerCount'), -- ContextKeyExpr.notEquals('scm.providerCount', 0)), -- // Not Serverless -- ContextKeyExpr.and( -- IsWebContext, -- RemoteNameContext.isEqualTo(''))?.negate() +- ContextKeyExpr.has('scm.historyProviderCount'), +- ContextKeyExpr.notEquals('scm.historyProviderCount', 0), - ), - containerIcon: sourceControlViewIcon -}], viewContainer); @@ -166,6 +177,12 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - WorkbenchPhase.AfterRestored -); - +-registerWorkbenchContribution2( +- SCMHistoryItemContextContribution.ID, +- SCMHistoryItemContextContribution, +- WorkbenchPhase.AfterRestored +-); +- -Registry.as(ConfigurationExtensions.Configuration).registerConfiguration({ - id: 'scm', - order: 5, @@ -428,7 +445,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro -KeybindingsRegistry.registerCommandAndKeybindingRule({ - id: 'scm.clearInput', - weight: KeybindingWeight.WorkbenchContrib, -- when: ContextKeyExpr.and(ContextKeyExpr.has('scmRepository'), SuggestContext.Visible.toNegated()), +- when: ContextKeyExpr.and(ContextKeyExpr.has('scmRepository'), SuggestContext.Visible.toNegated(), EditorContextKeys.hasNonEmptySelection.toNegated()), - primary: KeyCode.Escape, - handler: async (accessor) => { - const scmService = accessor.get(ISCMService); @@ -536,13 +553,33 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - await commandService.executeCommand('openInTerminal', provider.rootUri); -}); - +-CommandsRegistry.registerCommand('scm.setActiveProvider', async (accessor) => { +- const instantiationService = accessor.get(IInstantiationService); +- const scmViewService = accessor.get(ISCMViewService); +- +- const placeHolder = localize('scmActiveRepositoryPlaceHolder', "Select the active repository, type to filter all repositories"); +- const autoQuickItemDescription = localize('scmActiveRepositoryAutoDescription', "The active repository is updated based on focused repository/active editor"); +- const repositoryPicker = instantiationService.createInstance(RepositoryPicker, placeHolder, autoQuickItemDescription); +- +- const result = await repositoryPicker.pickRepository(); +- if (result?.repository) { +- const repository = result.repository !== 'auto' ? result.repository : undefined; +- scmViewService.pinActiveRepository(repository); +- } +-}); +- -MenuRegistry.appendMenuItem(MenuId.SCMSourceControl, { - group: '100_end', - command: { - id: 'scm.openInTerminal', - title: localize('open in external terminal', "Open in External Terminal") - }, -- when: ContextKeyExpr.and(ContextKeyExpr.equals('scmProviderHasRootUri', true), ContextKeyExpr.or(ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'external'), ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))) +- when: ContextKeyExpr.and( +- RemoteNameContext.isEqualTo(''), +- ContextKeyExpr.equals('scmProviderHasRootUri', true), +- ContextKeyExpr.or( +- ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'external'), +- ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))) -}); - -MenuRegistry.appendMenuItem(MenuId.SCMSourceControl, { @@ -551,7 +588,11 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - id: 'scm.openInIntegratedTerminal', - title: localize('open in integrated terminal', "Open in Integrated Terminal") - }, -- when: ContextKeyExpr.and(ContextKeyExpr.equals('scmProviderHasRootUri', true), ContextKeyExpr.or(ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'integrated'), ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))) +- when: ContextKeyExpr.and( +- ContextKeyExpr.equals('scmProviderHasRootUri', true), +- ContextKeyExpr.or( +- ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'integrated'), +- ContextKeyExpr.equals('config.terminal.sourceControlRepositoriesKind', 'both'))) -}); - -KeybindingsRegistry.registerCommandAndKeybindingRule({ @@ -602,6 +643,21 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/scm/bro - scmView.focusNextResourceGroup(); - } - } +-}); +- +-MenuRegistry.appendMenuItem(MenuId.EditorLineNumberContext, { +- title: localize('quickDiffDecoration', "Diff Decorations"), +- submenu: MenuId.SCMQuickDiffDecorations, +- when: ContextKeyExpr.or( +- ContextKeyExpr.equals('config.scm.diffDecorations', 'all'), +- ContextKeyExpr.equals('config.scm.diffDecorations', 'gutter')), +- group: '9_quickDiffDecorations' +-}); +- +-MenuRegistry.appendMenuItem(MenuId.SCMHistoryItemContext, { +- title: localize('scmHistoryItemChatContext', "Copilot"), +- submenu: MenuId.SCMHistoryItemChatContext, +- group: '8_chat' -}); registerSingleton(ISCMService, SCMService, InstantiationType.Delayed); diff --git a/patches/web-embedded/remove-terminal-in-code-oss.diff b/patches/web-embedded/remove-terminal-in-code-oss.diff index f7c71a79..baee34ab 100644 --- a/patches/web-embedded/remove-terminal-in-code-oss.diff +++ b/patches/web-embedded/remove-terminal-in-code-oss.diff @@ -9,9 +9,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/termina =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts -@@ -4,9 +4,7 @@ - *--------------------------------------------------------------------------------------------*/ +@@ -5,9 +5,7 @@ + import { getFontSnippets } from '../../../../base/browser/fonts.js'; import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js'; -import { Schemas } from '../../../../base/common/network.js'; import { isIOS, isWindows } from '../../../../base/common/platform.js'; @@ -19,7 +19,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/termina import './media/terminal.css'; import './media/terminalVoice.css'; import './media/widgets.css'; -@@ -14,40 +12,26 @@ import './media/xterm.css'; +@@ -15,40 +13,26 @@ import './media/xterm.css'; import * as nls from '../../../../nls.js'; import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../../../../platform/accessibility/common/accessibility.js'; import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js'; @@ -60,11 +60,11 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/termina import { TerminalContextKeyStrings, TerminalContextKeys } from '../common/terminalContextKey.js'; -import { terminalStrings } from '../common/terminalStrings.js'; import { registerSendSequenceKeybinding } from './terminalKeybindings.js'; + import { TerminalTelemetryContribution } from './terminalTelemetry.js'; - // Register services -@@ -68,68 +52,6 @@ registerWorkbenchContribution2(RemoteTer +@@ -71,68 +55,6 @@ registerWorkbenchContribution2(TerminalT registerTerminalPlatformConfiguration(); - registerTerminalConfiguration(); + registerTerminalConfiguration(getFontSnippets); -// Register editor/dnd contributions -Registry.as(EditorExtensions.EditorFactory).registerEditorSerializer(TerminalEditorInput.ID, TerminalInputSerializer); @@ -114,7 +114,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/termina - id: TERMINAL_VIEW_ID, - name: nls.localize2('terminal', "Terminal"), - containerIcon: terminalViewIcon, -- canToggleVisibility: false, +- canToggleVisibility: true, - canMoveView: true, - ctorDescriptor: new SyncDescriptor(TerminalViewPane), - openCommandActionDescriptor: { @@ -131,7 +131,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/termina // Register actions registerTerminalActions(); -@@ -244,8 +166,4 @@ registerSendSequenceKeybinding('\u001f', +@@ -247,8 +169,4 @@ registerSendSequenceKeybinding('\u001f', mac: { primary: KeyMod.WinCtrl | KeyCode.Slash } }); diff --git a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff index a16a4a3b..3f6a8fe6 100644 --- a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff +++ b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff @@ -11,7 +11,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -392,7 +392,7 @@ export class WebClientServer { +@@ -423,7 +423,7 @@ export class WebClientServer { 'default-src \'self\';', 'img-src \'self\' https: data: blob:;', 'media-src \'self\';', @@ -20,7 +20,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ 'child-src \'self\';', `frame-src 'self' https://*.vscode-cdn.net data:;`, 'worker-src \'self\' data: blob:;', -@@ -454,7 +454,7 @@ export class WebClientServer { +@@ -485,7 +485,7 @@ export class WebClientServer { 'img-src \'self\' https: data: blob:;', 'media-src \'none\';', `script-src 'self' ${this._getScriptCspHashes(data).join(' ')};`, @@ -33,7 +33,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/noteboo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts -@@ -317,8 +317,8 @@ export class BackLayerWebView -+ content="default-src 'none'; script-src 'sha256-DXeP32g8BdMsVuVabYTmznoTH59F7M7UtV0vXemEFqc=' 'self'; frame-src 'self';"> - +- content="default-src 'none'; script-src 'sha256-gEAyFzmkyqMoTTnN+3KReFUYoHsK4RAJEb+6eiul+UY=' 'self'; frame-src 'self'; style-src 'unsafe-inline';"> ++ content="default-src 'none'; script-src 'sha256-gEAyFzmkyqMoTTnN+3KReFUYoHsK4RAJEb+6eiul+UY=' 'self'; frame-src 'self';"> + diff --git a/patches/web-embedded/remove-unused-recommended-extensions-action.diff b/patches/web-embedded/remove-unused-recommended-extensions-action.diff index 96e47942..aa91e481 100644 --- a/patches/web-embedded/remove-unused-recommended-extensions-action.diff +++ b/patches/web-embedded/remove-unused-recommended-extensions-action.diff @@ -2,16 +2,25 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensi =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -@@ -14,7 +14,7 @@ - import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from '../../../common/contributions.js'; +@@ -15,7 +15,7 @@ import { IExtensionIgnoredRecommendation + import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js'; import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js'; - import { VIEWLET_ID, IExtensionsWorkbenchService, IExtensionsViewPaneContainer, TOGGLE_IGNORE_EXTENSION_ACTION_ID, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, IWorkspaceRecommendedExtensionsView, AutoUpdateConfigurationKey, HasOutdatedExtensionsContext, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, ExtensionEditorTab, THEME_ACTIONS_GROUP, INSTALL_ACTIONS_GROUP, OUTDATED_EXTENSIONS_VIEW_ID, CONTEXT_HAS_GALLERY, extensionsSearchActionsMenu, UPDATE_ACTIONS_GROUP, IExtensionArg, ExtensionRuntimeActionType } from '../common/extensions.js'; --import { ReinstallAction, InstallSpecificVersionOfExtensionAction, ConfigureWorkspaceRecommendedExtensionsAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ClearLanguageAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, TogglePreReleaseExtensionAction, InstallAnotherVersionAction, InstallAction } from './extensionsActions.js'; -+import { ReinstallAction, InstallSpecificVersionOfExtensionAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ClearLanguageAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, TogglePreReleaseExtensionAction, InstallAnotherVersionAction, InstallAction } from './extensionsActions.js'; + import { VIEWLET_ID, IExtensionsWorkbenchService, IExtensionsViewPaneContainer, TOGGLE_IGNORE_EXTENSION_ACTION_ID, INSTALL_EXTENSION_FROM_VSIX_COMMAND_ID, WORKSPACE_RECOMMENDATIONS_VIEW_ID, IWorkspaceRecommendedExtensionsView, AutoUpdateConfigurationKey, HasOutdatedExtensionsContext, SELECT_INSTALL_VSIX_EXTENSION_COMMAND_ID, LIST_WORKSPACE_UNSUPPORTED_EXTENSIONS_COMMAND_ID, ExtensionEditorTab, THEME_ACTIONS_GROUP, INSTALL_ACTIONS_GROUP, OUTDATED_EXTENSIONS_VIEW_ID, CONTEXT_HAS_GALLERY, extensionsSearchActionsMenu, UPDATE_ACTIONS_GROUP, IExtensionArg, ExtensionRuntimeActionType, EXTENSIONS_CATEGORY, AutoRestartConfigurationKey, extensionsFilterSubMenu, DefaultViewsContext } from '../common/extensions.js'; +-import { InstallSpecificVersionOfExtensionAction, ConfigureWorkspaceRecommendedExtensionsAction, ConfigureWorkspaceFolderRecommendedExtensionsAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ClearLanguageAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, TogglePreReleaseExtensionAction, InstallAnotherVersionAction, InstallAction } from './extensionsActions.js'; ++import { InstallSpecificVersionOfExtensionAction, SetColorThemeAction, SetFileIconThemeAction, SetProductIconThemeAction, ClearLanguageAction, ToggleAutoUpdateForExtensionAction, ToggleAutoUpdatesForPublisherAction, TogglePreReleaseExtensionAction, InstallAnotherVersionAction, InstallAction } from './extensionsActions.js'; import { ExtensionsInput } from '../common/extensionsInput.js'; import { ExtensionEditor } from './extensionEditor.js'; - import { StatusUpdater, MaliciousExtensionChecker, ExtensionsViewletViewsContribution, ExtensionsViewPaneContainer, BuiltInExtensionsContext, SearchMarketplaceExtensionsContext, RecommendedExtensionsContext, DefaultViewsContext, ExtensionsSortByContext, SearchHasTextContext } from './extensionsViewlet.js'; -@@ -1192,22 +1192,6 @@ + import { StatusUpdater, MaliciousExtensionChecker, ExtensionsViewletViewsContribution, ExtensionsViewPaneContainer, BuiltInExtensionsContext, SearchMarketplaceExtensionsContext, RecommendedExtensionsContext, ExtensionsSortByContext, SearchHasTextContext, ExtensionsSearchValueContext } from './extensionsViewlet.js'; +@@ -58,7 +58,7 @@ import { IWorkspaceExtensionsConfigServi + import { Schemas } from '../../../../base/common/network.js'; + import { ShowRuntimeExtensionsAction } from './abstractRuntimeExtensionsEditor.js'; + import { ExtensionEnablementWorkspaceTrustTransitionParticipant } from './extensionEnablementWorkspaceTrustTransitionParticipant.js'; +-import { clearSearchResultsIcon, configureRecommendedIcon, extensionsViewIcon, filterIcon, installWorkspaceRecommendedIcon, refreshIcon } from './extensionsIcons.js'; ++import { clearSearchResultsIcon, extensionsViewIcon, filterIcon, installWorkspaceRecommendedIcon, refreshIcon } from './extensionsIcons.js'; + import { EXTENSION_CATEGORIES, ExtensionType } from '../../../../platform/extensions/common/extensions.js'; + import { Disposable, DisposableStore, IDisposable, isDisposable } from '../../../../base/common/lifecycle.js'; + import { IDialogService, IFileDialogService } from '../../../../platform/dialogs/common/dialogs.js'; +@@ -1265,22 +1265,6 @@ class ExtensionsContributions extends Di }); this.registerExtensionAction({ @@ -34,14 +43,13 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensi id: InstallSpecificVersionOfExtensionAction.ID, title: { value: InstallSpecificVersionOfExtensionAction.LABEL, original: 'Install Specific Version of Extension...' }, category: ExtensionsLocalizedLabel, -@@ -1751,17 +1735,6 @@ - run: () => this.commandService.executeCommand('workbench.extensions.action.addToWorkspaceIgnoredRecommendations') +@@ -1870,17 +1854,6 @@ class ExtensionsContributions extends Di }); -- this.registerExtensionAction({ + this.registerExtensionAction({ - id: ConfigureWorkspaceRecommendedExtensionsAction.ID, - title: { value: ConfigureWorkspaceRecommendedExtensionsAction.LABEL, original: 'Configure Recommended Extensions (Workspace)' }, -- category: localize('extensions', "Extensions"), +- category: EXTENSIONS_CATEGORY, - menu: { - id: MenuId.CommandPalette, - when: WorkbenchStateContext.isEqualTo('workspace'), @@ -49,6 +57,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensi - run: () => runAction(this.instantiationService.createInstance(ConfigureWorkspaceRecommendedExtensionsAction, ConfigureWorkspaceRecommendedExtensionsAction.ID, ConfigureWorkspaceRecommendedExtensionsAction.LABEL)) - }); - - } - - private registerExtensionAction(extensionActionOptions: IExtensionActionOptions): IDisposable { +- this.registerExtensionAction({ + id: 'workbench.extensions.action.manageTrustedPublishers', + title: localize2('workbench.extensions.action.manageTrustedPublishers', "Manage Trusted Extension Publishers"), + category: EXTENSIONS_CATEGORY, diff --git a/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff b/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff index 42e96a6f..1d123169 100644 --- a/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff +++ b/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff @@ -10,12 +10,17 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/d =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.ts -@@ -37,7 +37,7 @@ export class DialogHandlerContribution e +@@ -34,12 +34,11 @@ export class DialogHandlerContribution e + @IKeybindingService keybindingService: IKeybindingService, + @IInstantiationService instantiationService: IInstantiationService, + @IProductService productService: IProductService, +- @IClipboardService clipboardService: IClipboardService, + @IOpenerService openerService: IOpenerService ) { super(); -- this.impl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, clipboardService)); -+ this.impl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService)); +- this.impl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, clipboardService, openerService)); ++ this.impl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, openerService)); this.model = (this.dialogService as DialogService).model; @@ -23,27 +28,24 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/d =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts -@@ -14,8 +14,6 @@ import { StandardKeyboardEvent } from '. - import { EventHelper } from '../../../../base/browser/dom.js'; +@@ -12,8 +12,6 @@ import { Dialog, IDialogResult } from '. + import { DisposableStore } from '../../../../base/common/lifecycle.js'; import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js'; import { IProductService } from '../../../../platform/product/common/productService.js'; -import { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js'; -import { fromNow } from '../../../../base/common/date.js'; import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js'; - import { MarkdownRenderer } from '../../../../editor/browser/widget/markdownRenderer/browser/markdownRenderer.js'; - import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaultInputBoxStyles } from '../../../../platform/theme/browser/defaultStyles.js'; -@@ -39,9 +37,7 @@ export class BrowserDialogHandler extend - @ILayoutService private readonly layoutService: ILayoutService, + import { MarkdownRenderer, openLinkFromMarkdown } from '../../../../editor/browser/widget/markdownRenderer/browser/markdownRenderer.js'; + import { IOpenerService } from '../../../../platform/opener/common/opener.js'; +@@ -38,7 +36,6 @@ export class BrowserDialogHandler extend @IKeybindingService private readonly keybindingService: IKeybindingService, - @IInstantiationService private readonly instantiationService: IInstantiationService, -- @IProductService private readonly productService: IProductService, -- @IClipboardService private readonly clipboardService: IClipboardService -- ) { -+ @IProductService private readonly productService: IProductService ) { + @IInstantiationService instantiationService: IInstantiationService, + @IProductService private readonly productService: IProductService, +- @IClipboardService private readonly clipboardService: IClipboardService, + @IOpenerService private readonly openerService: IOpenerService + ) { super(); - } - -@@ -76,33 +72,23 @@ export class BrowserDialogHandler extend +@@ -77,33 +74,23 @@ export class BrowserDialogHandler extend } async about(): Promise { @@ -86,12 +88,12 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/electron-sandbo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/electron-sandbox/parts/dialogs/dialog.contribution.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/electron-sandbox/parts/dialogs/dialog.contribution.ts -@@ -43,7 +43,7 @@ export class DialogHandlerContribution e +@@ -45,7 +45,7 @@ export class DialogHandlerContribution e ) { super(); -- this.browserImpl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, clipboardService)); -+ this.browserImpl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService)); +- this.browserImpl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, clipboardService, openerService)); ++ this.browserImpl = new Lazy(() => new BrowserDialogHandler(logService, layoutService, keybindingService, instantiationService, productService, openerService)); this.nativeImpl = new Lazy(() => new NativeDialogHandler(logService, nativeHostService, productService, clipboardService)); this.model = (this.dialogService as DialogService).model; diff --git a/patches/web-embedded/suppress-known-errors-build-integration.diff b/patches/web-embedded/suppress-known-errors-build-integration.diff index 9dbe6609..83450598 100644 --- a/patches/web-embedded/suppress-known-errors-build-integration.diff +++ b/patches/web-embedded/suppress-known-errors-build-integration.diff @@ -2,10 +2,12 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.vscode.web.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.vscode.web.js +++ AWSCodeOSS/build/private/code-editor-src/build/gulpfile.vscode.web.js -@@ -54,6 +54,9 @@ const vscodeWebResourceIncludes = [ +@@ -56,7 +56,10 @@ const vscodeWebResourceIncludes = [ + 'out-build/vs/editor/common/languages/injections/*.scm', // Extension Host Worker - 'out-build/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html', +- 'out-build/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html' ++ 'out-build/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html', + + // Error handler + 'out-build/vs/editor/common/errors/suppressedErrors.js' diff --git a/patches/web-server.series b/patches/web-server.series index 3acae4ed..4261548c 100644 --- a/patches/web-server.series +++ b/patches/web-server.series @@ -8,24 +8,16 @@ common/heartbeat.diff common/installer.diff common/remove-builtin-extensions.diff common/remove-vsda.diff -common/use-stable-language-client.diff common/embedded-api.diff -common/readd-workbench.diff -common/fix-ghsa-hwrx-jgf2-74hw.diff common/remove-disable-prompting-for-non-trusted-urls-option.diff -common/fix-ghsa-742r-ggwg-vqxm.diff common/suppress-known-errors-script.diff web-server/suppress-known-errors-build-integration.diff web-server/local-storage.diff -web-server/disable-builtin-ext-update.diff web-server/base-path.diff web-server/webview.diff web-server/marketplace.diff -web-server/remote-agent.diff web-server/integration.diff web-server/embedding-events.diff -web-server/web-client-server.diff web-server/proxy-uri.diff -web-server/welcome-config.diff -web-server/cdn.diff -web-server/extension-manager-label.diff +web-server/display-language.diff +web-server/signature-verification.diff diff --git a/patches/web-server/base-path.diff b/patches/web-server/base-path.diff index 4519e70f..0bfd2d06 100644 --- a/patches/web-server/base-path.diff +++ b/patches/web-server/base-path.diff @@ -8,7 +8,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/base/common/network.ts authority: `${host}:${port}`, - path: this._remoteResourcesPath, + path: platform.isWeb -+ ? (globalThis._VSCODE_REMOTE_URL.pathname + "/" + this._remoteResourcesPath).replace(/\/\/+/g, "/") ++ ? (window.location.pathname + "/" + this._remoteResourcesPath).replace(/\/\/+/g, "/") + : this._remoteResourcesPath, query }); @@ -17,37 +17,24 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/base/common/product.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/base/common/product.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/base/common/product.ts -@@ -55,6 +55,7 @@ export type ExtensionVirtualWorkspaceSup +@@ -56,6 +56,7 @@ export type ExtensionVirtualWorkspaceSup }; export interface IProductConfiguration { -+ readonly rootEndpoint?: string ++ readonly rootEndpoint?: string; readonly version: string; readonly date?: string; readonly quality?: string; -Index: AWSCodeOSS/build/private/code-editor-src/src/typings/vscode-globals-product.d.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/typings/vscode-globals-product.d.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/typings/vscode-globals-product.d.ts -@@ -11,6 +11,7 @@ declare global { - * Holds the file root for resources. - */ - var _VSCODE_FILE_ROOT: string; -+ var _VSCODE_REMOTE_URL: URL; - - /** - * CSS loader that's available during development time. Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench-dev.html =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench-dev.html +++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench-dev.html -@@ -37,7 +37,8 @@ - +@@ -63,7 +63,7 @@ + - -- -+ - - - Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -317,7 +317,8 @@ class LocalStorageURLCallbackProvider ex +@@ -332,7 +332,8 @@ class LocalStorageURLCallbackProvider ex this.startListening(); } @@ -91,7 +69,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionResourc =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts -@@ -98,7 +98,7 @@ export abstract class AbstractExtensionR +@@ -120,7 +120,7 @@ export abstract class AbstractExtensionR : version, path: 'extension' })); @@ -104,8 +82,20 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -280,7 +280,7 @@ export class WebClientServer { - const remoteAuthority = ( +@@ -245,7 +245,10 @@ export class WebClientServer { + }; + + // Prefix routes with basePath for clients +- const basePath = getFirstHeader('x-forwarded-prefix') || this._basePath; ++ const proxyPath = this._environmentService.args["base-path"] || "/"; ++ const base = relativeRoot(proxyPath); ++ const vscodeBase = relativePath(proxyPath); ++ const basePath = vscodeBase || getFirstHeader("x-forwarded-prefix") || this._basePath; + + const queryConnectionToken = parsedUrl.query[connectionTokenQueryName]; + if (typeof queryConnectionToken === 'string') { +@@ -287,7 +290,7 @@ export class WebClientServer { + let remoteAuthority = ( useTestResolver ? 'test+test' - : (getFirstHeader('x-original-host') || getFirstHeader('x-forwarded-host') || req.headers.host) @@ -113,33 +103,35 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ ); if (!remoteAuthority) { return serveError(req, res, 400, `Bad request.`); -@@ -307,7 +307,12 @@ export class WebClientServer { - scopes: [['user:email'], ['repo']] +@@ -333,6 +336,7 @@ export class WebClientServer { } : undefined; -+ const basePath: string = this._environmentService.args['base-path'] || "/" -+ const base = relativeRoot(basePath) -+ const vscodeBase = relativePath(basePath) -+ - const productConfiguration = { + const productConfiguration: Partial> = { + rootEndpoint: base, embedderIdentifier: 'server-distro', extensionsGallery: this._webExtensionResourceUrlTemplate && this._productService.extensionsGallery ? { ...this._productService.extensionsGallery, -@@ -354,8 +359,10 @@ export class WebClientServer { - const values: { [key: string]: string } = { - WORKBENCH_WEB_CONFIGURATION: asJSON(workbenchWebConfiguration), +@@ -360,7 +364,7 @@ export class WebClientServer { + const workbenchWebConfiguration = { + remoteAuthority, + userDataPath: this._environmentService.userDataPath, +- serverBasePath: basePath, ++ serverBasePath: this._basePath, + _wrapWebWorkerExtHostInIframe, + developmentOptions: { enableSmokeTestDriver: this._environmentService.args['enable-smoke-test-driver'] ? true : undefined, logLevel: this._logService.getLevel() }, + settingsSyncOptions: !this._environmentService.isBuilt && this._environmentService.args['enable-sync'] ? { enabled: true } : undefined, +@@ -387,7 +391,9 @@ export class WebClientServer { WORKBENCH_AUTH_SESSION: authSessionInfo ? asJSON(authSessionInfo) : '', -- WORKBENCH_WEB_BASE_URL: this._staticRoute, -- WORKBENCH_NLS_URL, -+ WORKBENCH_WEB_BASE_URL: vscodeBase + this._staticRoute, -+ WORKBENCH_NLS_URL: WORKBENCH_NLS_URL ? vscodeBase + WORKBENCH_NLS_URL : WORKBENCH_NLS_URL, + WORKBENCH_WEB_BASE_URL: staticRoute, + WORKBENCH_NLS_URL, +- WORKBENCH_NLS_FALLBACK_URL: `${staticRoute}/out/nls.messages.js` ++ WORKBENCH_NLS_FALLBACK_URL: `${staticRoute}/out/nls.messages.js`, + BASE: base, -+ VS_BASE: vscodeBase, - WORKBENCH_NLS_FALLBACK_URL: `${this._staticRoute}/out/nls.messages.js` ++ VS_BASE: vscodeBase }; -@@ -466,3 +473,60 @@ export class WebClientServer { + // DEV --------------------------------------------------------------------------------------- +@@ -497,3 +503,60 @@ export class WebClientServer { return void res.end(data); } } @@ -204,7 +196,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverEnviron =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/serverEnvironmentService.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverEnvironmentService.ts -@@ -89,6 +89,9 @@ export const serverOptions: OptionDescri +@@ -91,6 +91,9 @@ export const serverOptions: OptionDescri 'compatibility': { type: 'string' }, @@ -214,7 +206,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverEnviron _: OPTIONS['_'] }; -@@ -212,6 +215,9 @@ export interface ServerParsedArgs { +@@ -217,6 +220,9 @@ export interface ServerParsedArgs { compatibility: string; @@ -232,7 +224,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/remote/browser/b connect({ host, port }: WebSocketRemoteConnection, path: string, query: string, debugLabel: string): Promise { return new Promise((resolve, reject) => { const webSocketSchema = (/^https:/.test(mainWindow.location.href) ? 'wss' : 'ws'); -+ path = (globalThis._VSCODE_REMOTE_URL.pathname + "/" + path).replace(/\/\/+/g, "/") ++ path = (mainWindow.location.pathname + "/" + path).replace(/\/\/+/g, "/") const socket = this._webSocketFactory.create(`${webSocketSchema}://${(/:/.test(host) && !/\[/.test(host)) ? `[${host}]` : host}:${port}${path}?${query}&skipWebSocketFrames=false`, debugLabel); const errorListener = socket.onError(reject); socket.onOpen(() => { diff --git a/patches/web-server/cdn.diff b/patches/web-server/cdn.diff deleted file mode 100644 index 25fba133..00000000 --- a/patches/web-server/cdn.diff +++ /dev/null @@ -1,78 +0,0 @@ -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -379,6 +379,11 @@ export class WebClientServer { - values['WORKBENCH_BUILTIN_EXTENSIONS'] = asJSON(bundledExtensions); - } - -+ if (parsedUrl.query.jsonConfig) { -+ res.writeHead(200, { 'Content-Type': 'application/json' }); -+ return void res.end(JSON.stringify(workbenchWebConfiguration, null, 4)); -+ } -+ - let data; - try { - const workbenchTemplate = (await promises.readFile(filePath)).toString(); -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/amdX.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/amdX.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/amdX.ts -@@ -72,6 +72,10 @@ class AMDModuleImporter { - if (this._isRenderer) { - this._amdPolicy = (globalThis as any)._VSCODE_WEB_PACKAGE_TTP ?? window.trustedTypes?.createPolicy('amdLoader', { - createScriptURL(value) { -+ //@ts-ignore -+ if (value.startsWith(globalThis._VSCODE_FILE_ROOT.slice(0,-5))) { -+ return value; -+ } - if (value.startsWith(window.location.origin)) { - return value; - } -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -594,15 +594,34 @@ function readCookie(name: string): strin - return undefined; - } - --(function () { -- -- // Find config by checking for DOM -- const configElement = mainWindow.document.getElementById('vscode-workbench-web-configuration'); -- const configElementAttribute = configElement ? configElement.getAttribute('data-settings') : undefined; -- if (!configElement || !configElementAttribute) { -- throw new Error('Missing web configuration element'); -+(function initialize(config?: IWorkbenchConstructionOptions & { folderUri?: UriComponents; workspaceUri?: UriComponents; callbackRoute: string }) { -+ if (!config) { -+ // Find config by checking for DOM -+ const configElement = mainWindow.document.getElementById('vscode-workbench-web-configuration'); -+ const configElementAttribute = configElement ? configElement.getAttribute('data-settings') : undefined; -+ if (!configElement || !configElementAttribute || /^{{/.test(configElementAttribute)) { -+ window.addEventListener('message', function eventHandler(e) { -+ if (e.data?.source !== 'code-editor-wrapper') { -+ return; -+ } -+ if (e.data?.action === 'setConfig') { -+ if (e.data.config.remoteUrl) { -+ globalThis._VSCODE_REMOTE_URL = new URL(e.data.config.remoteUrl); -+ } -+ initialize(e.data.config); -+ window.removeEventListener('message', eventHandler); -+ return; -+ } -+ }); -+ window.top?.postMessage({ -+ source: 'code-editor', -+ action: "getConfig" -+ }, '*'); -+ return; -+ } -+ config = JSON.parse(configElementAttribute); - } -- const config: IWorkbenchConstructionOptions & { folderUri?: UriComponents; workspaceUri?: UriComponents; callbackRoute: string } = JSON.parse(configElementAttribute); -+ if (!config) return; - const secretStorageKeyPath = readCookie('vscode-secret-key-path'); - const secretStorageCrypto = secretStorageKeyPath && ServerKeyedAESCrypto.supported() - ? new ServerKeyedAESCrypto(secretStorageKeyPath) : new TransparentCrypto(); diff --git a/patches/web-server/disable-builtin-ext-update.diff b/patches/web-server/disable-builtin-ext-update.diff deleted file mode 100644 index a88431a2..00000000 --- a/patches/web-server/disable-builtin-ext-update.diff +++ /dev/null @@ -1,17 +0,0 @@ -Prevent builtin extensions from being updated. - -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -@@ -315,6 +315,10 @@ export class Extension implements IExten - if (this.type === ExtensionType.System && this.productService.quality === 'stable') { - return false; - } -+ // Do not update builtin extensions. -+ if (this.isBuiltin) { -+ return false; -+ } - if (!this.local.preRelease && this.gallery.properties.isPreReleaseVersion) { - return false; - } diff --git a/patches/web-server/display-language.diff b/patches/web-server/display-language.diff new file mode 100644 index 00000000..14e28ba1 --- /dev/null +++ b/patches/web-server/display-language.diff @@ -0,0 +1,390 @@ +Adjusted from (MIT licensed) original source: +- https://github.com/coder/code-server/blob/aff005e19626ac6802223713fa569e743c125725/patches/display-language.diff + +Add display language support + +VS Code web appears to implement language support by setting a cookie and +downloading language packs from a URL configured in the product.json. This patch +supports language pack extensions and uses files on the remote to set the +language instead, so it works like the desktop version. + +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverServices.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/serverServices.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverServices.ts +@@ -11,7 +11,7 @@ import * as path from '../../base/common + import { IURITransformer } from '../../base/common/uriIpc.js'; + import { getMachineId, getSqmMachineId, getdevDeviceId } from '../../base/node/id.js'; + import { Promises } from '../../base/node/pfs.js'; +-import { ClientConnectionEvent, IMessagePassingProtocol, IPCServer, StaticRouter } from '../../base/parts/ipc/common/ipc.js'; ++import { ClientConnectionEvent, IMessagePassingProtocol, IPCServer, ProxyChannel, StaticRouter } from '../../base/parts/ipc/common/ipc.js'; + import { ProtocolConstants } from '../../base/parts/ipc/common/ipc.net.js'; + import { IConfigurationService } from '../../platform/configuration/common/configuration.js'; + import { ConfigurationService } from '../../platform/configuration/common/configurationService.js'; +@@ -241,6 +241,9 @@ export async function setupServerService + const channel = new ExtensionManagementChannel(extensionManagementService, (ctx: RemoteAgentConnectionContext) => getUriTransformer(ctx.remoteAuthority)); + socketServer.registerChannel('extensions', channel); + ++ const languagePackChannel = ProxyChannel.fromService(accessor.get(ILanguagePackService), disposables); ++ socketServer.registerChannel('languagePacks', languagePackChannel); ++ + // clean up extensions folder + remoteExtensionsScanner.whenExtensionsReady().then(() => extensionManagementService.cleanUp()); + +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/environment/common/environmentService.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/environment/common/environmentService.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/environment/common/environmentService.ts +@@ -101,7 +101,7 @@ export abstract class AbstractNativeEnvi + return URI.file(join(vscodePortable, 'argv.json')); + } + +- return joinPath(this.userHome, this.productService.dataFolderName, 'argv.json'); ++ return joinPath(this.appSettingsHome, 'argv.json'); + } + + @memoize +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteLanguagePacks.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/remoteLanguagePacks.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteLanguagePacks.ts +@@ -3,37 +3,111 @@ + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + ++import { promises as fs } from 'fs'; ++import * as path from 'path'; + import { FileAccess } from '../../base/common/network.js'; + import { join } from '../../base/common/path.js'; + import type { INLSConfiguration } from '../../nls.js'; + import { resolveNLSConfiguration } from '../../base/node/nls.js'; +-import { Promises } from '../../base/node/pfs.js'; +-import product from '../../platform/product/common/product.js'; + + const nlsMetadataPath = join(FileAccess.asFileUri('').fsPath); +-const defaultMessagesFile = join(nlsMetadataPath, 'nls.messages.json'); + const nlsConfigurationCache = new Map>(); + + export async function getNLSConfiguration(language: string, userDataPath: string): Promise { +- if (!product.commit || !(await Promises.exists(defaultMessagesFile))) { +- return { +- userLocale: 'en', +- osLocale: 'en', +- resolvedLanguage: 'en', +- defaultMessagesFile, +- +- // NLS: below 2 are a relic from old times only used by vscode-nls and deprecated +- locale: 'en', +- availableLanguages: {} +- }; +- } +- + const cacheKey = `${language}||${userDataPath}`; + let result = nlsConfigurationCache.get(cacheKey); + if (!result) { +- result = resolveNLSConfiguration({ userLocale: language, osLocale: language, commit: product.commit, userDataPath, nlsMetadataPath }); ++ // passing a dummy commit which is required to resolve language packs ++ result = resolveNLSConfiguration({ userLocale: language, osLocale: language, commit: 'dummy_commit', userDataPath, nlsMetadataPath }); + nlsConfigurationCache.set(cacheKey, result); ++ // If the language pack does not yet exist, it defaults to English, which is ++ // then cached and you have to restart even if you then install the pack. ++ result.then((r) => { ++ if (!language.startsWith('en') && r.resolvedLanguage.startsWith('en')) { ++ nlsConfigurationCache.delete(cacheKey); ++ } ++ }) + } + + return result; + } ++ ++/** ++ * Copied from from src/main.js. ++ */ ++export const getLocaleFromConfig = async (argvResource: string): Promise => { ++ try { ++ const content = stripComments(await fs.readFile(argvResource, 'utf8')); ++ return JSON.parse(content).locale; ++ } catch (error) { ++ if (error.code !== "ENOENT") { ++ console.warn(error) ++ } ++ return 'en'; ++ } ++}; ++ ++/** ++ * Copied from from src/main.js. ++ */ ++const stripComments = (content: string): string => { ++ const regexp = /('(?:[^\\']*(?:\\.)?)*')|('(?:[^\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g; ++ ++ return content.replace(regexp, (match, _m1, _m2, m3, m4) => { ++ // Only one of m1, m2, m3, m4 matches ++ if (m3) { ++ // A block comment. Replace with nothing ++ return ''; ++ } else if (m4) { ++ // A line comment. If it ends in \r?\n then keep it. ++ const length_1 = m4.length; ++ if (length_1 > 2 && m4[length_1 - 1] === '\n') { ++ return m4[length_1 - 2] === '\r' ? '\r\n' : '\n'; ++ } ++ else { ++ return ''; ++ } ++ } else { ++ // We match a string ++ return match; ++ } ++ }); ++}; ++ ++/** ++ * Generate translations then return a path to a JavaScript file that sets the ++ * translations into global variables. This file is loaded by the browser to ++ * set global variables that the loader uses when looking for translations. ++ * ++ * Normally, VS Code pulls these files from a CDN but we want them to be local. ++ */ ++export async function getBrowserNLSConfiguration(locale: string, userDataPath: string): Promise { ++ if (locale.startsWith('en')) { ++ return ''; // Use fallback translations. ++ } ++ ++ const nlsConfig = await getNLSConfiguration(locale, userDataPath); ++ const messagesFile = nlsConfig?.languagePack?.messagesFile; ++ const resolvedLanguage = nlsConfig?.resolvedLanguage; ++ if (!messagesFile || !resolvedLanguage) { ++ return ''; // Use fallback translations. ++ } ++ ++ const nlsFile = path.join(path.dirname(messagesFile), "nls.messages.js"); ++ try { ++ await fs.stat(nlsFile); ++ return nlsFile; // We already generated the file. ++ } catch (error) { ++ // ENOENT is fine, that just means we need to generate the file. ++ if (error.code !== 'ENOENT') { ++ throw error; ++ } ++ } ++ ++ const messages = (await fs.readFile(messagesFile)).toString(); ++ const content = `globalThis._VSCODE_NLS_MESSAGES=${messages}; ++globalThis._VSCODE_NLS_LANGUAGE=${JSON.stringify(resolvedLanguage)};` ++ await fs.writeFile(nlsFile, content, "utf-8"); ++ ++ return nlsFile; ++} +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +@@ -25,6 +25,7 @@ import { URI } from '../../base/common/u + import { streamToBuffer } from '../../base/common/buffer.js'; + import { IProductConfiguration } from '../../base/common/product.js'; + import { isString, Mutable } from '../../base/common/types.js'; ++import { getLocaleFromConfig, getBrowserNLSConfiguration } from './remoteLanguagePacks.js'; + import { CharCode } from '../../base/common/charCode.js'; + import { IExtensionManifest } from '../../platform/extensions/common/extensions.js'; + import { ICSSDevelopmentService } from '../../platform/cssDev/node/cssDevService.js'; +@@ -370,14 +371,22 @@ export class WebClientServer { + }; + + const cookies = cookie.parse(req.headers.cookie || ''); +- const locale = cookies['vscode.nls.locale'] || req.headers['accept-language']?.split(',')[0]?.toLowerCase() || 'en'; ++ const locale = this._environmentService.args.locale || await getLocaleFromConfig(this._environmentService.argvResource.fsPath) || cookies['vscode.nls.locale'] || req.headers['accept-language']?.split(',')[0]?.toLowerCase() || 'en'; + let WORKBENCH_NLS_BASE_URL: string | undefined; + let WORKBENCH_NLS_URL: string; + if (!locale.startsWith('en') && this._productService.nlsCoreBaseUrl) { + WORKBENCH_NLS_BASE_URL = this._productService.nlsCoreBaseUrl; + WORKBENCH_NLS_URL = `${WORKBENCH_NLS_BASE_URL}${this._productService.commit}/${this._productService.version}/${locale}/nls.messages.js`; + } else { +- WORKBENCH_NLS_URL = ''; // fallback will apply ++ try { ++ const nlsFile = await getBrowserNLSConfiguration(locale, this._environmentService.userDataPath); ++ WORKBENCH_NLS_URL = nlsFile ++ ? `${vscodeBase}/vscode-remote-resource?path=${encodeURIComponent(nlsFile)}` ++ : ''; ++ } catch (error) { ++ console.error("Failed to generate translations", error); ++ WORKBENCH_NLS_URL = ''; ++ } + } + + const values: { [key: string]: string } = { +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverEnvironmentService.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/serverEnvironmentService.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/serverEnvironmentService.ts +@@ -13,6 +13,7 @@ import { memoize } from '../../base/comm + import { URI } from '../../base/common/uri.js'; + + export const serverOptions: OptionDescriptions> = { ++ 'locale': { type: 'string' }, + + /* ----- server setup ----- */ + +@@ -98,6 +99,7 @@ export const serverOptions: OptionDescri + }; + + export interface ServerParsedArgs { ++ 'locale'?: string; + + /* ----- server setup ----- */ + +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/languagePacks/browser/languagePacks.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/languagePacks/browser/languagePacks.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/languagePacks/browser/languagePacks.ts +@@ -5,18 +5,24 @@ + + import { CancellationTokenSource } from '../../../base/common/cancellation.js'; + import { URI } from '../../../base/common/uri.js'; ++import { ProxyChannel } from '../../../base/parts/ipc/common/ipc.js'; + import { IExtensionGalleryService } from '../../extensionManagement/common/extensionManagement.js'; + import { IExtensionResourceLoaderService } from '../../extensionResourceLoader/common/extensionResourceLoader.js'; +-import { ILanguagePackItem, LanguagePackBaseService } from '../common/languagePacks.js'; ++import { ILanguagePackItem, ILanguagePackService, LanguagePackBaseService } from '../common/languagePacks.js'; + import { ILogService } from '../../log/common/log.js'; ++import { IRemoteAgentService } from '../../../workbench/services/remote/common/remoteAgentService.js'; + + export class WebLanguagePacksService extends LanguagePackBaseService { ++ private readonly languagePackService: ILanguagePackService; ++ + constructor( ++ @IRemoteAgentService remoteAgentService: IRemoteAgentService, + @IExtensionResourceLoaderService private readonly extensionResourceLoaderService: IExtensionResourceLoaderService, + @IExtensionGalleryService extensionGalleryService: IExtensionGalleryService, + @ILogService private readonly logService: ILogService + ) { + super(extensionGalleryService); ++ this.languagePackService = ProxyChannel.toService(remoteAgentService.getConnection()!.getChannel('languagePacks')); + } + + async getBuiltInExtensionTranslationsUri(id: string, language: string): Promise { +@@ -72,6 +78,6 @@ export class WebLanguagePacksService ext + + // Web doesn't have a concept of language packs, so we just return an empty array + getInstalledLanguages(): Promise { +- return Promise.resolve([]); ++ return this.languagePackService.getInstalledLanguages(); + } + } +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/localization/electron-sandbox/localeService.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/services/localization/electron-sandbox/localeService.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/localization/electron-sandbox/localeService.ts +@@ -51,7 +51,8 @@ class NativeLocaleService implements ILo + @IProductService private readonly productService: IProductService + ) { } + +- private async validateLocaleFile(): Promise { ++ // Make public just so we do not have to patch all the unused code out. ++ public async validateLocaleFile(): Promise { + try { + const content = await this.textFileService.read(this.environmentService.argvResource, { encoding: 'utf8' }); + +@@ -78,9 +79,6 @@ class NativeLocaleService implements ILo + } + + private async writeLocaleValue(locale: string | undefined): Promise { +- if (!(await this.validateLocaleFile())) { +- return false; +- } + await this.jsonEditingService.write(this.environmentService.argvResource, [{ path: ['locale'], value: locale }], true); + return true; + } +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +@@ -475,9 +475,6 @@ export class InstallAction extends Exten + if (this.extension.isBuiltin) { + return; + } +- if (this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } + if (this.extension.state !== ExtensionState.Uninstalled) { + return; + } +@@ -782,7 +779,7 @@ export abstract class InstallInOtherServ + } + + if (isLanguagePackExtension(this.extension.local.manifest)) { +- return true; ++ return false; + } + + // Prefers to run on UI +@@ -2073,17 +2070,6 @@ export class SetLanguageAction extends E + update(): void { + this.enabled = false; + this.class = SetLanguageAction.DisabledClass; +- if (!this.extension) { +- return; +- } +- if (!this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } +- if (this.extension.gallery && language === getLocale(this.extension.gallery)) { +- return; +- } +- this.enabled = true; +- this.class = SetLanguageAction.EnabledClass; + } + + override async run(): Promise { +@@ -2100,7 +2086,6 @@ export class ClearLanguageAction extends + private static readonly DisabledClass = `${this.EnabledClass} disabled`; + + constructor( +- @IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService, + @ILocaleService private readonly localeService: ILocaleService, + ) { + super(ClearLanguageAction.ID, ClearLanguageAction.TITLE.value, ClearLanguageAction.DisabledClass, false); +@@ -2110,17 +2095,6 @@ export class ClearLanguageAction extends + update(): void { + this.enabled = false; + this.class = ClearLanguageAction.DisabledClass; +- if (!this.extension) { +- return; +- } +- if (!this.extensionsWorkbenchService.canSetLanguage(this.extension)) { +- return; +- } +- if (this.extension.gallery && language !== getLocale(this.extension.gallery)) { +- return; +- } +- this.enabled = true; +- this.class = ClearLanguageAction.EnabledClass; + } + + override async run(): Promise { +Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.reh.js ++++ AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js +@@ -59,6 +59,7 @@ const serverResourceIncludes = [ + + // NLS + 'out-build/nls.messages.json', ++ 'out-build/nls.keys.json', // Required to generate translations. + + // Process monitor + 'out-build/vs/base/node/cpuUsage.sh', +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.web.main.internal.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/workbench.web.main.internal.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.web.main.internal.ts +@@ -53,7 +53,7 @@ import './services/dialogs/browser/fileD + import './services/host/browser/browserHostService.js'; + import './services/lifecycle/browser/lifecycleService.js'; + import './services/clipboard/browser/clipboardService.js'; +-import './services/localization/browser/localeService.js'; ++import './services/localization/electron-sandbox/localeService.js'; + import './services/path/browser/pathService.js'; + import './services/themes/browser/browserHostColorSchemeService.js'; + import './services/encryption/browser/encryptionService.js'; diff --git a/patches/web-server/embedding-events.diff b/patches/web-server/embedding-events.diff index 74d099b1..94908520 100644 --- a/patches/web-server/embedding-events.diff +++ b/patches/web-server/embedding-events.diff @@ -2,10 +2,10 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/remote/browser/remote.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/browser/remote.ts -@@ -1049,6 +1049,25 @@ export class RemoteAgentConnectionStatus +@@ -1048,6 +1048,25 @@ export class RemoteAgentConnectionStatus break; } - }); + })); + + connection.onDidStateChange((e) => { + let action = 'connected'; @@ -74,7 +74,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -472,6 +472,24 @@ class WorkspaceProvider implements IWork +@@ -487,6 +487,24 @@ class WorkspaceProvider implements IWork const targetHref = this.createTargetUrl(workspace, options); if (targetHref) { @@ -103,7 +103,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/workben =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/browser/workbench.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/workbench.ts -@@ -170,6 +170,8 @@ export class Workbench extends Layout { +@@ -169,6 +169,8 @@ export class Workbench extends Layout { } catch (error) { onUnexpectedError(error); diff --git a/patches/web-server/extension-manager-label.diff b/patches/web-server/extension-manager-label.diff deleted file mode 100644 index c30f82a8..00000000 --- a/patches/web-server/extension-manager-label.diff +++ /dev/null @@ -1,26 +0,0 @@ -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts -@@ -105,7 +105,7 @@ Registry.as(EditorE - Registry.as(ViewContainerExtensions.ViewContainersRegistry).registerViewContainer( - { - id: VIEWLET_ID, -- title: localize2('extensions', "Extensions"), -+ title: localize2('extensions', "Extensions From Open-VSX.org"), - openCommandActionDescriptor: { - id: VIEWLET_ID, - mnemonicTitle: localize({ key: 'miViewExtensions', comment: ['&& denotes a mnemonic'] }, "E&&xtensions"), -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts -@@ -294,7 +294,7 @@ export class ExtensionsViewletViewsContr - */ - viewDescriptors.push({ - id: 'workbench.views.extensions.marketplace', -- name: localize2('marketPlace', "Marketplace"), -+ name: localize2('marketPlace', ""), - ctorDescriptor: new SyncDescriptor(SearchMarketplaceExtensionsView, [{}]), - when: ContextKeyExpr.and(ContextKeyExpr.has('searchMarketplaceExtensions')), - }); diff --git a/patches/web-server/integration.diff b/patches/web-server/integration.diff index 9ba2836a..b53eed7c 100644 --- a/patches/web-server/integration.diff +++ b/patches/web-server/integration.diff @@ -44,10 +44,10 @@ Index: AWSCodeOSS/build/private/code-editor-src/product.json "win32DirName": "Microsoft Code OSS", "win32NameVersion": "Microsoft Code OSS", "win32RegValueName": "CodeOSS", -@@ -25,9 +39,9 @@ - "win32TunnelServiceMutex": "vscodeoss-tunnelservice", - "win32TunnelMutex": "vscodeoss-tunnel", +@@ -27,9 +41,9 @@ "darwinBundleIdentifier": "com.visualstudio.code.oss", + "darwinProfileUUID": "47827DD9-4734-49A0-AF80-7E19B11495CC", + "darwinProfilePayloadUUID": "CF808BE7-53F3-46C6-A7E2-7EDB98A5E959", - "linuxIconName": "code-oss", + "linuxIconName": "code-editor", "licenseFileName": "LICENSE.txt", @@ -60,7 +60,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/product/common/p =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/product/common/product.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/product/common/product.ts -@@ -59,8 +59,8 @@ else { +@@ -61,8 +61,8 @@ else { if (Object.keys(product).length === 0) { Object.assign(product, { version: '1.95.0-dev', @@ -75,7 +75,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcome =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts -@@ -822,8 +822,8 @@ export class GettingStartedPage extends +@@ -872,8 +872,8 @@ export class GettingStartedPage extends })); const header = $('.header', {}, @@ -117,7 +117,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/d =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts -@@ -78,7 +78,7 @@ export class BrowserDialogHandler extend +@@ -79,7 +79,7 @@ export class BrowserDialogHandler extend async about(): Promise { const detailString = (useAgo: boolean): string => { return localize('aboutDetail', @@ -130,7 +130,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.commo =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/workbench.common.main.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.common.main.ts -@@ -327,7 +327,7 @@ import './contrib/surveys/browser/langua +@@ -339,7 +339,7 @@ import './contrib/surveys/browser/langua // Welcome import './contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js'; @@ -139,30 +139,3 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/workbench.commo import './contrib/welcomeViews/common/viewsWelcome.contribution.js'; import './contrib/welcomeViews/common/newFile.contribution.js'; -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/themes/common/themeConfiguration.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/services/themes/common/themeConfiguration.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/services/themes/common/themeConfiguration.ts -@@ -34,7 +34,7 @@ export const COLOR_THEME_CONFIGURATION_S - const colorThemeSettingSchema: IConfigurationPropertySchema = { - type: 'string', - markdownDescription: nls.localize({ key: 'colorTheme', comment: ['{0} will become a link to another setting.'] }, "Specifies the color theme used in the workbench when {0} is not enabled.", formatSettingAsLink(ThemeSettings.DETECT_COLOR_SCHEME)), -- default: isWeb ? ThemeSettingDefaults.COLOR_THEME_LIGHT : ThemeSettingDefaults.COLOR_THEME_DARK, -+ default: new URL(location.href).searchParams.get("darkTheme") ? ThemeSettingDefaults.COLOR_THEME_DARK : ThemeSettingDefaults.COLOR_THEME_LIGHT, - tags: [COLOR_THEME_CONFIGURATION_SETTINGS_TAG], - enum: colorThemeSettingEnum, - enumDescriptions: colorThemeSettingEnumDescriptions, -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/common/remote.contribution.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/workbench/contrib/remote/common/remote.contribution.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/contrib/remote/common/remote.contribution.ts -@@ -45,7 +45,8 @@ export class LabelContribution implement - separator: os === OperatingSystem.Windows ? '\\' : '/', - tildify: os !== OperatingSystem.Windows, - normalizeDriveLetter: os === OperatingSystem.Windows, -- workspaceSuffix: isWeb ? undefined : Schemas.vscodeRemote -+ // display environment name instead of vfs url -+ workspaceSuffix: new URLSearchParams(location.search).get("env-name") || undefined - }; - this.labelService.registerFormatter({ - scheme: Schemas.vscodeRemote, diff --git a/patches/web-server/local-storage.diff b/patches/web-server/local-storage.diff index d044544e..ba3758eb 100644 --- a/patches/web-server/local-storage.diff +++ b/patches/web-server/local-storage.diff @@ -20,12 +20,12 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -328,6 +328,7 @@ export class WebClientServer { +@@ -359,6 +359,7 @@ export class WebClientServer { const workbenchWebConfiguration = { remoteAuthority, + userDataPath: this._environmentService.userDataPath, - serverBasePath: this._basePath, + serverBasePath: basePath, _wrapWebWorkerExtHostInIframe, developmentOptions: { enableSmokeTestDriver: this._environmentService.args['enable-smoke-test-driver'] ? true : undefined, logLevel: this._logService.getLevel() }, Index: AWSCodeOSS/build/private/code-editor-src/src/vs/workbench/browser/web.api.ts diff --git a/patches/web-server/marketplace.diff b/patches/web-server/marketplace.diff index 6a38611b..9dbafb33 100644 --- a/patches/web-server/marketplace.diff +++ b/patches/web-server/marketplace.diff @@ -1,5 +1,5 @@ Adjusted from (MIT licensed) original source: -- https://github.com/coder/AWSCodeOSS/blob/6d9530aa6b84514b8b54700d88cbcc66c70b789f/patches/marketplace.diff +- https://github.com/coder/code-server/blob/6d9530aa6b84514b8b54700d88cbcc66c70b789f/patches/marketplace.diff Add Open VSX as default marketplace @@ -7,17 +7,8 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/webClientServer.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServer.ts -@@ -115,7 +115,7 @@ export class WebClientServer { - - this._staticRoute = `${serverRootPath}/static`; - this._callbackRoute = `${serverRootPath}/callback`; -- this._webExtensionRoute = `${serverRootPath}/web-extension-resource`; -+ this._webExtensionRoute = `/web-extension-resource`; - } - - /** -@@ -314,14 +314,7 @@ export class WebClientServer { - const productConfiguration = { +@@ -338,14 +338,7 @@ export class WebClientServer { + const productConfiguration: Partial> = { rootEndpoint: base, embedderIdentifier: 'server-distro', - extensionsGallery: this._webExtensionResourceUrlTemplate && this._productService.extensionsGallery ? { @@ -25,18 +16,18 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/webClientServ - resourceUrlTemplate: this._webExtensionResourceUrlTemplate.with({ - scheme: 'http', - authority: remoteAuthority, -- path: `${this._webExtensionRoute}/${this._webExtensionResourceUrlTemplate.authority}${this._webExtensionResourceUrlTemplate.path}` +- path: `${webExtensionRoute}/${this._webExtensionResourceUrlTemplate.authority}${this._webExtensionResourceUrlTemplate.path}` - }).toString(true) - } : undefined + extensionsGallery: this._productService.extensionsGallery, - } satisfies Partial; + }; - if (!this._environmentService.isBuilt) { + const proposedApi = this._environmentService.args['enable-proposed-api']; Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts +++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts -@@ -140,9 +140,9 @@ export abstract class AbstractExtensionR +@@ -163,9 +163,9 @@ export abstract class AbstractExtensionR } protected _isWebExtensionResourceEndPoint(uri: URI): boolean { diff --git a/patches/web-server/proxy-uri.diff b/patches/web-server/proxy-uri.diff index 36d7f193..fe3aee8e 100644 --- a/patches/web-server/proxy-uri.diff +++ b/patches/web-server/proxy-uri.diff @@ -11,7 +11,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo interface ISecretStorageCrypto { seal(data: string): Promise; -@@ -613,6 +614,20 @@ function readCookie(name: string): strin +@@ -629,6 +630,20 @@ function readCookie(name: string): strin settingsSyncOptions: config.settingsSyncOptions ? { enabled: config.settingsSyncOptions.enabled, } : undefined, workspaceProvider: WorkspaceProvider.create(config), urlCallbackProvider: new LocalStorageURLCallbackProvider(config.callbackRoute), @@ -21,7 +21,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo + if (localhostMatch && resolvedUri.authority !== location.host) { + if (config?.productConfiguration?.rootEndpoint) { + const proxyUri = `${config?.productConfiguration.rootEndpoint}/ports/${localhostMatch.port}/`; -+ resolvedUri = URI.parse(new URL(proxyUri, globalThis._VSCODE_REMOTE_URL.href).toString()) ++ resolvedUri = URI.parse(new URL(proxyUri, window.location.href).toString()) + } else { + throw new Error(`Failed to resolve external URI: ${uri.toString()}. Could not determine base url because productConfiguration missing.`) + } @@ -41,9 +41,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/proxyServer.t +import * as http from "http"; +import * as net from "net"; +import * as url from "url"; -+import {SocketServer} from "./serverServices"; -+import {RemoteAgentConnectionContext} from "../../platform/remote/common/remoteAgentEnvironment"; -+import {IServerChannel} from "../../base/parts/ipc/common/ipc"; ++import {SocketServer} from "./serverServices.js"; ++import {RemoteAgentConnectionContext} from "../../platform/remote/common/remoteAgentEnvironment.js"; ++import {IServerChannel} from "../../base/parts/ipc/common/ipc.js"; +import {Emitter, Event} from "../../base/common/event.js"; + +type ProxyRequest = { @@ -241,11 +241,11 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi private readonly _allReconnectionTokens: Set; private readonly _webClientServer: WebClientServer | null; + private readonly _proxyServer: ProxyServer | null; - private readonly _webEndpointOriginChecker = WebEndpointOriginChecker.create(this._productService); + private readonly _webEndpointOriginChecker: WebEndpointOriginChecker; - private readonly _serverRootPath: string; -@@ -92,12 +95,24 @@ class RemoteExtensionHostAgentServer ext - ? this._instantiationService.createInstance(WebClientServer, this._connectionToken, serverBasePath ?? '/', this._serverRootPath) + private readonly _serverBasePath: string | undefined; +@@ -99,12 +102,24 @@ class RemoteExtensionHostAgentServer ext + ? this._instantiationService.createInstance(WebClientServer, this._connectionToken, serverBasePath ?? '/', this._serverProductPath) : null ); + this._proxyServer = ( @@ -269,7 +269,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi // Only serve GET requests if (req.method !== 'GET') { return serveError(req, res, 405, `Unsupported method ${req.method}`); -@@ -122,7 +137,6 @@ class RemoteExtensionHostAgentServer ext +@@ -133,7 +148,6 @@ class RemoteExtensionHostAgentServer ext // Custom health check endpoint if (pathname === '/healthz') { res.writeHead(200, { 'Content-Type': 'application/json' }); @@ -277,7 +277,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi return void res.end(JSON.stringify({ hasActiveConnections })); } -@@ -187,12 +201,17 @@ class RemoteExtensionHostAgentServer ext +@@ -198,12 +212,17 @@ class RemoteExtensionHostAgentServer ext return void res.end('Not found'); } @@ -296,7 +296,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi const query = url.parse(req.url, true).query; if (typeof query.reconnectionToken === 'string') { reconnectionToken = query.reconnectionToken; -@@ -530,6 +549,8 @@ class RemoteExtensionHostAgentServer ext +@@ -541,6 +560,8 @@ class RemoteExtensionHostAgentServer ext return this._rejectWebSocketConnection(logPrefix, protocol, `Unknown initial data received`); } @@ -305,7 +305,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensi } private async _createTunnel(protocol: PersistentProtocol, tunnelStartParams: ITunnelConnectionStartParams): Promise { -@@ -662,7 +683,7 @@ export interface IServerAPI { +@@ -673,7 +694,7 @@ export interface IServerAPI { /** * Do not remove!!. Called from server-main.js */ diff --git a/patches/web-server/remote-agent.diff b/patches/web-server/remote-agent.diff deleted file mode 100644 index 848776a0..00000000 --- a/patches/web-server/remote-agent.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts -=================================================================== ---- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts -+++ AWSCodeOSS/build/private/code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts -@@ -42,7 +42,7 @@ import { CacheControl, serveError, serve - import { createRequire } from 'node:module'; - const require = createRequire(import.meta.url); - --const SHUTDOWN_TIMEOUT = 5 * 60 * 1000; -+const SHUTDOWN_TIMEOUT = 60 * 1000; - - declare module vsda { - // the signer is a native module that for historical reasons uses a lower case class name diff --git a/patches/web-server/signature-verification.diff b/patches/web-server/signature-verification.diff new file mode 100644 index 00000000..575968df --- /dev/null +++ b/patches/web-server/signature-verification.diff @@ -0,0 +1,17 @@ +Disable extension signature verification that was enabled for Linux in v1.100. +It does not work since it depends on a closed-source proprietary package - @vscode/vsce-sign and it's not compatible with OpenVSX. + +Index: AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts +=================================================================== +--- AWSCodeOSS.orig/build/private/code-editor-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts ++++ AWSCodeOSS/build/private/code-editor-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts +@@ -339,8 +339,7 @@ export class ExtensionManagementService + + private async downloadExtension(extension: IGalleryExtension, operation: InstallOperation, verifySignature: boolean, clientTargetPlatform?: TargetPlatform): Promise<{ readonly location: URI; readonly verificationStatus: ExtensionSignatureVerificationCode | undefined }> { + if (verifySignature) { +- const value = this.configurationService.getValue(VerifyExtensionSignatureConfigKey); +- verifySignature = isBoolean(value) ? value : true; ++ verifySignature = false; + } + const { location, verificationStatus } = await this.extensionsDownloader.download(extension, operation, verifySignature, clientTargetPlatform); + const shouldRequireSignature = shouldRequireRepositorySignatureFor(extension.private, await this.extensionGalleryManifestService.getExtensionGalleryManifest()); diff --git a/patches/web-server/suppress-known-errors-build-integration.diff b/patches/web-server/suppress-known-errors-build-integration.diff index 9a68654b..82924645 100644 --- a/patches/web-server/suppress-known-errors-build-integration.diff +++ b/patches/web-server/suppress-known-errors-build-integration.diff @@ -2,9 +2,9 @@ Index: AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js =================================================================== --- AWSCodeOSS.orig/build/private/code-editor-src/build/gulpfile.reh.js +++ AWSCodeOSS/build/private/code-editor-src/build/gulpfile.reh.js -@@ -75,6 +75,8 @@ const serverResourceIncludes = [ +@@ -78,6 +78,8 @@ const serverResourceIncludes = [ 'out-build/vs/workbench/contrib/terminal/common/scripts/shellIntegration-login.zsh', - 'out-build/vs/workbench/contrib/terminal/common/scripts/fish_xdg_data/fish/vendor_conf.d/shellIntegration.fish', + 'out-build/vs/workbench/contrib/terminal/common/scripts/shellIntegration.fish', + // Error handler + 'out-build/vs/editor/common/errors/suppressedErrors.js' @@ -23,7 +23,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo + prevents Code OSS from crashing on error, but also prevents us from listening to + these errors. Here, we monkey patch console.error to allow reporting of Code OSS + error metrics to parent origin using window.postMessage. The parent origin which hosts -+ Code OSS in an iFrame is then responsible for processing Code OSS errors. ++ Code OSS in an iFrame is then responsible for processing Code OSS errors. + A more "correct" implementation would be to implement a custom Code OSS telemetry handler class. + --> + @@ -47,7 +47,7 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo + @@ -84,4 +84,4 @@ Index: AWSCodeOSS/build/private/code-editor-src/src/vs/code/browser/workbench/wo +