node-linux-arm64 20.11.1 → 20.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +628 -0
- package/LICENSE +65 -43
- package/README.md +20 -16
- package/bin/node +0 -0
- package/include/node/common.gypi +1 -1
- package/include/node/config.gypi +4 -2
- package/include/node/js_native_api.h +33 -20
- package/include/node/js_native_api_types.h +39 -0
- package/include/node/node.h +32 -2
- package/include/node/node_api.h +16 -16
- package/include/node/node_version.h +2 -2
- package/include/node/v8-profiler.h +10 -0
- package/include/node/zlib.h +8 -8
- package/package.json +1 -1
- package/share/man/man1/node.1 +3 -0
package/LICENSE
CHANGED
|
@@ -132,52 +132,45 @@ The externally maintained libraries used by Node.js are:
|
|
|
132
132
|
|
|
133
133
|
- ICU, located at deps/icu-small, is licensed as follows:
|
|
134
134
|
"""
|
|
135
|
-
UNICODE
|
|
136
|
-
|
|
137
|
-
See Terms of Use
|
|
138
|
-
for definitions of Unicode Inc.’s Data Files and Software.
|
|
139
|
-
|
|
140
|
-
NOTICE TO USER: Carefully read the following legal agreement.
|
|
141
|
-
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
|
|
142
|
-
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
|
|
143
|
-
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
144
|
-
TERMS AND CONDITIONS OF THIS AGREEMENT.
|
|
145
|
-
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
|
|
146
|
-
THE DATA FILES OR SOFTWARE.
|
|
135
|
+
UNICODE LICENSE V3
|
|
147
136
|
|
|
148
137
|
COPYRIGHT AND PERMISSION NOTICE
|
|
149
138
|
|
|
150
|
-
Copyright ©
|
|
151
|
-
Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
|
|
139
|
+
Copyright © 2016-2023 Unicode, Inc.
|
|
152
140
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
copy, modify, merge, publish, distribute, and/or sell copies of
|
|
159
|
-
the Data Files or Software, and to permit persons to whom the Data Files
|
|
160
|
-
or Software are furnished to do so, provided that either
|
|
161
|
-
(a) this copyright and permission notice appear with all copies
|
|
162
|
-
of the Data Files or Software, or
|
|
163
|
-
(b) this copyright and permission notice appear in associated
|
|
164
|
-
Documentation.
|
|
165
|
-
|
|
166
|
-
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|
167
|
-
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
168
|
-
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
169
|
-
NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
170
|
-
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
|
171
|
-
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
|
172
|
-
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
173
|
-
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
174
|
-
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
175
|
-
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
141
|
+
NOTICE TO USER: Carefully read the following legal agreement. BY
|
|
142
|
+
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
|
143
|
+
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
144
|
+
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
|
145
|
+
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
|
176
146
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
147
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
|
148
|
+
copy of data files and any associated documentation (the "Data Files") or
|
|
149
|
+
software and any associated documentation (the "Software") to deal in the
|
|
150
|
+
Data Files or Software without restriction, including without limitation
|
|
151
|
+
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
|
152
|
+
copies of the Data Files or Software, and to permit persons to whom the
|
|
153
|
+
Data Files or Software are furnished to do so, provided that either (a)
|
|
154
|
+
this copyright and permission notice appear with all copies of the Data
|
|
155
|
+
Files or Software, or (b) this copyright and permission notice appear in
|
|
156
|
+
associated Documentation.
|
|
157
|
+
|
|
158
|
+
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
|
159
|
+
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
160
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
|
161
|
+
THIRD PARTY RIGHTS.
|
|
162
|
+
|
|
163
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
|
164
|
+
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
|
165
|
+
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
166
|
+
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
|
167
|
+
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
|
168
|
+
FILES OR SOFTWARE.
|
|
169
|
+
|
|
170
|
+
Except as contained in this notice, the name of a copyright holder shall
|
|
171
|
+
not be used in advertising or otherwise to promote the sale, use or other
|
|
172
|
+
dealings in these Data Files or Software without prior written
|
|
173
|
+
authorization of the copyright holder.
|
|
181
174
|
|
|
182
175
|
----------------------------------------------------------------------
|
|
183
176
|
|
|
@@ -1292,9 +1285,9 @@ The externally maintained libraries used by Node.js are:
|
|
|
1292
1285
|
- zlib, located at deps/zlib, is licensed as follows:
|
|
1293
1286
|
"""
|
|
1294
1287
|
zlib.h -- interface of the 'zlib' general purpose compression library
|
|
1295
|
-
version 1.
|
|
1288
|
+
version 1.3.0.1, August xxth, 2023
|
|
1296
1289
|
|
|
1297
|
-
Copyright (C) 1995-
|
|
1290
|
+
Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler
|
|
1298
1291
|
|
|
1299
1292
|
This software is provided 'as-is', without any express or implied
|
|
1300
1293
|
warranty. In no event will the authors be held liable for any damages
|
|
@@ -1774,6 +1767,35 @@ The externally maintained libraries used by Node.js are:
|
|
|
1774
1767
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1775
1768
|
"""
|
|
1776
1769
|
|
|
1770
|
+
- gypi_to_gn.py, located at tools/gypi_to_gn.py, is licensed as follows:
|
|
1771
|
+
"""
|
|
1772
|
+
Redistribution and use in source and binary forms, with or without
|
|
1773
|
+
modification, are permitted provided that the following conditions are
|
|
1774
|
+
met:
|
|
1775
|
+
|
|
1776
|
+
* Redistributions of source code must retain the above copyright
|
|
1777
|
+
notice, this list of conditions and the following disclaimer.
|
|
1778
|
+
* Redistributions in binary form must reproduce the above
|
|
1779
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
1780
|
+
in the documentation and/or other materials provided with the
|
|
1781
|
+
distribution.
|
|
1782
|
+
* Neither the name of Google LLC nor the names of its
|
|
1783
|
+
contributors may be used to endorse or promote products derived from
|
|
1784
|
+
this software without specific prior written permission.
|
|
1785
|
+
|
|
1786
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
1787
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
1788
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
1789
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
1790
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
1791
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
1792
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
1793
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
1794
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1795
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1796
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1797
|
+
"""
|
|
1798
|
+
|
|
1777
1799
|
- ESLint, located at tools/node_modules/eslint, is licensed as follows:
|
|
1778
1800
|
"""
|
|
1779
1801
|
Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
|
package/README.md
CHANGED
|
@@ -190,14 +190,14 @@ For information about the governance of the Node.js project, see
|
|
|
190
190
|
**Moshe Atlow** <<moshe@atlow.co.il>> (he/him)
|
|
191
191
|
* [RafaelGSS](https://github.com/RafaelGSS) -
|
|
192
192
|
**Rafael Gonzaga** <<rafael.nunu@hotmail.com>> (he/him)
|
|
193
|
-
* [RaisinTen](https://github.com/RaisinTen) -
|
|
194
|
-
**Darshan Sen** <<raisinten@gmail.com>> (he/him)
|
|
195
193
|
* [richardlau](https://github.com/richardlau) -
|
|
196
194
|
**Richard Lau** <<rlau@redhat.com>>
|
|
197
195
|
* [ronag](https://github.com/ronag) -
|
|
198
196
|
**Robert Nagy** <<ronagy@icloud.com>>
|
|
199
197
|
* [ruyadorno](https://github.com/ruyadorno) -
|
|
200
198
|
**Ruy Adorno** <<ruyadorno@google.com>> (he/him)
|
|
199
|
+
* [ShogunPanda](https://github.com/ShogunPanda) -
|
|
200
|
+
**Paolo Insogna** <<paolo@cowtech.it>> (he/him)
|
|
201
201
|
* [targos](https://github.com/targos) -
|
|
202
202
|
**Michaël Zasso** <<targos@protonmail.com>> (he/him)
|
|
203
203
|
* [tniessen](https://github.com/tniessen) -
|
|
@@ -266,6 +266,8 @@ For information about the governance of the Node.js project, see
|
|
|
266
266
|
**Alexis Campailla** <<orangemocha@nodejs.org>>
|
|
267
267
|
* [piscisaureus](https://github.com/piscisaureus) -
|
|
268
268
|
**Bert Belder** <<bertbelder@gmail.com>>
|
|
269
|
+
* [RaisinTen](https://github.com/RaisinTen) -
|
|
270
|
+
**Darshan Sen** <<raisinten@gmail.com>> (he/him)
|
|
269
271
|
* [sam-github](https://github.com/sam-github) -
|
|
270
272
|
**Sam Roberts** <<vieuxtech@gmail.com>>
|
|
271
273
|
* [shigeki](https://github.com/shigeki) -
|
|
@@ -333,8 +335,6 @@ For information about the governance of the Node.js project, see
|
|
|
333
335
|
**Debadree Chatterjee** <<debadree333@gmail.com>> (he/him)
|
|
334
336
|
* [deokjinkim](https://github.com/deokjinkim) -
|
|
335
337
|
**Deokjin Kim** <<deokjin81.kim@gmail.com>> (he/him)
|
|
336
|
-
* [devnexen](https://github.com/devnexen) -
|
|
337
|
-
**David Carlier** <<devnexen@gmail.com>>
|
|
338
338
|
* [devsnek](https://github.com/devsnek) -
|
|
339
339
|
**Gus Caplan** <<me@gus.host>> (they/them)
|
|
340
340
|
* [edsadr](https://github.com/edsadr) -
|
|
@@ -367,8 +367,6 @@ For information about the governance of the Node.js project, see
|
|
|
367
367
|
**Zeyu "Alex" Yang** <<himself65@outlook.com>> (he/him)
|
|
368
368
|
* [iansu](https://github.com/iansu) -
|
|
369
369
|
**Ian Sutherland** <<ian@iansutherland.ca>>
|
|
370
|
-
* [JacksonTian](https://github.com/JacksonTian) -
|
|
371
|
-
**Jackson Tian** <<shyvo1987@gmail.com>>
|
|
372
370
|
* [JakobJingleheimer](https://github.com/JakobJingleheimer) -
|
|
373
371
|
**Jacob Smith** <<jacob@frende.me>> (he/him)
|
|
374
372
|
* [jasnell](https://github.com/jasnell) -
|
|
@@ -391,6 +389,8 @@ For information about the governance of the Node.js project, see
|
|
|
391
389
|
**Keyhan Vakil** <<kvakil@sylph.kvakil.me>>
|
|
392
390
|
* [legendecas](https://github.com/legendecas) -
|
|
393
391
|
**Chengzhong Wu** <<legendecas@gmail.com>> (he/him)
|
|
392
|
+
* [lemire](https://github.com/lemire) -
|
|
393
|
+
**Daniel Lemire** <<daniel@lemire.me>>
|
|
394
394
|
* [linkgoron](https://github.com/linkgoron) -
|
|
395
395
|
**Nitzan Uziely** <<linkgoron@gmail.com>>
|
|
396
396
|
* [LiviaMedeiros](https://github.com/LiviaMedeiros) -
|
|
@@ -413,8 +413,6 @@ For information about the governance of the Node.js project, see
|
|
|
413
413
|
**Mestery** <<mestery@protonmail.com>> (he/him)
|
|
414
414
|
* [mhdawson](https://github.com/mhdawson) -
|
|
415
415
|
**Michael Dawson** <<midawson@redhat.com>> (he/him)
|
|
416
|
-
* [miladfarca](https://github.com/miladfarca) -
|
|
417
|
-
**Milad Fa** <<mfarazma@redhat.com>> (he/him)
|
|
418
416
|
* [mildsunrise](https://github.com/mildsunrise) -
|
|
419
417
|
**Alba Mendez** <<me@alba.sh>> (she/her)
|
|
420
418
|
* [MoLow](https://github.com/MoLow) -
|
|
@@ -427,16 +425,12 @@ For information about the governance of the Node.js project, see
|
|
|
427
425
|
**Myles Borins** <<myles.borins@gmail.com>> (he/him)
|
|
428
426
|
* [ovflowd](https://github.com/ovflowd) -
|
|
429
427
|
**Claudio Wunder** <<cwunder@gnome.org>> (he/they)
|
|
430
|
-
* [oyyd](https://github.com/oyyd) -
|
|
431
|
-
**Ouyang Yadong** <<oyydoibh@gmail.com>> (he/him)
|
|
432
428
|
* [panva](https://github.com/panva) -
|
|
433
429
|
**Filip Skokan** <<panva.ip@gmail.com>> (he/him)
|
|
434
430
|
* [Qard](https://github.com/Qard) -
|
|
435
431
|
**Stephen Belanger** <<admin@stephenbelanger.com>> (he/him)
|
|
436
432
|
* [RafaelGSS](https://github.com/RafaelGSS) -
|
|
437
433
|
**Rafael Gonzaga** <<rafael.nunu@hotmail.com>> (he/him)
|
|
438
|
-
* [RaisinTen](https://github.com/RaisinTen) -
|
|
439
|
-
**Darshan Sen** <<raisinten@gmail.com>> (he/him)
|
|
440
434
|
* [rluvaton](https://github.com/rluvaton) -
|
|
441
435
|
**Raz Luvaton** <<rluvaton@gmail.com>> (he/him)
|
|
442
436
|
* [richardlau](https://github.com/richardlau) -
|
|
@@ -447,8 +441,6 @@ For information about the governance of the Node.js project, see
|
|
|
447
441
|
**Robert Nagy** <<ronagy@icloud.com>>
|
|
448
442
|
* [ruyadorno](https://github.com/ruyadorno) -
|
|
449
443
|
**Ruy Adorno** <<ruyadorno@google.com>> (he/him)
|
|
450
|
-
* [rvagg](https://github.com/rvagg) -
|
|
451
|
-
**Rod Vagg** <<rod@vagg.org>>
|
|
452
444
|
* [ryzokuken](https://github.com/ryzokuken) -
|
|
453
445
|
**Ujjwal Sharma** <<ryzokuken@disroot.org>> (he/him)
|
|
454
446
|
* [santigimeno](https://github.com/santigimeno) -
|
|
@@ -487,6 +479,8 @@ For information about the governance of the Node.js project, see
|
|
|
487
479
|
**Yash Ladha** <<yash@yashladha.in>> (he/him)
|
|
488
480
|
* [ZYSzys](https://github.com/ZYSzys) -
|
|
489
481
|
**Yongsheng Zhang** <<zyszys98@gmail.com>> (he/him)
|
|
482
|
+
* [zcbenz](https://github.com/zcbenz) -
|
|
483
|
+
**Cheng Zhao** <zcbenz@gmail.com> (he/him)
|
|
490
484
|
|
|
491
485
|
<details>
|
|
492
486
|
|
|
@@ -527,6 +521,8 @@ For information about the governance of the Node.js project, see
|
|
|
527
521
|
**David Cai** <<davidcai1993@yahoo.com>> (he/him)
|
|
528
522
|
* [davisjam](https://github.com/davisjam) -
|
|
529
523
|
**Jamie Davis** <<davisjam@vt.edu>> (he/him)
|
|
524
|
+
* [devnexen](https://github.com/devnexen) -
|
|
525
|
+
**David Carlier** <<devnexen@gmail.com>>
|
|
530
526
|
* [digitalinfinity](https://github.com/digitalinfinity) -
|
|
531
527
|
**Hitesh Kanwathirtha** <<digitalinfinity@gmail.com>> (he/him)
|
|
532
528
|
* [dmabupt](https://github.com/dmabupt) -
|
|
@@ -569,6 +565,8 @@ For information about the governance of the Node.js project, see
|
|
|
569
565
|
**Isaac Z. Schlueter** <<i@izs.me>>
|
|
570
566
|
* [italoacasas](https://github.com/italoacasas) -
|
|
571
567
|
**Italo A. Casas** <<me@italoacasas.com>> (he/him)
|
|
568
|
+
* [JacksonTian](https://github.com/JacksonTian) -
|
|
569
|
+
**Jackson Tian** <<shyvo1987@gmail.com>>
|
|
572
570
|
* [jasongin](https://github.com/jasongin) -
|
|
573
571
|
**Jason Ginchereau** <<jasongin@microsoft.com>>
|
|
574
572
|
* [jbergstroem](https://github.com/jbergstroem) -
|
|
@@ -607,6 +605,8 @@ For information about the governance of the Node.js project, see
|
|
|
607
605
|
**Nicu Micleușanu** <<micnic90@gmail.com>> (he/him)
|
|
608
606
|
* [mikeal](https://github.com/mikeal) -
|
|
609
607
|
**Mikeal Rogers** <<mikeal.rogers@gmail.com>>
|
|
608
|
+
* [miladfarca](https://github.com/miladfarca) -
|
|
609
|
+
**Milad Fa** <<mfarazma@redhat.com>> (he/him)
|
|
610
610
|
* [misterdjules](https://github.com/misterdjules) -
|
|
611
611
|
**Julien Gilli** <<jgilli@netflix.com>>
|
|
612
612
|
* [mmarchini](https://github.com/mmarchini) -
|
|
@@ -625,6 +625,8 @@ For information about the governance of the Node.js project, see
|
|
|
625
625
|
**Alexis Campailla** <<orangemocha@nodejs.org>>
|
|
626
626
|
* [othiym23](https://github.com/othiym23) -
|
|
627
627
|
**Forrest L Norvell** <<ogd@aoaioxxysz.net>> (they/them/themself)
|
|
628
|
+
* [oyyd](https://github.com/oyyd) -
|
|
629
|
+
**Ouyang Yadong** <<oyydoibh@gmail.com>> (he/him)
|
|
628
630
|
* [petkaantonov](https://github.com/petkaantonov) -
|
|
629
631
|
**Petka Antonov** <<petka_antonov@hotmail.com>>
|
|
630
632
|
* [phillipj](https://github.com/phillipj) -
|
|
@@ -641,6 +643,8 @@ For information about the governance of the Node.js project, see
|
|
|
641
643
|
**Peter Marshall** <<petermarshall@chromium.org>> (he/him)
|
|
642
644
|
* [puzpuzpuz](https://github.com/puzpuzpuz) -
|
|
643
645
|
**Andrey Pechkurov** <<apechkurov@gmail.com>> (he/him)
|
|
646
|
+
* [RaisinTen](https://github.com/RaisinTen) -
|
|
647
|
+
**Darshan Sen** <<raisinten@gmail.com>> (he/him)
|
|
644
648
|
* [refack](https://github.com/refack) -
|
|
645
649
|
**Refael Ackermann (רפאל פלחי)** <<refack@gmail.com>> (he/him/הוא/אתה)
|
|
646
650
|
* [rexagod](https://github.com/rexagod) -
|
|
@@ -659,6 +663,8 @@ For information about the governance of the Node.js project, see
|
|
|
659
663
|
**Ingvar Stepanyan** <<me@rreverser.com>>
|
|
660
664
|
* [rubys](https://github.com/rubys) -
|
|
661
665
|
**Sam Ruby** <<rubys@intertwingly.net>>
|
|
666
|
+
* [rvagg](https://github.com/rvagg) -
|
|
667
|
+
**Rod Vagg** <<rod@vagg.org>>
|
|
662
668
|
* [saghul](https://github.com/saghul) -
|
|
663
669
|
**Saúl Ibarra Corretgé** <<s@saghul.net>>
|
|
664
670
|
* [sam-github](https://github.com/sam-github) -
|
|
@@ -737,8 +743,6 @@ maintaining the Node.js project.
|
|
|
737
743
|
**Preveen Padmanabhan** <<wide4head@gmail.com>> (he/him)
|
|
738
744
|
* [PoojaDurgad](https://github.com/PoojaDurgad) -
|
|
739
745
|
**Pooja Durgad** <<Pooja.D.P@ibm.com>>
|
|
740
|
-
* [RaisinTen](https://github.com/RaisinTen) -
|
|
741
|
-
**Darshan Sen** <<raisinten@gmail.com>>
|
|
742
746
|
* [VoltrexKeyva](https://github.com/VoltrexKeyva) -
|
|
743
747
|
**Mohammed Keyvanzadeh** <<mohammadkeyvanzade94@gmail.com>> (he/him)
|
|
744
748
|
|
package/bin/node
CHANGED
|
Binary file
|
package/include/node/common.gypi
CHANGED
package/include/node/config.gypi
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
'force_dynamic_crt': 0,
|
|
14
14
|
'gas_version': '2.35',
|
|
15
15
|
'host_arch': 'arm64',
|
|
16
|
-
'icu_data_in': '../../deps/icu-tmp/
|
|
16
|
+
'icu_data_in': '../../deps/icu-tmp/icudt74l.dat',
|
|
17
17
|
'icu_endianness': 'l',
|
|
18
18
|
'icu_gyp_path': 'tools/icu/icu-generic.gyp',
|
|
19
19
|
'icu_path': 'deps/icu-small',
|
|
20
20
|
'icu_small': 'false',
|
|
21
|
-
'icu_ver_major': '
|
|
21
|
+
'icu_ver_major': '74',
|
|
22
22
|
'is_debug': 0,
|
|
23
23
|
'libdir': 'lib',
|
|
24
24
|
'llvm_version': '0.0',
|
|
@@ -324,6 +324,7 @@
|
|
|
324
324
|
'lib/readline.js',
|
|
325
325
|
'lib/readline/promises.js',
|
|
326
326
|
'lib/repl.js',
|
|
327
|
+
'lib/sea.js',
|
|
327
328
|
'lib/stream.js',
|
|
328
329
|
'lib/stream/consumers.js',
|
|
329
330
|
'lib/stream/promises.js',
|
|
@@ -376,6 +377,7 @@
|
|
|
376
377
|
'shlib_suffix': 'so.115',
|
|
377
378
|
'single_executable_application': 'true',
|
|
378
379
|
'target_arch': 'arm64',
|
|
380
|
+
'use_prefix_to_find_headers': 'false',
|
|
379
381
|
'v8_enable_31bit_smis_on_64bit_arch': 0,
|
|
380
382
|
'v8_enable_extensible_ro_snapshot': 0,
|
|
381
383
|
'v8_enable_gdbjit': 0,
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
|
|
50
50
|
EXTERN_C_START
|
|
51
51
|
|
|
52
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
53
|
-
|
|
52
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
|
|
53
|
+
node_api_nogc_env env, const napi_extended_error_info** result);
|
|
54
54
|
|
|
55
55
|
// Getters for defined singletons
|
|
56
56
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
|
|
@@ -93,11 +93,12 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
|
|
|
93
93
|
size_t length,
|
|
94
94
|
napi_value* result);
|
|
95
95
|
#ifdef NAPI_EXPERIMENTAL
|
|
96
|
+
#define NODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
|
|
96
97
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
97
98
|
node_api_create_external_string_latin1(napi_env env,
|
|
98
99
|
char* str,
|
|
99
100
|
size_t length,
|
|
100
|
-
|
|
101
|
+
node_api_nogc_finalize finalize_callback,
|
|
101
102
|
void* finalize_hint,
|
|
102
103
|
napi_value* result,
|
|
103
104
|
bool* copied);
|
|
@@ -105,11 +106,18 @@ NAPI_EXTERN napi_status NAPI_CDECL
|
|
|
105
106
|
node_api_create_external_string_utf16(napi_env env,
|
|
106
107
|
char16_t* str,
|
|
107
108
|
size_t length,
|
|
108
|
-
|
|
109
|
+
node_api_nogc_finalize finalize_callback,
|
|
109
110
|
void* finalize_hint,
|
|
110
111
|
napi_value* result,
|
|
111
112
|
bool* copied);
|
|
112
113
|
#endif // NAPI_EXPERIMENTAL
|
|
114
|
+
|
|
115
|
+
#ifdef NAPI_EXPERIMENTAL
|
|
116
|
+
#define NODE_API_EXPERIMENTAL_HAS_PROPERTY_KEYS
|
|
117
|
+
NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16(
|
|
118
|
+
napi_env env, const char16_t* str, size_t length, napi_value* result);
|
|
119
|
+
#endif // NAPI_EXPERIMENTAL
|
|
120
|
+
|
|
113
121
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env,
|
|
114
122
|
napi_value description,
|
|
115
123
|
napi_value* result);
|
|
@@ -289,7 +297,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env,
|
|
|
289
297
|
|
|
290
298
|
// Gets all callback info in a single call. (Ugly, but faster.)
|
|
291
299
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info(
|
|
292
|
-
napi_env env, // [in]
|
|
300
|
+
napi_env env, // [in] Node-API environment handle
|
|
293
301
|
napi_callback_info cbinfo, // [in] Opaque callback-info handle
|
|
294
302
|
size_t* argc, // [in-out] Specifies the size of the provided argv array
|
|
295
303
|
// and receives the actual count of args.
|
|
@@ -313,7 +321,7 @@ napi_define_class(napi_env env,
|
|
|
313
321
|
NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
|
|
314
322
|
napi_value js_object,
|
|
315
323
|
void* native_object,
|
|
316
|
-
|
|
324
|
+
node_api_nogc_finalize finalize_cb,
|
|
317
325
|
void* finalize_hint,
|
|
318
326
|
napi_ref* result);
|
|
319
327
|
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
|
|
@@ -325,7 +333,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
|
|
|
325
333
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
326
334
|
napi_create_external(napi_env env,
|
|
327
335
|
void* data,
|
|
328
|
-
|
|
336
|
+
node_api_nogc_finalize finalize_cb,
|
|
329
337
|
void* finalize_hint,
|
|
330
338
|
napi_value* result);
|
|
331
339
|
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
|
|
@@ -424,7 +432,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
|
|
|
424
432
|
napi_create_external_arraybuffer(napi_env env,
|
|
425
433
|
void* external_data,
|
|
426
434
|
size_t byte_length,
|
|
427
|
-
|
|
435
|
+
node_api_nogc_finalize finalize_cb,
|
|
428
436
|
void* finalize_hint,
|
|
429
437
|
napi_value* result);
|
|
430
438
|
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
@@ -466,7 +474,7 @@ napi_get_dataview_info(napi_env env,
|
|
|
466
474
|
size_t* byte_offset);
|
|
467
475
|
|
|
468
476
|
// version management
|
|
469
|
-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(
|
|
477
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
|
|
470
478
|
uint32_t* result);
|
|
471
479
|
|
|
472
480
|
// Promises
|
|
@@ -490,7 +498,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
|
|
|
490
498
|
|
|
491
499
|
// Memory management
|
|
492
500
|
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
|
|
493
|
-
|
|
501
|
+
node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
|
|
494
502
|
|
|
495
503
|
#if NAPI_VERSION >= 5
|
|
496
504
|
|
|
@@ -508,19 +516,21 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env,
|
|
|
508
516
|
double* result);
|
|
509
517
|
|
|
510
518
|
// Add finalizer for pointer
|
|
511
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
519
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
520
|
+
napi_add_finalizer(napi_env env,
|
|
521
|
+
napi_value js_object,
|
|
522
|
+
void* finalize_data,
|
|
523
|
+
node_api_nogc_finalize finalize_cb,
|
|
524
|
+
void* finalize_hint,
|
|
525
|
+
napi_ref* result);
|
|
517
526
|
|
|
518
527
|
#endif // NAPI_VERSION >= 5
|
|
519
528
|
|
|
520
529
|
#ifdef NAPI_EXPERIMENTAL
|
|
530
|
+
#define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
|
|
521
531
|
|
|
522
532
|
NAPI_EXTERN napi_status NAPI_CDECL
|
|
523
|
-
node_api_post_finalizer(
|
|
533
|
+
node_api_post_finalizer(node_api_nogc_env env,
|
|
524
534
|
napi_finalize finalize_cb,
|
|
525
535
|
void* finalize_data,
|
|
526
536
|
void* finalize_hint);
|
|
@@ -564,10 +574,13 @@ napi_get_all_property_names(napi_env env,
|
|
|
564
574
|
napi_value* result);
|
|
565
575
|
|
|
566
576
|
// Instance data
|
|
567
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
568
|
-
|
|
577
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
578
|
+
napi_set_instance_data(node_api_nogc_env env,
|
|
579
|
+
void* data,
|
|
580
|
+
napi_finalize finalize_cb,
|
|
581
|
+
void* finalize_hint);
|
|
569
582
|
|
|
570
|
-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(
|
|
583
|
+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
|
|
571
584
|
void** data);
|
|
572
585
|
#endif // NAPI_VERSION >= 6
|
|
573
586
|
|
|
@@ -22,6 +22,35 @@ typedef uint16_t char16_t;
|
|
|
22
22
|
// JSVM API types are all opaque pointers for ABI stability
|
|
23
23
|
// typedef undefined structs instead of void* for compile time type safety
|
|
24
24
|
typedef struct napi_env__* napi_env;
|
|
25
|
+
|
|
26
|
+
// We need to mark APIs which can be called during garbage collection (GC),
|
|
27
|
+
// meaning that they do not affect the state of the JS engine, and can
|
|
28
|
+
// therefore be called synchronously from a finalizer that itself runs
|
|
29
|
+
// synchronously during GC. Such APIs can receive either a `napi_env` or a
|
|
30
|
+
// `node_api_nogc_env` as their first parameter, because we should be able to
|
|
31
|
+
// also call them during normal, non-garbage-collecting operations, whereas
|
|
32
|
+
// APIs that affect the state of the JS engine can only receive a `napi_env` as
|
|
33
|
+
// their first parameter, because we must not call them during GC. In lieu of
|
|
34
|
+
// inheritance, we use the properties of the const qualifier to accomplish
|
|
35
|
+
// this, because both a const and a non-const value can be passed to an API
|
|
36
|
+
// expecting a const value, but only a non-const value can be passed to an API
|
|
37
|
+
// expecting a non-const value.
|
|
38
|
+
//
|
|
39
|
+
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
|
|
40
|
+
// (nogc) environment into an API that expects a non-const environment, and the
|
|
41
|
+
// definition of nogc finalizer function pointer types below, which receive a
|
|
42
|
+
// nogc environment as their first parameter, and can thus only call nogc APIs
|
|
43
|
+
// (unless the user explicitly casts the environment), we achieve the ability
|
|
44
|
+
// to ensure at compile time that we do not call APIs that affect the state of
|
|
45
|
+
// the JS engine from a synchronous (nogc) finalizer.
|
|
46
|
+
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
47
|
+
(defined(NAPI_EXPERIMENTAL) && \
|
|
48
|
+
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
|
|
49
|
+
typedef struct napi_env__* node_api_nogc_env;
|
|
50
|
+
#else
|
|
51
|
+
typedef const struct napi_env__* node_api_nogc_env;
|
|
52
|
+
#endif
|
|
53
|
+
|
|
25
54
|
typedef struct napi_value__* napi_value;
|
|
26
55
|
typedef struct napi_ref__* napi_ref;
|
|
27
56
|
typedef struct napi_handle_scope__* napi_handle_scope;
|
|
@@ -116,6 +145,16 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
|
|
|
116
145
|
void* finalize_data,
|
|
117
146
|
void* finalize_hint);
|
|
118
147
|
|
|
148
|
+
#if !defined(NAPI_EXPERIMENTAL) || \
|
|
149
|
+
(defined(NAPI_EXPERIMENTAL) && \
|
|
150
|
+
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
|
|
151
|
+
typedef napi_finalize node_api_nogc_finalize;
|
|
152
|
+
#else
|
|
153
|
+
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
|
|
154
|
+
void* finalize_data,
|
|
155
|
+
void* finalize_hint);
|
|
156
|
+
#endif
|
|
157
|
+
|
|
119
158
|
typedef struct {
|
|
120
159
|
// One of utf8name or name should be NULL.
|
|
121
160
|
const char* utf8name;
|
package/include/node/node.h
CHANGED
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
|
|
81
81
|
#include <functional>
|
|
82
82
|
#include <memory>
|
|
83
|
+
#include <optional>
|
|
83
84
|
#include <ostream>
|
|
84
85
|
|
|
85
86
|
// We cannot use __POSIX__ in this header because that's only defined when
|
|
@@ -659,6 +660,33 @@ enum Flags : uint64_t {
|
|
|
659
660
|
};
|
|
660
661
|
} // namespace EnvironmentFlags
|
|
661
662
|
|
|
663
|
+
enum class SnapshotFlags : uint32_t {
|
|
664
|
+
kDefault = 0,
|
|
665
|
+
// Whether code cache should be generated as part of the snapshot.
|
|
666
|
+
// Code cache reduces the time spent on compiling functions included
|
|
667
|
+
// in the snapshot at the expense of a bigger snapshot size and
|
|
668
|
+
// potentially breaking portability of the snapshot.
|
|
669
|
+
kWithoutCodeCache = 1 << 0,
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
struct SnapshotConfig {
|
|
673
|
+
SnapshotFlags flags = SnapshotFlags::kDefault;
|
|
674
|
+
|
|
675
|
+
// When builder_script_path is std::nullopt, the snapshot is generated as a
|
|
676
|
+
// built-in snapshot instead of a custom one, and it's expected that the
|
|
677
|
+
// built-in snapshot only contains states that reproduce in every run of the
|
|
678
|
+
// application. The event loop won't be run when generating a built-in
|
|
679
|
+
// snapshot, so asynchronous operations should be avoided.
|
|
680
|
+
//
|
|
681
|
+
// When builder_script_path is an std::string, it should match args[1]
|
|
682
|
+
// passed to CreateForSnapshotting(). The embedder is also expected to use
|
|
683
|
+
// LoadEnvironment() to run a script matching this path. In that case the
|
|
684
|
+
// snapshot is generated as a custom snapshot and the event loop is run, so
|
|
685
|
+
// the snapshot builder can execute asynchronous operations as long as they
|
|
686
|
+
// are run to completion when the snapshot is taken.
|
|
687
|
+
std::optional<std::string> builder_script_path;
|
|
688
|
+
};
|
|
689
|
+
|
|
662
690
|
struct InspectorParentHandle {
|
|
663
691
|
virtual ~InspectorParentHandle() = default;
|
|
664
692
|
};
|
|
@@ -870,7 +898,8 @@ class NODE_EXTERN CommonEnvironmentSetup {
|
|
|
870
898
|
MultiIsolatePlatform* platform,
|
|
871
899
|
std::vector<std::string>* errors,
|
|
872
900
|
const std::vector<std::string>& args = {},
|
|
873
|
-
const std::vector<std::string>& exec_args = {}
|
|
901
|
+
const std::vector<std::string>& exec_args = {},
|
|
902
|
+
const SnapshotConfig& snapshot_config = {});
|
|
874
903
|
EmbedderSnapshotData::Pointer CreateSnapshot();
|
|
875
904
|
|
|
876
905
|
struct uv_loop_s* event_loop() const;
|
|
@@ -905,7 +934,8 @@ class NODE_EXTERN CommonEnvironmentSetup {
|
|
|
905
934
|
std::vector<std::string>*,
|
|
906
935
|
const EmbedderSnapshotData*,
|
|
907
936
|
uint32_t flags,
|
|
908
|
-
std::function<Environment*(const CommonEnvironmentSetup*)
|
|
937
|
+
std::function<Environment*(const CommonEnvironmentSetup*)>,
|
|
938
|
+
const SnapshotConfig* config = nullptr);
|
|
909
939
|
};
|
|
910
940
|
|
|
911
941
|
// Implementation for CommonEnvironmentSetup::Create
|