mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-10-31 10:41:57 +08:00 
			
		
		
		
	Compare commits
	
		
			10 Commits
		
	
	
		
			test-macos
			...
			dependabot
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 91004eb619 | |||
| b4b7430fc9 | |||
| 2028fbc5c2 | |||
| 13427813f7 | |||
| 89d709d423 | |||
| cd2651c462 | |||
| a0853c2454 | |||
| b7234cc9fe | |||
| d7a11313b5 | |||
| 5e2628c959 | 
							
								
								
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/basic-validation.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,4 +16,4 @@ jobs: | ||||
|     name: Basic validation | ||||
|     uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main | ||||
|     with: | ||||
|       node-version: '20.x' | ||||
|       node-version: '24.x' | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-dist.yml
									
									
									
									
										vendored
									
									
								
							| @ -16,4 +16,4 @@ jobs: | ||||
|     name: Check dist/ | ||||
|     uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main | ||||
|     with: | ||||
|       node-version: '20.x' | ||||
|       node-version: '24.x' | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @ -6,7 +6,7 @@ on: | ||||
|       - '**.md' | ||||
|   push: | ||||
|     branches: | ||||
|       - test-macos-x64-runner | ||||
|       - main | ||||
|       - releases/* | ||||
|     paths-ignore: | ||||
|       - '**.md' | ||||
|  | ||||
							
								
								
									
										16
									
								
								.github/workflows/proxy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/proxy.yml
									
									
									
									
										vendored
									
									
								
							| @ -25,15 +25,15 @@ jobs: | ||||
|     env: | ||||
|       https_proxy: http://squid-proxy:3128 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Clear tool cache | ||||
|         run: rm -rf $RUNNER_TOOL_CACHE/* | ||||
|       - name: Setup node 14 | ||||
|       - name: Setup node 24 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           node-version: 14.x | ||||
|           node-version: 24.x | ||||
|       - name: Verify node and npm | ||||
|         run: __tests__/verify-node.sh 14 | ||||
|         run: __tests__/verify-node.sh 24 | ||||
|  | ||||
|   test-bypass-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
| @ -41,12 +41,12 @@ jobs: | ||||
|       https_proxy: http://no-such-proxy:3128 | ||||
|       no_proxy: api.github.com,github.com,nodejs.org,registry.npmjs.org,*.s3.amazonaws.com,s3.amazonaws.com | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Clear tool cache | ||||
|         run: rm -rf $RUNNER_TOOL_CACHE/* | ||||
|       - name: Setup node 11 | ||||
|       - name: Setup node 24 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           node-version: 11 | ||||
|           node-version: 24 | ||||
|       - name: Verify node and npm | ||||
|         run: __tests__/verify-node.sh 11 | ||||
|         run: __tests__/verify-node.sh 24 | ||||
|  | ||||
| @ -14,7 +14,7 @@ jobs: | ||||
|  | ||||
|     steps: | ||||
|       - name: Checking out | ||||
|         uses: actions/checkout@v4 | ||||
|         uses: actions/checkout@v5 | ||||
|       - name: Publish | ||||
|         id: publish | ||||
|         uses: actions/publish-immutable-action@v0.0.4 | ||||
|  | ||||
| @ -22,7 +22,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Update the ${{ env.TAG_NAME }} tag | ||||
|         uses: actions/publish-action@v0.3.0 | ||||
|         uses: actions/publish-action@v0.4.0 | ||||
|         with: | ||||
|           source-tag: ${{ env.TAG_NAME }} | ||||
|           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/versions.yml
									
									
									
									
										vendored
									
									
								
							| @ -6,7 +6,7 @@ on: | ||||
|       - '**.md' | ||||
|   push: | ||||
|     branches: | ||||
|       - test-macos-x64-runner | ||||
|       - main | ||||
|       - releases/* | ||||
|     paths-ignore: | ||||
|       - '**.md' | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/cache" | ||||
| version: 4.0.3 | ||||
| version: 4.1.0 | ||||
| type: npm | ||||
| summary: Actions cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/cache | ||||
|  | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,185 +0,0 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin-framework" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: framework to create protoc plugins | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
							
								
								
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,186 +0,0 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, | ||||
|   Twirp, and more. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     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. | ||||
| notices: [] | ||||
							
								
								
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,207 +0,0 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/protoc" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: Installs the protocol buffer compiler "protoc" for you. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: Auto-generated Apache-2.0 license text | ||||
|   text: |2 | ||||
|                                      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 | ||||
|           (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 | ||||
|           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 | ||||
|  | ||||
|               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. | ||||
|  | ||||
|        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. | ||||
| notices: [] | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime-rpc" | ||||
| version: 2.9.5 | ||||
| version: 2.11.1 | ||||
| type: npm | ||||
| summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime" | ||||
| version: 2.9.5 | ||||
| version: 2.11.1 | ||||
| type: npm | ||||
| summary: Runtime library for code generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@types/node.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@types/node" | ||||
| version: 20.11.25 | ||||
| version: 24.1.0 | ||||
| type: npm | ||||
| summary: TypeScript definitions for node | ||||
| homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: semver | ||||
| version: 7.6.3 | ||||
| version: 7.7.2 | ||||
| type: npm | ||||
| summary: The semantic version parser used by npm. | ||||
| homepage: | ||||
							
								
								
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,239 +0,0 @@ | ||||
| --- | ||||
| name: typescript | ||||
| version: 3.9.10 | ||||
| type: npm | ||||
| summary: TypeScript is a language for application scale JavaScript development | ||||
| homepage: https://www.typescriptlang.org/ | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE.txt | ||||
|   text: "Apache License\n\nVersion 2.0, January 2004\n\nhttp://www.apache.org/licenses/ | ||||
|     \n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" | ||||
|     shall mean the terms and conditions for use, reproduction, and distribution as | ||||
|     defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the | ||||
|     copyright owner or entity authorized by the copyright owner that is granting the | ||||
|     License.\n\n\"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.\n\n\"You\" | ||||
|     (or \"Your\") shall mean an individual or Legal Entity exercising permissions | ||||
|     granted by this License.\n\n\"Source\" form shall mean the preferred form for | ||||
|     making modifications, including but not limited to software source code, documentation | ||||
|     source, and configuration files.\n\n\"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.\n\n\"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).\n\n\"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.\n\n\"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.\"\n\n\"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.\n\n2. | ||||
|     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.\n\n3. 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.\n\n4. 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:\n\nYou | ||||
|     must give any other recipients of the Work or Derivative Works a copy of this | ||||
|     License; and\n\nYou must cause any modified files to carry prominent notices stating | ||||
|     that You changed the files; and\n\nYou 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\n\nIf 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.\n\n5. 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.\n\n6. 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.\n\n7. 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.\n\n8. 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.\n\n9. 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.\n\nEND | ||||
|     OF TERMS AND CONDITIONS\n" | ||||
| notices: | ||||
| - sources: AUTHORS.md | ||||
|   text: "TypeScript is authored by:\r\n\r\n - 0verk1ll\r\n - Abubaker Bashir\r\n - | ||||
|     Adam Freidin\r\n - Adam Postma\r\n - Adi Dahiya\r\n - Aditya Daflapurkar\r\n - | ||||
|     Adnan Chowdhury\r\n - Adrian Leonhard\r\n - Adrien Gibrat\r\n - Ahmad Farid\r\n | ||||
|     - Ajay Poshak\r\n - Alan Agius\r\n - Alan Pierce\r\n - Alessandro Vergani\r\n | ||||
|     - Alex Chugaev\r\n - Alex Eagle\r\n - Alex Khomchenko\r\n - Alex Ryan\r\n - Alexander\r\n | ||||
|     - Alexander Kuvaev\r\n - Alexander Rusakov\r\n - Alexander Tarasyuk\r\n - Ali | ||||
|     Sabzevari\r\n - Aluan Haddad\r\n - amaksimovich2\r\n - Anatoly Ressin\r\n - Anders | ||||
|     Hejlsberg\r\n - Anders Kaseorg\r\n - Andre Sutherland\r\n - Andreas Martin\r\n | ||||
|     - Andrej Baran\r\n - Andrew\r\n - Andrew Branch\r\n - Andrew Casey\r\n - Andrew | ||||
|     Faulkner\r\n - Andrew Ochsner\r\n - Andrew Stegmaier\r\n - Andrew Z Allen\r\n | ||||
|     - Andrey Roenko\r\n - Andrii Dieiev\r\n - András Parditka\r\n - Andy Hanson\r\n | ||||
|     - Anil Anar\r\n - Anix\r\n - Anton Khlynovskiy\r\n - Anton Tolmachev\r\n - Anubha | ||||
|     Mathur\r\n - AnyhowStep\r\n - Armando Aguirre\r\n - Arnaud Tournier\r\n - Arnav | ||||
|     Singh\r\n - Arpad Borsos\r\n - Artem Tyurin\r\n - Arthur Ozga\r\n - Asad Saeeduddin\r\n | ||||
|     - Austin Cummings\r\n - Avery Morin\r\n - Aziz Khambati\r\n - Basarat Ali Syed\r\n | ||||
|     - @begincalendar\r\n - Ben Duffield\r\n - Ben Lichtman\r\n - Ben Mosher\r\n - | ||||
|     Benedikt Meurer\r\n - Benjamin Bock\r\n - Benjamin Lichtman\r\n - Benny Neugebauer\r\n | ||||
|     - BigAru\r\n - Bill Ticehurst\r\n - Blaine Bublitz\r\n - Blake Embrey\r\n - @bluelovers\r\n | ||||
|     - @bootstraponline\r\n - Bowden Kelly\r\n - Bowden Kenny\r\n - Brad Zacher\r\n | ||||
|     - Brandon Banks\r\n - Brandon Bloom\r\n - Brandon Slade\r\n - Brendan Kenny\r\n | ||||
|     - Brett Mayen\r\n - Brian Terlson\r\n - Bryan Forbes\r\n - Caitlin Potter\r\n | ||||
|     - Caleb Sander\r\n - Cameron Taggart\r\n - @cedvdb\r\n - Charles\r\n - Charles | ||||
|     Pierce\r\n - Charly POLY\r\n - Chris Bubernak\r\n - Chris Patterson\r\n - christian\r\n | ||||
|     - Christophe Vidal\r\n - Chuck Jazdzewski\r\n - Clay Miller\r\n - Colby Russell\r\n | ||||
|     - Colin Snover\r\n - Collins Abitekaniza\r\n - Connor Clark\r\n - Cotton Hou\r\n | ||||
|     - csigs\r\n - Cyrus Najmabadi\r\n - Dafrok Zhang\r\n - Dahan Gong\r\n - Daiki | ||||
|     Nishikawa\r\n - Dan Corder\r\n - Dan Freeman\r\n - Dan Quirk\r\n - Dan Rollo\r\n | ||||
|     - Daniel Gooss\r\n - Daniel Imms\r\n - Daniel Krom\r\n - Daniel Król\r\n - Daniel | ||||
|     Lehenbauer\r\n - Daniel Rosenwasser\r\n - David Li\r\n - David Sheldrick\r\n - | ||||
|     David Sherret\r\n - David Souther\r\n - David Staheli\r\n - Denis Nedelyaev\r\n | ||||
|     - Derek P Sifford\r\n - Dhruv Rajvanshi\r\n - Dick van den Brink\r\n - Diogo Franco | ||||
|     (Kovensky)\r\n - Dirk Bäumer\r\n - Dirk Holtwick\r\n - Dmitrijs Minajevs\r\n - | ||||
|     Dom Chen\r\n - Donald Pipowitch\r\n - Doug Ilijev\r\n - dreamran43@gmail.com\r\n | ||||
|     - @e-cloud\r\n - Ecole Keine\r\n - Eddie Jaoude\r\n - Edward Thomson\r\n - EECOLOR\r\n | ||||
|     - Eli Barzilay\r\n - Elizabeth Dinella\r\n - Ely Alamillo\r\n - Eric Grube\r\n | ||||
|     - Eric Tsang\r\n - Erik Edrosa\r\n - Erik McClenney\r\n - Esakki Raj\r\n - Ethan | ||||
|     Resnick\r\n - Ethan Rubio\r\n - Eugene Timokhov\r\n - Evan Cahill\r\n - Evan Martin\r\n | ||||
|     - Evan Sebastian\r\n - ExE Boss\r\n - Eyas Sharaiha\r\n - Fabian Cook\r\n - @falsandtru\r\n | ||||
|     - Filipe Silva\r\n - @flowmemo\r\n - Forbes Lindesay\r\n - Francois Hendriks\r\n | ||||
|     - Francois Wouts\r\n - Frank Wallis\r\n - František Žiacik\r\n - Frederico Bittencourt\r\n | ||||
|     - fullheightcoding\r\n - Gabe Moothart\r\n - Gabriel Isenberg\r\n - Gabriela Araujo | ||||
|     Britto\r\n - Gabriela Britto\r\n - gb714us\r\n - Gilad Peleg\r\n - Godfrey Chan\r\n | ||||
|     - Gorka Hernández Estomba\r\n - Graeme Wicksted\r\n - Guillaume Salles\r\n - Guy | ||||
|     Bedford\r\n - hafiz\r\n - Halasi Tamás\r\n - Hendrik Liebau\r\n - Henry Mercer\r\n | ||||
|     - Herrington Darkholme\r\n - Hoang Pham\r\n - Holger Jeromin\r\n - Homa Wong\r\n | ||||
|     - Hye Sung Jung\r\n - Iain Monro\r\n - @IdeaHunter\r\n - Igor Novozhilov\r\n - | ||||
|     Igor Oleinikov\r\n - Ika\r\n - iliashkolyar\r\n - IllusionMH\r\n - Ingvar Stepanyan\r\n | ||||
|     - Ingvar Stepanyan\r\n - Isiah Meadows\r\n - ispedals\r\n - Ivan Enderlin\r\n | ||||
|     - Ivo Gabe de Wolff\r\n - Iwata Hidetaka\r\n - Jack Bates\r\n - Jack Williams\r\n | ||||
|     - Jake Boone\r\n - Jakub Korzeniowski\r\n - Jakub Młokosiewicz\r\n - James Henry\r\n | ||||
|     - James Keane\r\n - James Whitney\r\n - Jan Melcher\r\n - Jason Freeman\r\n - | ||||
|     Jason Jarrett\r\n - Jason Killian\r\n - Jason Ramsay\r\n - JBerger\r\n - Jean | ||||
|     Pierre\r\n - Jed Mao\r\n - Jeff Wilcox\r\n - Jeffrey Morlan\r\n - Jesse Schalken\r\n | ||||
|     - Jesse Trinity\r\n - Jing Ma\r\n - Jiri Tobisek\r\n - Joe Calzaretta\r\n - Joe | ||||
|     Chung\r\n - Joel Day\r\n - Joey Watts\r\n - Johannes Rieken\r\n - John Doe\r\n | ||||
|     - John Vilk\r\n - Jonathan Bond-Caron\r\n - Jonathan Park\r\n - Jonathan Toland\r\n | ||||
|     - Jordan Harband\r\n - Jordi Oliveras Rovira\r\n - Joscha Feth\r\n - Joseph Wunderlich\r\n | ||||
|     - Josh Abernathy\r\n - Josh Goldberg\r\n - Josh Kalderimis\r\n - Josh Soref\r\n | ||||
|     - Juan Luis Boya García\r\n - Julian Williams\r\n - Justin Bay\r\n - Justin Johansson\r\n | ||||
|     - jwbay\r\n - K. Preißer\r\n - Kagami Sascha Rosylight\r\n - Kanchalai Tanglertsampan\r\n | ||||
|     - karthikkp\r\n - Kate Miháliková\r\n - Keen Yee Liau\r\n - Keith Mashinter\r\n | ||||
|     - Ken Howard\r\n - Kenji Imamula\r\n - Kerem Kat\r\n - Kevin Donnelly\r\n - Kevin | ||||
|     Gibbons\r\n - Kevin Lang\r\n - Khải\r\n - Kitson Kelly\r\n - Klaus Meinhardt\r\n | ||||
|     - Kris Zyp\r\n - Kyle Kelley\r\n - Kārlis Gaņģis\r\n - laoxiong\r\n - Leon Aves\r\n | ||||
|     - Limon Monte\r\n - Lorant Pinter\r\n - Lucien Greathouse\r\n - Luka Hartwig\r\n | ||||
|     - Lukas Elmer\r\n - M.Yoshimura\r\n - Maarten Sijm\r\n - Magnus Hiie\r\n - Magnus | ||||
|     Kulke\r\n - Manish Bansal\r\n - Manish Giri\r\n - Marcus Noble\r\n - Marin Marinov\r\n | ||||
|     - Marius Schulz\r\n - Markus Johnsson\r\n - Markus Wolf\r\n - Martin\r\n - Martin | ||||
|     Hiller\r\n - Martin Johns\r\n - Martin Probst\r\n - Martin Vseticka\r\n - Martyn | ||||
|     Janes\r\n - Masahiro Wakame\r\n - Mateusz Burzyński\r\n - Matt Bierner\r\n - Matt | ||||
|     McCutchen\r\n - Matt Mitchell\r\n - Matthew Aynalem\r\n - Matthew Miller\r\n - | ||||
|     Mattias Buelens\r\n - Max Heiber\r\n - Maxwell Paul Brickner\r\n - @meyer\r\n | ||||
|     - Micah Zoltu\r\n - @micbou\r\n - Michael\r\n - Michael Crane\r\n - Michael Henderson\r\n | ||||
|     - Michael Tamm\r\n - Michael Tang\r\n - Michal Przybys\r\n - Mike Busyrev\r\n | ||||
|     - Mike Morearty\r\n - Milosz Piechocki\r\n - Mine Starks\r\n - Minh Nguyen\r\n | ||||
|     - Mohamed Hegazy\r\n - Mohsen Azimi\r\n - Mukesh Prasad\r\n - Myles Megyesi\r\n | ||||
|     - Nathan Day\r\n - Nathan Fenner\r\n - Nathan Shively-Sanders\r\n - Nathan Yee\r\n | ||||
|     - ncoley\r\n - Nicholas Yang\r\n - Nicu Micleușanu\r\n - @nieltg\r\n - Nima Zahedi\r\n | ||||
|     - Noah Chen\r\n - Noel Varanda\r\n - Noel Yoo\r\n - Noj Vek\r\n - nrcoley\r\n | ||||
|     - Nuno Arruda\r\n - Oleg Mihailik\r\n - Oleksandr Chekhovskyi\r\n - Omer Sheikh\r\n | ||||
|     - Orta Therox\r\n - Orta Therox\r\n - Oskar Grunning\r\n - Oskar Segersva¨rd\r\n | ||||
|     - Oussama Ben Brahim\r\n - Ozair Patel\r\n - Patrick McCartney\r\n - Patrick Zhong\r\n | ||||
|     - Paul Koerbitz\r\n - Paul van Brenk\r\n - @pcbro\r\n - Pedro Maltez\r\n - Pete | ||||
|     Bacon Darwin\r\n - Peter Burns\r\n - Peter Šándor\r\n - Philip Pesca\r\n - Philippe | ||||
|     Voinov\r\n - Pi Lanningham\r\n - Piero Cangianiello\r\n - Pierre-Antoine Mills\r\n | ||||
|     - @piloopin\r\n - Pranav Senthilnathan\r\n - Prateek Goel\r\n - Prateek Nayak\r\n | ||||
|     - Prayag Verma\r\n - Priyantha Lankapura\r\n - @progre\r\n - Punya Biswal\r\n | ||||
|     - r7kamura\r\n - Rado Kirov\r\n - Raj Dosanjh\r\n - rChaser53\r\n - Reiner Dolp\r\n | ||||
|     - Remo H. Jansen\r\n - @rflorian\r\n - Rhys van der Waerden\r\n - @rhysd\r\n - | ||||
|     Ricardo N Feliciano\r\n - Richard Karmazín\r\n - Richard Knoll\r\n - Roger Spratley\r\n | ||||
|     - Ron Buckton\r\n - Rostislav Galimsky\r\n - Rowan Wyborn\r\n - rpgeeganage\r\n | ||||
|     - Ruwan Pradeep Geeganage\r\n - Ryan Cavanaugh\r\n - Ryan Clarke\r\n - Ryohei | ||||
|     Ikegami\r\n - Salisbury, Tom\r\n - Sam Bostock\r\n - Sam Drugan\r\n - Sam El-Husseini\r\n | ||||
|     - Sam Lanning\r\n - Sangmin Lee\r\n - Sanket Mishra\r\n - Sarangan Rajamanickam\r\n | ||||
|     - Sasha Joseph\r\n - Sean Barag\r\n - Sergey Rubanov\r\n - Sergey Shandar\r\n | ||||
|     - Sergey Tychinin\r\n - Sergii Bezliudnyi\r\n - Sergio Baidon\r\n - Sharon Rolel\r\n | ||||
|     - Sheetal Nandi\r\n - Shengping Zhong\r\n - Sheon Han\r\n - Shyyko Serhiy\r\n | ||||
|     - Siddharth Singh\r\n - sisisin\r\n - Slawomir Sadziak\r\n - Solal Pirelli\r\n | ||||
|     - Soo Jae Hwang\r\n - Stan Thomas\r\n - Stanislav Iliev\r\n - Stanislav Sysoev\r\n | ||||
|     - Stas Vilchik\r\n - Stephan Ginthör\r\n - Steve Lucco\r\n - @styfle\r\n - Sudheesh | ||||
|     Singanamalla\r\n - Suhas\r\n - Suhas Deshpande\r\n - superkd37\r\n - Sébastien | ||||
|     Arod\r\n - @T18970237136\r\n - @t_\r\n - Tan Li Hau\r\n - Tapan Prakash\r\n - | ||||
|     Taras Mankovski\r\n - Tarik Ozket\r\n - Tetsuharu Ohzeki\r\n - The Gitter Badger\r\n | ||||
|     - Thomas den Hollander\r\n - Thorsten Ball\r\n - Tien Hoanhtien\r\n - Tim Lancina\r\n | ||||
|     - Tim Perry\r\n - Tim Schaub\r\n - Tim Suchanek\r\n - Tim Viiding-Spader\r\n - | ||||
|     Tingan Ho\r\n - Titian Cernicova-Dragomir\r\n - tkondo\r\n - Todd Thomson\r\n | ||||
|     - togru\r\n - Tom J\r\n - Torben Fitschen\r\n - Toxyxer\r\n - @TravCav\r\n - Troy | ||||
|     Tae\r\n - TruongSinh Tran-Nguyen\r\n - Tycho Grouwstra\r\n - uhyo\r\n - Vadi Taslim\r\n | ||||
|     - Vakhurin Sergey\r\n - Valera Rozuvan\r\n - Vilic Vane\r\n - Vimal Raghubir\r\n | ||||
|     - Vladimir Kurchatkin\r\n - Vladimir Matveev\r\n - Vyacheslav Pukhanov\r\n - Wenlu | ||||
|     Wang\r\n - Wes Souza\r\n - Wesley Wigham\r\n - William Orr\r\n - Wilson Hobbs\r\n | ||||
|     - xiaofa\r\n - xl1\r\n - Yacine Hmito\r\n - Yang Cao\r\n - York Yao\r\n - @yortus\r\n | ||||
|     - Yoshiki Shibukawa\r\n - Yuichi Nukiyama\r\n - Yuval Greenfield\r\n - Yuya Tanaka\r\n | ||||
|     - Z\r\n - Zeeshan Ahmed\r\n - Zev Spitz\r\n - Zhengbo Li\r\n - Zixiang Li\r\n | ||||
|     - @Zzzen\r\n - 阿卡琳" | ||||
							
								
								
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								.licenses/npm/undici-types.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,15 +1,17 @@ | ||||
| --- | ||||
| name: undici-types | ||||
| version: 5.26.5 | ||||
| version: 7.8.0 | ||||
| type: npm | ||||
| summary: A stand-alone types package for Undici | ||||
| homepage: https://undici.nodejs.org | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: Auto-generated MIT license text | ||||
| - sources: LICENSE | ||||
|   text: | | ||||
|     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 | ||||
|  | ||||
							
								
								
									
										71
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								README.md
									
									
									
									
									
								
							| @ -12,13 +12,27 @@ This action provides the following functionality for GitHub Actions users: | ||||
| - Registering problem matchers for error output | ||||
| - Configuring authentication for GPR or npm | ||||
|  | ||||
| ## Breaking changes in V6 | ||||
|  | ||||
| - Caching is now automatically enabled for npm projects when either the `devEngines.packageManager` field or the top-level `packageManager` field in `package.json` is set to `npm`. For other package managers, such as Yarn and pnpm, caching is disabled by default and must be configured manually using the `cache` input. | ||||
|  | ||||
| ## Breaking changes in V5  | ||||
|  | ||||
| - Enabled caching by default with package manager detection if no cache input is provided. | ||||
|   > For workflows with elevated privileges or access to sensitive information, we recommend disabling automatic caching by setting `package-manager-cache: false` when caching is not needed for secure operation. | ||||
|  | ||||
| - Upgraded action from node20 to node24. | ||||
|   > Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. [See Release Notes](https://github.com/actions/runner/releases/tag/v2.327.1) | ||||
|  | ||||
| For more details, see the full release notes on the [releases page](https://github.com/actions/setup-node/releases/v5.0.0) | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| See [action.yml](action.yml) | ||||
|  | ||||
| <!-- start usage --> | ||||
| ```yaml | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     # Version Spec of the version to use in SemVer notation. | ||||
|     # It also admits such aliases as lts/*, latest, nightly and canary builds | ||||
| @ -57,6 +71,11 @@ See [action.yml](action.yml) | ||||
|     # Default: '' | ||||
|     cache: '' | ||||
|  | ||||
|     # Controls automatic caching for npm. By default, caching for npm is enabled if either the devEngines.packageManager field or the top-level packageManager field in package.json specifies npm and no explicit cache input is provided. | ||||
|     # To disable automatic caching for npm, set package-manager-cache to false. | ||||
|     # default: true | ||||
|     package-manager-cache: true | ||||
|  | ||||
|     # Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc.  | ||||
|     # It will generate hash from the target file for primary key. It works only If cache is specified.   | ||||
|     # Supports wildcards or a list of file names for caching multiple dependencies. | ||||
| @ -98,10 +117,10 @@ See [action.yml](action.yml) | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: 18 | ||||
|     node-version: 24 | ||||
| - run: npm ci | ||||
| - run: npm test | ||||
| ``` | ||||
| @ -118,9 +137,9 @@ The `node-version` input supports the Semantic Versioning Specification, for mor | ||||
|  | ||||
| Examples: | ||||
|  | ||||
|  - Major versions: `18`, `20` | ||||
|  - More specific versions: `10.15`, `16.15.1` , `18.4.0` | ||||
|  - NVM LTS syntax: `lts/erbium`, `lts/fermium`, `lts/*`, `lts/-n` | ||||
|  - Major versions: `22`, `24` | ||||
|  - More specific versions: `20.19`, `22.17.1` , `24.8.0` | ||||
|  - NVM LTS syntax: `lts/iron`, `lts/jod`, `lts/*`, `lts/-n` | ||||
|  - Latest release: `*` or `latest`/`current`/`node` | ||||
|  | ||||
| **Note:** Like the other values, `*` will get the latest [locally-cached Node.js version](https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md#nodejs), or the latest version from [actions/node-versions](https://github.com/actions/node-versions/blob/main/versions-manifest.json), depending on the [`check-latest`](docs/advanced-usage.md#check-latest-version) input. | ||||
| @ -135,7 +154,7 @@ It's **always** recommended to commit the lockfile of your package manager for s | ||||
|  | ||||
| ## Caching global packages data | ||||
|  | ||||
| The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under the hood for caching global packages data but requires less configuration settings. Supported package managers are `npm`, `yarn`, `pnpm` (v6.10+). The `cache` input is optional, and caching is turned off by default. | ||||
| The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under the hood for caching global packages data but requires less configuration settings. Supported package managers are `npm`, `yarn`, `pnpm` (v6.10+). The `cache` input is optional. | ||||
|  | ||||
| The action defaults to search for the dependency file (`package-lock.json`, `npm-shrinkwrap.json` or `yarn.lock`) in the repository root, and uses its hash as a part of the cache key. Use `cache-dependency-path` for cases when multiple dependency files are used, or they are located in different subdirectories. | ||||
|  | ||||
| @ -147,10 +166,10 @@ See the examples of using cache for `yarn`/`pnpm` and `cache-dependency-path` in | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: 20 | ||||
|     node-version: 24 | ||||
|     cache: 'npm' | ||||
| - run: npm ci | ||||
| - run: npm test | ||||
| @ -160,16 +179,30 @@ steps: | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: 20 | ||||
|     node-version: 24 | ||||
|     cache: 'npm' | ||||
|     cache-dependency-path: subdir/package-lock.json | ||||
| - run: npm ci | ||||
| - run: npm test | ||||
| ``` | ||||
|  | ||||
| Caching for npm dependencies is automatically enabled when your `package.json` contains either `devEngines.packageManager` field or top-level `packageManager` field set to `npm`, and no explicit cache input is provided. | ||||
|  | ||||
| This behavior is controlled by the `package-manager-cache` input, which defaults to `true`. To turn off automatic caching, set `package-manager-cache` to `false`. | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     package-manager-cache: false | ||||
| - run: npm ci | ||||
| ``` | ||||
| > If your `package.json` file does not include a `packageManager` field set to `npm`, caching will be disabled unless you explicitly enable it. For workflows with elevated privileges or access to sensitive information, we recommend disabling automatic caching for npm by setting `package-manager-cache: false` when caching is not required for secure operation. | ||||
|  | ||||
| ## Matrix Testing | ||||
|  | ||||
| ```yaml | ||||
| @ -178,12 +211,12 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         node: [ 14, 16, 18 ] | ||||
|         node: [ 20, 22, 24 ] | ||||
|     name: Node ${{ matrix.node }} sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup node | ||||
|         uses: actions/setup-node@v4 | ||||
|         uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: ${{ matrix.node }} | ||||
|       - run: npm ci | ||||
| @ -197,10 +230,10 @@ jobs: | ||||
| To get a higher rate limit, you can [generate a personal access token on github.com](https://github.com/settings/tokens/new) and pass it as the `token` input for the action: | ||||
|  | ||||
| ```yaml | ||||
| uses: actions/setup-node@v4 | ||||
| uses: actions/setup-node@v6 | ||||
| with: | ||||
|   token: ${{ secrets.GH_DOTCOM_TOKEN }} | ||||
|   node-version: 20 | ||||
|   node-version: 24 | ||||
| ``` | ||||
|  | ||||
| If the runner is not able to access github.com, any Nodejs versions requested during a workflow run must come from the runner's tool cache. See "[Setting up the tool cache on self-hosted runners without internet access](https://docs.github.com/en/enterprise-server@3.2/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access)" for more information. | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| v20 | ||||
| v24 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| nodejs 20.0.0 | ||||
| nodejs 24.0.0 | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| node 20.0.0 | ||||
| node 24.0.0 | ||||
|  | ||||
| @ -3,6 +3,6 @@ | ||||
|     "node": "^14.0.0" | ||||
|   }, | ||||
|   "volta": { | ||||
|     "node": "20.0.0" | ||||
|     "node": "24.0.0" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| { | ||||
|   "engines": { | ||||
|     "node": "^20.0.0" | ||||
|     "node": "^24.0.0" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -20,6 +20,7 @@ describe('main tests', () => { | ||||
|  | ||||
|   let infoSpy: jest.SpyInstance; | ||||
|   let warningSpy: jest.SpyInstance; | ||||
|   let saveStateSpy: jest.SpyInstance; | ||||
|   let inSpy: jest.SpyInstance; | ||||
|   let setOutputSpy: jest.SpyInstance; | ||||
|   let startGroupSpy: jest.SpyInstance; | ||||
| @ -53,6 +54,8 @@ describe('main tests', () => { | ||||
|     setOutputSpy.mockImplementation(() => {}); | ||||
|     warningSpy = jest.spyOn(core, 'warning'); | ||||
|     warningSpy.mockImplementation(() => {}); | ||||
|     saveStateSpy = jest.spyOn(core, 'saveState'); | ||||
|     saveStateSpy.mockImplementation(() => {}); | ||||
|     startGroupSpy = jest.spyOn(core, 'startGroup'); | ||||
|     startGroupSpy.mockImplementation(() => {}); | ||||
|     endGroupSpy = jest.spyOn(core, 'endGroup'); | ||||
| @ -280,4 +283,149 @@ describe('main tests', () => { | ||||
|       ); | ||||
|     }); | ||||
|   }); | ||||
|  | ||||
|   describe('cache feature tests', () => { | ||||
|     it('Should enable caching when packageManager is npm and cache input is not provided', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       isCacheActionAvailable.mockImplementation(() => true); | ||||
|  | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           packageManager: 'npm@10.8.2' | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).toHaveBeenCalledWith(expect.anything(), 'npm'); | ||||
|     }); | ||||
|  | ||||
|     it('Should enable caching when devEngines.packageManager.name is "npm" and cache input is not provided', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       isCacheActionAvailable.mockImplementation(() => true); | ||||
|  | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           devEngines: { | ||||
|             packageManager: {name: 'npm'} | ||||
|           } | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).toHaveBeenCalledWith(expect.anything(), 'npm'); | ||||
|     }); | ||||
|  | ||||
|     it('Should enable caching when devEngines.packageManager is array and one entry has name "npm"', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       isCacheActionAvailable.mockImplementation(() => true); | ||||
|  | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           devEngines: { | ||||
|             packageManager: [{name: 'pnpm'}, {name: 'npm'}] | ||||
|           } | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).toHaveBeenCalledWith(expect.anything(), 'npm'); | ||||
|     }); | ||||
|  | ||||
|     it('Should not enable caching if packageManager is "pnpm@8.0.0" and cache input is not provided', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           packageManager: 'pnpm@8.0.0' | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).not.toHaveBeenCalled(); | ||||
|     }); | ||||
|  | ||||
|     it('Should not enable caching if devEngines.packageManager.name is "pnpm"', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           devEngines: { | ||||
|             packageManager: {name: 'pnpm'} | ||||
|           } | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).not.toHaveBeenCalled(); | ||||
|     }); | ||||
|  | ||||
|     it('Should not enable caching if devEngines.packageManager is array without "npm"', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           devEngines: { | ||||
|             packageManager: [{name: 'pnpm'}, {name: 'yarn'}] | ||||
|           } | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).not.toHaveBeenCalled(); | ||||
|     }); | ||||
|  | ||||
|     it('Should not enable caching if packageManager field is missing in package.json and cache input is not provided', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = ''; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       const readFileSpy = jest.spyOn(fs, 'readFileSync'); | ||||
|       readFileSpy.mockImplementation(() => | ||||
|         JSON.stringify({ | ||||
|           // packageManager field is not present | ||||
|         }) | ||||
|       ); | ||||
|  | ||||
|       await main.run(); | ||||
|  | ||||
|       expect(saveStateSpy).not.toHaveBeenCalled(); | ||||
|     }); | ||||
|  | ||||
|     it('Should skip caching when package-manager-cache is false', async () => { | ||||
|       inputs['package-manager-cache'] = 'false'; | ||||
|       inputs['cache'] = ''; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       await main.run(); | ||||
|       expect(saveStateSpy).not.toHaveBeenCalled(); | ||||
|     }); | ||||
|  | ||||
|     it('Should enable caching with cache input explicitly provided', async () => { | ||||
|       inputs['package-manager-cache'] = 'true'; | ||||
|       inputs['cache'] = 'npm'; | ||||
|       inSpy.mockImplementation(name => inputs[name]); | ||||
|       isCacheActionAvailable.mockImplementation(() => true); | ||||
|       await main.run(); | ||||
|       expect(saveStateSpy).toHaveBeenCalledWith(expect.anything(), 'npm'); | ||||
|     }); | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| @ -7,8 +7,13 @@ fi | ||||
|  | ||||
| node_version="$(node --version)" | ||||
| echo "Found node version '$node_version'" | ||||
| if [ -z "$(echo $node_version | grep --fixed-strings v$1)" ]; then | ||||
|   echo "Unexpected version" | ||||
|  | ||||
| # Extract the major version from the node version (remove the 'v' prefix) | ||||
| actual_major_version=$(echo $node_version | sed -E 's/^v([0-9]+)\..*/\1/') | ||||
| expected_major_version=$(echo $1 | sed -E 's/^([0-9]+)\..*/\1/') # Extract major version from argument | ||||
|  | ||||
| if [ "$actual_major_version" != "$expected_major_version" ]; then | ||||
|   echo "Expected Node.js $expected_major_version.x.x but found $node_version" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
|  | ||||
| @ -23,6 +23,9 @@ inputs: | ||||
|     default: ${{ github.server_url == 'https://github.com' && github.token || '' }} | ||||
|   cache: | ||||
|     description: 'Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm.' | ||||
|   package-manager-cache: | ||||
|     description: 'Set to false to disable automatic caching. By default, caching is enabled when either devEngines.packageManager or the top-level packageManager field in package.json specifies npm as the package manager.' | ||||
|     default: true | ||||
|   cache-dependency-path: | ||||
|     description: 'Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. Supports wildcards or a list of file names for caching multiple dependencies.' | ||||
|   mirror: | ||||
| @ -37,7 +40,7 @@ outputs: | ||||
|   node-version: | ||||
|     description: 'The installed node version.' | ||||
| runs: | ||||
|   using: 'node20' | ||||
|   using: 'node24' | ||||
|   main: 'dist/setup/index.js' | ||||
|   post: 'dist/cache-save/index.js' | ||||
|   post-if: success() | ||||
|  | ||||
							
								
								
									
										1467
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1467
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4847
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4847
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -45,10 +45,10 @@ If `check-latest` is set to `true`, the action first checks if the cached versio | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '16' | ||||
|     node-version: '24' | ||||
|     check-latest: true | ||||
| - run: npm ci | ||||
| - run: npm test | ||||
| @ -63,8 +63,8 @@ See [supported version syntax](https://github.com/actions/setup-node#supported-v | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version-file: '.nvmrc' | ||||
| - run: npm ci | ||||
| @ -97,10 +97,10 @@ jobs: | ||||
|     runs-on: windows-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '14' | ||||
|           node-version: '24' | ||||
|           architecture: 'x64' # optional, x64 or x86. If not specified, x64 will be used by default | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| @ -118,10 +118,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '20.0.0-v8-canary' # it will install the latest v8 canary release for node 20.0.0 | ||||
|           node-version: '24.0.0-v8-canary' # it will install the latest v8 canary release for node 24.0.0 | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -133,10 +133,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '20-v8-canary' # it will install the latest v8 canary release for node 20 | ||||
|           node-version: '24-v8-canary' # it will install the latest v8 canary release for node 24 | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -149,10 +149,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: 'v20.1.1-v8-canary20221103f7e2421e91' | ||||
|           node-version: 'v24.0.0-v8-canary2025030537242e55ac' | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -169,10 +169,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '16-nightly' # it will install the latest nightly release for node 16 | ||||
|           node-version: '24-nightly' # it will install the latest nightly release for node 24 | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -185,10 +185,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '16.0.0-nightly' # it will install the latest nightly release for node 16.0.0 | ||||
|           node-version: '24.0.0-nightly' # it will install the latest nightly release for node 24.0.0 | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -201,10 +201,10 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '16.0.0-nightly20210420a0261d231c' | ||||
|           node-version: '24.0.0-nightly202505066102159fa1' | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
| @ -219,27 +219,28 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Node sample | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: '16.0.0-rc.1' | ||||
|           node-version: '24.0.0-rc.4' | ||||
|       - run: npm ci | ||||
|       - run: npm test | ||||
| ``` | ||||
|  | ||||
| **Note:** Unlike nightly versions, which support version range specifiers, you must specify the exact version for a release candidate: `16.0.0-rc.1`. | ||||
| **Note:** Unlike nightly versions, which support version range specifiers, you must specify the exact version for a release candidate: `24.0.0-rc.4`. | ||||
|  | ||||
| ## Caching packages data | ||||
| The action follows [actions/cache](https://github.com/actions/cache/blob/main/examples.md#node---npm) guidelines, and caches global cache on the machine instead of `node_modules`, so cache can be reused between different Node.js versions. | ||||
|  | ||||
| **Caching yarn dependencies:** | ||||
| Yarn caching handles both yarn versions: 1 or 2. | ||||
| Yarn caching handles both Yarn Classic (v1) and Yarn Berry (v2, v3, v4+). | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14' | ||||
|     node-version: '24' | ||||
|     cache: 'yarn' | ||||
| - run: yarn install --frozen-lockfile # optional, --immutable | ||||
| - run: yarn test | ||||
| @ -255,13 +256,13 @@ steps: | ||||
| # NOTE: pnpm caching support requires pnpm version >= 6.10.0 | ||||
|  | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: pnpm/action-setup@v2 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: pnpm/action-setup@v4 | ||||
|   with: | ||||
|     version: 6.32.9 | ||||
| - uses: actions/setup-node@v4 | ||||
|     version: 10 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14' | ||||
|     node-version: '24' | ||||
|     cache: 'pnpm' | ||||
| - run: pnpm install | ||||
| - run: pnpm test | ||||
| @ -274,10 +275,10 @@ steps: | ||||
| **Using wildcard patterns to cache dependencies** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14' | ||||
|     node-version: '24' | ||||
|     cache: 'npm' | ||||
|     cache-dependency-path: '**/package-lock.json' | ||||
| - run: npm ci | ||||
| @ -287,10 +288,10 @@ steps: | ||||
| **Using a list of file paths to cache dependencies** | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14' | ||||
|     node-version: '24' | ||||
|     cache: 'npm' | ||||
|     cache-dependency-path: | | ||||
|       server/app/package-lock.json | ||||
| @ -312,21 +313,21 @@ jobs: | ||||
|           - macos-latest | ||||
|           - windows-latest | ||||
|         node_version: | ||||
|           - 12 | ||||
|           - 14 | ||||
|           - 16 | ||||
|           - 20 | ||||
|           - 22 | ||||
|           - 24 | ||||
|         architecture: | ||||
|           - x64 | ||||
|         # an extra windows-x86 run: | ||||
|         include: | ||||
|           - os: windows-2016 | ||||
|             node_version: 12 | ||||
|           - os: windows-latest | ||||
|             node_version: 24 | ||||
|             architecture: x86 | ||||
|     name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }} | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/checkout@v5 | ||||
|       - name: Setup node | ||||
|         uses: actions/setup-node@v4 | ||||
|         uses: actions/setup-node@v6 | ||||
|         with: | ||||
|           node-version: ${{ matrix.node_version }} | ||||
|           architecture: ${{ matrix.architecture }} | ||||
| @ -337,16 +338,16 @@ jobs: | ||||
| ## Publish to npmjs and GPR with npm | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14.x' | ||||
|     node-version: '24.x' | ||||
|     registry-url: 'https://registry.npmjs.org' | ||||
| - run: npm ci | ||||
| - run: npm publish | ||||
|   env: | ||||
|     NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     registry-url: 'https://npm.pkg.github.com' | ||||
| - run: npm publish | ||||
| @ -357,16 +358,16 @@ steps: | ||||
| ## Publish to npmjs and GPR with yarn | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14.x' | ||||
|     node-version: '24.x' | ||||
|     registry-url: <registry url> | ||||
| - run: yarn install --frozen-lockfile | ||||
| - run: yarn publish | ||||
|   env: | ||||
|     NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }} | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     registry-url: 'https://npm.pkg.github.com' | ||||
| - run: yarn publish | ||||
| @ -377,10 +378,10 @@ steps: | ||||
| ## Use private packages | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14.x' | ||||
|     node-version: '24.x' | ||||
|     registry-url: 'https://registry.npmjs.org' | ||||
| # Skip post-install scripts here, as a malicious | ||||
| # script could steal NODE_AUTH_TOKEN. | ||||
| @ -397,10 +398,10 @@ Below you can find a sample "Setup .yarnrc.yml" step, that is going to allow you | ||||
|  | ||||
| ```yaml | ||||
| steps: | ||||
| - uses: actions/checkout@v4 | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/checkout@v5 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14.x' | ||||
|     node-version: '24.x' | ||||
| - name: Setup .yarnrc.yml | ||||
|   run: | | ||||
|     yarn config set npmScopes.my-org.npmRegistryServer "https://npm.pkg.github.com" | ||||
| @ -427,9 +428,9 @@ It is possible to specify a token to authenticate with the mirror using the `mir | ||||
| The token will be passed as a bearer token in the `Authorization` header. | ||||
|  | ||||
| ```yaml | ||||
| - uses: actions/setup-node@v4 | ||||
| - uses: actions/setup-node@v6 | ||||
|   with: | ||||
|     node-version: '14.x' | ||||
|     node-version: '24.x' | ||||
|     mirror: 'https://nodejs.org/dist' | ||||
|     mirror-token: 'your-mirror-token' | ||||
| ``` | ||||
|  | ||||
							
								
								
									
										243
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										243
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,15 +1,15 @@ | ||||
| { | ||||
|   "name": "setup-node", | ||||
|   "version": "4.0.0", | ||||
|   "version": "6.0.0", | ||||
|   "lockfileVersion": 3, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "setup-node", | ||||
|       "version": "4.0.0", | ||||
|       "version": "6.0.0", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^4.0.3", | ||||
|         "@actions/cache": "^4.1.0", | ||||
|         "@actions/core": "^1.11.1", | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/github": "^6.0.1", | ||||
| @ -22,7 +22,7 @@ | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@types/jest": "^29.5.14", | ||||
|         "@types/node": "^20.11.25", | ||||
|         "@types/node": "^24.1.0", | ||||
|         "@types/semver": "^7.5.8", | ||||
|         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|         "@typescript-eslint/parser": "^5.54.0", | ||||
| @ -34,9 +34,12 @@ | ||||
|         "jest": "^29.7.0", | ||||
|         "jest-circus": "^29.7.0", | ||||
|         "jest-each": "^29.7.0", | ||||
|         "prettier": "^2.8.4", | ||||
|         "ts-jest": "^29.1.2", | ||||
|         "prettier": "^3.6.2", | ||||
|         "ts-jest": "^29.4.1", | ||||
|         "typescript": "^5.4.2" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=24.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@aashutoshrathi/word-wrap": { | ||||
| @ -49,9 +52,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache": { | ||||
|       "version": "4.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.3.tgz", | ||||
|       "integrity": "sha512-SvrqFtYJ7I48A/uXNkoJrnukx5weQv1fGquhs3+4nkByZThBH109KTIqj5x/cGV7JGNvb8dLPVywUOqX1fjiXg==", | ||||
|       "version": "4.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.1.0.tgz", | ||||
|       "integrity": "sha512-z3Opg+P4Y7baq+g1dODXgdtsvPLSewr3ZKpp3U0HQR1A/vWCoJFS52XSezjdngo4SIOdR5oHtyK3a3Arar+X9A==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/core": "^1.11.1", | ||||
| @ -62,7 +65,7 @@ | ||||
|         "@azure/abort-controller": "^1.1.0", | ||||
|         "@azure/ms-rest-js": "^2.6.0", | ||||
|         "@azure/storage-blob": "^12.13.0", | ||||
|         "@protobuf-ts/plugin": "^2.9.4", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.11.1", | ||||
|         "semver": "^6.3.1" | ||||
|       } | ||||
|     }, | ||||
| @ -1587,81 +1590,19 @@ | ||||
|         "node": ">=8.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.5.tgz", | ||||
|       "integrity": "sha512-KCzNRTFye837XdfPjS85gGzxgPGVDR3W8Px2G3etXuouNog9W+Cr+U0IBTFADrRWXC2x+OSNjXxrdZEiw+H5Cw==", | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/plugin-framework": "^2.9.5", | ||||
|         "@protobuf-ts/protoc": "^2.9.5", | ||||
|         "@protobuf-ts/runtime": "^2.9.5", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.9.5", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "protoc-gen-dump": "bin/protoc-gen-dump", | ||||
|         "protoc-gen-ts": "bin/protoc-gen-ts" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.5.tgz", | ||||
|       "integrity": "sha512-DYNQ8Ga3xwPZMfaZGRCnDOcEdQZK9MorTXngVoFLnHWEE8zLhUjFVtdkChZtTih6rl8Z6akyA7hRgj/GrJF58Q==", | ||||
|       "license": "(Apache-2.0 AND BSD-3-Clause)", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.5", | ||||
|         "typescript": "^3.9" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/protoc": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.5.tgz", | ||||
|       "integrity": "sha512-n6a7OHfr/Ubw483L6kNJB0wBCe/Ops0A652zB6J6nR2x1o+pjVFrMCeeQQsqxkYpQwQ8FCIETSxrMpfOBKTIvQ==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "protoc": "protoc.js" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.5.tgz", | ||||
|       "integrity": "sha512-SsumigRe3IqNTCQvVZUqDQExsKF72eyAMiWlYb5Jwj3eU4z8UH7JLlSfb/Wjidz4b/chTN6zh5AXBSKl0Asm3A==", | ||||
|       "version": "2.11.1", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.11.1.tgz", | ||||
|       "integrity": "sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==", | ||||
|       "license": "(Apache-2.0 AND BSD-3-Clause)" | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime-rpc": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.5.tgz", | ||||
|       "integrity": "sha512-NWAb1TaV4CR+BknZr1WRVT5Ws2AupVwGgRNes4oPAFrgLNXQotDFl2E6pmsjPwME8sAgJVzeSr7bUqQVyoAK2A==", | ||||
|       "version": "2.11.1", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.11.1.tgz", | ||||
|       "integrity": "sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ==", | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.5" | ||||
|         "@protobuf-ts/runtime": "^2.11.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@sinclair/typebox": { | ||||
| @ -1780,11 +1721,12 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/@types/node": { | ||||
|       "version": "20.11.25", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", | ||||
|       "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", | ||||
|       "version": "24.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", | ||||
|       "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "undici-types": "~5.26.4" | ||||
|         "undici-types": "~7.8.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@types/node-fetch": { | ||||
| @ -3500,6 +3442,28 @@ | ||||
|       "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/handlebars": { | ||||
|       "version": "4.7.8", | ||||
|       "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", | ||||
|       "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "minimist": "^1.2.5", | ||||
|         "neo-async": "^2.6.2", | ||||
|         "source-map": "^0.6.1", | ||||
|         "wordwrap": "^1.0.0" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "handlebars": "bin/handlebars" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=0.4.7" | ||||
|       }, | ||||
|       "optionalDependencies": { | ||||
|         "uglify-js": "^3.1.4" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/has-flag": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||||
| @ -4597,6 +4561,16 @@ | ||||
|         "node": "*" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/minimist": { | ||||
|       "version": "1.2.8", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", | ||||
|       "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/ljharb" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ms": { | ||||
|       "version": "2.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||||
| @ -4615,6 +4589,13 @@ | ||||
|       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/neo-async": { | ||||
|       "version": "2.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", | ||||
|       "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/node-fetch": { | ||||
|       "version": "2.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", | ||||
| @ -4919,15 +4900,16 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/prettier": { | ||||
|       "version": "2.8.8", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", | ||||
|       "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", | ||||
|       "version": "3.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", | ||||
|       "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "bin": { | ||||
|         "prettier": "bin-prettier.js" | ||||
|         "prettier": "bin/prettier.cjs" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10.13.0" | ||||
|         "node": ">=14" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/prettier/prettier?sponsor=1" | ||||
| @ -5181,9 +5163,9 @@ | ||||
|       "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" | ||||
|     }, | ||||
|     "node_modules/semver": { | ||||
|       "version": "7.6.3", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", | ||||
|       "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", | ||||
|       "version": "7.7.2", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", | ||||
|       "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", | ||||
|       "license": "ISC", | ||||
|       "bin": { | ||||
|         "semver": "bin/semver.js" | ||||
| @ -5417,37 +5399,44 @@ | ||||
|       "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" | ||||
|     }, | ||||
|     "node_modules/ts-jest": { | ||||
|       "version": "29.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", | ||||
|       "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", | ||||
|       "version": "29.4.1", | ||||
|       "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.1.tgz", | ||||
|       "integrity": "sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "bs-logger": "0.x", | ||||
|         "fast-json-stable-stringify": "2.x", | ||||
|         "jest-util": "^29.0.0", | ||||
|         "bs-logger": "^0.2.6", | ||||
|         "fast-json-stable-stringify": "^2.1.0", | ||||
|         "handlebars": "^4.7.8", | ||||
|         "json5": "^2.2.3", | ||||
|         "lodash.memoize": "4.x", | ||||
|         "make-error": "1.x", | ||||
|         "semver": "^7.5.3", | ||||
|         "yargs-parser": "^21.0.1" | ||||
|         "lodash.memoize": "^4.1.2", | ||||
|         "make-error": "^1.3.6", | ||||
|         "semver": "^7.7.2", | ||||
|         "type-fest": "^4.41.0", | ||||
|         "yargs-parser": "^21.1.1" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "ts-jest": "cli.js" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": "^16.10.0 || ^18.0.0 || >=20.0.0" | ||||
|         "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "@babel/core": ">=7.0.0-beta.0 <8", | ||||
|         "@jest/types": "^29.0.0", | ||||
|         "babel-jest": "^29.0.0", | ||||
|         "jest": "^29.0.0", | ||||
|         "@jest/transform": "^29.0.0 || ^30.0.0", | ||||
|         "@jest/types": "^29.0.0 || ^30.0.0", | ||||
|         "babel-jest": "^29.0.0 || ^30.0.0", | ||||
|         "jest": "^29.0.0 || ^30.0.0", | ||||
|         "jest-util": "^29.0.0 || ^30.0.0", | ||||
|         "typescript": ">=4.3 <6" | ||||
|       }, | ||||
|       "peerDependenciesMeta": { | ||||
|         "@babel/core": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "@jest/transform": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "@jest/types": { | ||||
|           "optional": true | ||||
|         }, | ||||
| @ -5456,9 +5445,25 @@ | ||||
|         }, | ||||
|         "esbuild": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "jest-util": { | ||||
|           "optional": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ts-jest/node_modules/type-fest": { | ||||
|       "version": "4.41.0", | ||||
|       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", | ||||
|       "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", | ||||
|       "dev": true, | ||||
|       "license": "(MIT OR CC0-1.0)", | ||||
|       "engines": { | ||||
|         "node": ">=16" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/sindresorhus" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/tslib": { | ||||
|       "version": "2.6.2", | ||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", | ||||
| @ -5539,6 +5544,20 @@ | ||||
|         "node": ">=14.17" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/uglify-js": { | ||||
|       "version": "3.19.3", | ||||
|       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", | ||||
|       "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", | ||||
|       "dev": true, | ||||
|       "license": "BSD-2-Clause", | ||||
|       "optional": true, | ||||
|       "bin": { | ||||
|         "uglifyjs": "bin/uglifyjs" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=0.8.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici": { | ||||
|       "version": "5.29.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", | ||||
| @ -5552,9 +5571,10 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici-types": { | ||||
|       "version": "5.26.5", | ||||
|       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | ||||
|       "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" | ||||
|       "version": "7.8.0", | ||||
|       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", | ||||
|       "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/universal-user-agent": { | ||||
|       "version": "6.0.1", | ||||
| @ -5666,6 +5686,13 @@ | ||||
|         "node": ">= 8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/wordwrap": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", | ||||
|       "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/wrap-ansi": { | ||||
|       "version": "7.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ||||
|  | ||||
							
								
								
									
										13
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								package.json
									
									
									
									
									
								
							| @ -1,9 +1,12 @@ | ||||
| { | ||||
|   "name": "setup-node", | ||||
|   "version": "4.0.0", | ||||
|   "version": "6.0.0", | ||||
|   "private": true, | ||||
|   "description": "setup node action", | ||||
|   "main": "lib/setup-node.js", | ||||
|   "engines": { | ||||
|     "node": ">=24.0.0" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "build": "ncc build -o dist/setup src/setup-node.ts && ncc build -o dist/cache-save src/cache-save.ts", | ||||
|     "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"", | ||||
| @ -25,7 +28,7 @@ | ||||
|   "author": "GitHub", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^4.0.3", | ||||
|     "@actions/cache": "^4.1.0", | ||||
|     "@actions/core": "^1.11.1", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/github": "^6.0.1", | ||||
| @ -38,7 +41,7 @@ | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^29.5.14", | ||||
|     "@types/node": "^20.11.25", | ||||
|     "@types/node": "^24.1.0", | ||||
|     "@types/semver": "^7.5.8", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|     "@typescript-eslint/parser": "^5.54.0", | ||||
| @ -50,8 +53,8 @@ | ||||
|     "jest": "^29.7.0", | ||||
|     "jest-circus": "^29.7.0", | ||||
|     "jest-each": "^29.7.0", | ||||
|     "prettier": "^2.8.4", | ||||
|     "ts-jest": "^29.1.2", | ||||
|     "prettier": "^3.6.2", | ||||
|     "ts-jest": "^29.4.1", | ||||
|     "typescript": "^5.4.2" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -7,6 +7,7 @@ import {getPackageManagerInfo} from './cache-utils'; | ||||
| // Catch and log any unhandled exceptions.  These exceptions can leak out of the uploadChunk method in | ||||
| // @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to | ||||
| // throw an uncaught exception.  Instead of failing this action, just warn. | ||||
|  | ||||
| process.on('uncaughtException', e => { | ||||
|   const warningPrefix = '[warning]'; | ||||
|   core.info(`${warningPrefix}${e.message}`); | ||||
|  | ||||
| @ -167,14 +167,12 @@ const getCacheDirectoriesFromCacheDependencyPath = async ( | ||||
|   packageManagerInfo: PackageManagerInfo, | ||||
|   cacheDependencyPath: string | ||||
| ): Promise<string[]> => { | ||||
|   const projectDirectories = await getProjectDirectoriesFromCacheDependencyPath( | ||||
|     cacheDependencyPath | ||||
|   ); | ||||
|   const projectDirectories = | ||||
|     await getProjectDirectoriesFromCacheDependencyPath(cacheDependencyPath); | ||||
|   const cacheFoldersPaths = await Promise.all( | ||||
|     projectDirectories.map(async projectDirectory => { | ||||
|       const cacheFolderPath = await packageManagerInfo.getCacheFolderPath( | ||||
|         projectDirectory | ||||
|       ); | ||||
|       const cacheFolderPath = | ||||
|         await packageManagerInfo.getCacheFolderPath(projectDirectory); | ||||
|       core.debug( | ||||
|         `${packageManagerInfo.name}'s cache folder "${cacheFolderPath}" configured for the directory "${projectDirectory}"` | ||||
|       ); | ||||
|  | ||||
							
								
								
									
										54
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								src/main.ts
									
									
									
									
									
								
							| @ -1,6 +1,7 @@ | ||||
| import * as core from '@actions/core'; | ||||
|  | ||||
| import os from 'os'; | ||||
| import fs from 'fs'; | ||||
|  | ||||
| import * as auth from './authutil'; | ||||
| import * as path from 'path'; | ||||
| @ -20,6 +21,9 @@ export async function run() { | ||||
|  | ||||
|     let arch = core.getInput('architecture'); | ||||
|     const cache = core.getInput('cache'); | ||||
|     const packagemanagercache = | ||||
|       (core.getInput('package-manager-cache') || 'true').toUpperCase() === | ||||
|       'TRUE'; | ||||
|  | ||||
|     // if architecture supplied but node-version is not | ||||
|     // if we don't throw a warning, the already installed x64 node will be used which is not probably what user meant. | ||||
| @ -63,10 +67,25 @@ export async function run() { | ||||
|       auth.configAuthentication(registryUrl, alwaysAuth); | ||||
|     } | ||||
|  | ||||
|     if (cache && isCacheFeatureAvailable()) { | ||||
|       core.saveState(State.CachePackageManager, cache); | ||||
|     const cacheDependencyPath = core.getInput('cache-dependency-path'); | ||||
|  | ||||
|     if (isCacheFeatureAvailable()) { | ||||
|       // if the cache input is provided, use it for caching. | ||||
|       if (cache) { | ||||
|         core.saveState(State.CachePackageManager, cache); | ||||
|         await restoreCache(cache, cacheDependencyPath); | ||||
|         // package manager npm is detected from package.json, enable auto-caching for npm. | ||||
|       } else if (packagemanagercache) { | ||||
|         const resolvedPackageManager = getNameFromPackageManagerField(); | ||||
|         if (resolvedPackageManager) { | ||||
|           core.info( | ||||
|             "Detected npm as the package manager from package.json's packageManager field. " + | ||||
|               'Auto caching has been enabled for npm. If you want to disable it, set package-manager-cache input to false' | ||||
|           ); | ||||
|           core.saveState(State.CachePackageManager, resolvedPackageManager); | ||||
|           await restoreCache(resolvedPackageManager, cacheDependencyPath); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     const matchersPath = path.join(__dirname, '../..', '.github'); | ||||
| @ -117,3 +136,34 @@ function resolveVersionInput(): string { | ||||
|  | ||||
|   return version; | ||||
| } | ||||
|  | ||||
| export function getNameFromPackageManagerField(): string | undefined { | ||||
|   const npmRegex = /^(\^)?npm(@.*)?$/; // matches "npm", "npm@...", "^npm@..." | ||||
|   try { | ||||
|     const packageJson = JSON.parse( | ||||
|       fs.readFileSync( | ||||
|         path.join(process.env.GITHUB_WORKSPACE!, 'package.json'), | ||||
|         'utf-8' | ||||
|       ) | ||||
|     ); | ||||
|  | ||||
|     // Check devEngines.packageManager first (object or array) | ||||
|     const devPM = packageJson?.devEngines?.packageManager; | ||||
|     const devPMArray = devPM ? (Array.isArray(devPM) ? devPM : [devPM]) : []; | ||||
|     for (const obj of devPMArray) { | ||||
|       if (typeof obj?.name === 'string' && npmRegex.test(obj.name)) { | ||||
|         return 'npm'; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // Check top-level packageManager | ||||
|     const topLevelPM = packageJson?.packageManager; | ||||
|     if (typeof topLevelPM === 'string' && npmRegex.test(topLevelPM)) { | ||||
|       return 'npm'; | ||||
|     } | ||||
|  | ||||
|     return undefined; | ||||
|   } catch { | ||||
|     return undefined; | ||||
|   } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	