buninu-linux 0.8.55 → 0.8.56
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/NOTICE.md +46 -46
- package/README.md +7 -6
- package/initramfs/usr/share/doc/buninu-linux/tar.md +1 -1
- package/package.json +1 -1
- package/scripts/arch.js +5 -5
- package/scripts/arch.sh +5 -5
- package/scripts/npm-packages.md +4 -3
- package/test/fetch-npm.test.js +1 -1
package/NOTICE.md
CHANGED
|
@@ -105,83 +105,83 @@ the built image redistributes them.
|
|
|
105
105
|
- License: GPL-2.0-only WITH Linux-syscall-note
|
|
106
106
|
- See: `LICENSES/GPL-2.0.txt` and `LICENSES/Linux-syscall-note.txt`
|
|
107
107
|
|
|
108
|
-
Linux 6.18.
|
|
109
|
-
The default build uses package `linux-virt`, version 6.18.
|
|
110
|
-
`--linux-lts` and `--real` use package `linux-lts`, version 6.18.
|
|
108
|
+
Linux 6.18.56 as packaged by Alpine Linux 3.24 from the `linux-lts` aport.
|
|
109
|
+
The default build uses package `linux-virt`, version 6.18.56-r0.
|
|
110
|
+
`--linux-lts` and `--real` use package `linux-lts`, version 6.18.56-r0.
|
|
111
111
|
Each comes from the x86_64 or aarch64 repository to match `--arch`. All
|
|
112
112
|
listed modules are the selected package's `.ko.gz` files decompressed without
|
|
113
113
|
modification.
|
|
114
114
|
|
|
115
|
-
- Upstream source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.
|
|
115
|
+
- Upstream source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.56.tar.xz
|
|
116
116
|
- Alpine build recipe, configuration and patches (Corresponding Source),
|
|
117
|
-
pinned to the commit shipping 6.18.
|
|
118
|
-
https://gitlab.alpinelinux.org/alpine/aports/-/blob/
|
|
117
|
+
pinned to the commit shipping 6.18.56-r0 (the same for both architectures):
|
|
118
|
+
https://gitlab.alpinelinux.org/alpine/aports/-/blob/efc8ddbb20c827d2bd8223c19a2625e754e5cb3c/main/linux-lts/APKBUILD
|
|
119
119
|
- Packages:
|
|
120
|
-
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/linux-virt-6.18.
|
|
121
|
-
SHA-256 `
|
|
122
|
-
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/linux-lts-6.18.
|
|
123
|
-
SHA-256 `
|
|
124
|
-
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/aarch64/linux-virt-6.18.
|
|
125
|
-
SHA-256 `
|
|
126
|
-
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/aarch64/linux-lts-6.18.
|
|
127
|
-
SHA-256 `
|
|
120
|
+
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/linux-virt-6.18.56-r0.apk
|
|
121
|
+
SHA-256 `755deb045cfeb8c2bcaa2b2febe01ab2101d747921e64d4cd54d0312321e8d5d`
|
|
122
|
+
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/linux-lts-6.18.56-r0.apk
|
|
123
|
+
SHA-256 `b0d8cc4d7e031b5619221e7978920d051bf1dd1e335f6d05d03964b2285fc3b4`
|
|
124
|
+
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/aarch64/linux-virt-6.18.56-r0.apk
|
|
125
|
+
SHA-256 `e3839bfd751ff0a4421484f712b9b29efb514024523736a0ef62521521571b12`
|
|
126
|
+
https://dl-cdn.alpinelinux.org/alpine/v3.24/main/aarch64/linux-lts-6.18.56-r0.apk
|
|
127
|
+
SHA-256 `795bcd49840be7f4ff9566f5f669201bd41202376a455b720a98eb814f0e72f8`
|
|
128
128
|
|
|
129
129
|
SHA-256 of files in the default x86_64 `linux-virt` image:
|
|
130
130
|
|
|
131
131
|
```text
|
|
132
|
-
kernel/x86_64/vmlinuz-virt
|
|
133
|
-
failover.ko
|
|
134
|
-
net_failover.ko
|
|
135
|
-
virtio_net.ko
|
|
132
|
+
kernel/x86_64/vmlinuz-virt dc99c86bb8e58cb4eda5f01eac44c4d972105945a46dfe76a9e86e8529915c72
|
|
133
|
+
failover.ko ddf94fe8a89b24e839f21866f828adc3eb91e62fa46dd977c74d7c2b6f92fe21
|
|
134
|
+
net_failover.ko fb710ef0450417dea2f6dede919d14f5a4a94b1be73f338cfe2ed05e32f0cc30
|
|
135
|
+
virtio_net.ko 2fb98ab7d06cfb7a1e1a07dcc5098da44316360097d75e288a30ad4855c449f7
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
SHA-256 of files in an x86_64 `--linux-lts` image:
|
|
139
139
|
|
|
140
140
|
```text
|
|
141
|
-
kernel/x86_64/vmlinuz-lts
|
|
142
|
-
failover.ko
|
|
143
|
-
net_failover.ko
|
|
144
|
-
virtio_net.ko
|
|
145
|
-
virtio_ring.ko
|
|
146
|
-
virtio.ko
|
|
147
|
-
virtio_pci_legacy_dev.ko
|
|
148
|
-
virtio_pci_modern_dev.ko
|
|
149
|
-
virtio_pci.ko
|
|
141
|
+
kernel/x86_64/vmlinuz-lts e893ce0f7aecbdf2dcf012659ec5a0b35740780ae5c3af5ad188029f5cd4aa8f
|
|
142
|
+
failover.ko 59e4e4808dca2d18d849c2da850e4ea659485007b09a690c7e57fb0e623cd1df
|
|
143
|
+
net_failover.ko 20dd06a6f6f1528079a438630d741f125d11cc9bae58d618e0e6381f8bff6f5c
|
|
144
|
+
virtio_net.ko 39bcd12bfc3149351fa226dabdbb1f82137c53f3b1ccbacbf30661bf8ff99ad4
|
|
145
|
+
virtio_ring.ko e8fdebd89345ef39a54d3b23e6f2a57c6c4b201708b35113705b56d0fa373596
|
|
146
|
+
virtio.ko d4ab148e31f5d4d5a1dd3c3f30bb52ba9a13e670929c9f7f1668396edf8049b7
|
|
147
|
+
virtio_pci_legacy_dev.ko 15c35c8875b68dcaed3ac58d463d1b3f2c3e52dcf9a3840366d3fa6da7cd4dd7
|
|
148
|
+
virtio_pci_modern_dev.ko 59bd6e34e6cf3c0ce54bab1eca1d7ac0325112280a6718613460002d2cde70d0
|
|
149
|
+
virtio_pci.ko cc3ad8eaffa321bd58dbd663afba074dee81a5ad6f283d50cd5b1b340672430e
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
`--real` additionally includes the following modules from that same
|
|
153
153
|
x86_64 `linux-lts` package for physical xHCI controllers and USB HID keyboards:
|
|
154
154
|
|
|
155
155
|
```text
|
|
156
|
-
usb-common.ko
|
|
157
|
-
usbcore.ko
|
|
158
|
-
xhci-hcd.ko
|
|
159
|
-
xhci-pci.ko
|
|
160
|
-
xhci-pci-renesas.ko
|
|
161
|
-
hid.ko
|
|
162
|
-
hid-generic.ko
|
|
163
|
-
usbhid.ko
|
|
156
|
+
usb-common.ko 37feaa14670d4bbd3dca77d701344d2fb02e2cb139d21c5af8b2c140aab5c6fe
|
|
157
|
+
usbcore.ko 75efddfd7d1bf996ad99f0d9be790be767ca72ebdb53a00194b449c3588faa16
|
|
158
|
+
xhci-hcd.ko bd5772b2ba908dff16c74ae10211a1e5cfd72910d861dbdf30b8f71c5995066a
|
|
159
|
+
xhci-pci.ko 6c688038c9b45297fce752c8f0443cd0f398f31e0b4efffd7f869325ce9884fa
|
|
160
|
+
xhci-pci-renesas.ko aa08808c9e609fe570a1c5b90d0f0ba33f2ca2e7d84e8ccbb3a2856fe65a7b3f
|
|
161
|
+
hid.ko 161160bf12d18a24c25aef6355e265142fc4fb2122b09923a6e184fabedf6246
|
|
162
|
+
hid-generic.ko 6d5ae3cfd8f8b034cbe444869485ac9012376c4ca604a3cd039f0cae442005f9
|
|
163
|
+
usbhid.ko 6ed1e4891b242f64520621d689a24828dfc24a96236c71b86d9af9361248aa5a
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
SHA-256 of files in the default aarch64 `linux-virt` image:
|
|
167
167
|
|
|
168
168
|
```text
|
|
169
|
-
kernel/aarch64/vmlinuz-virt
|
|
170
|
-
failover.ko
|
|
171
|
-
net_failover.ko
|
|
172
|
-
virtio_net.ko
|
|
169
|
+
kernel/aarch64/vmlinuz-virt 039c532c2fa8f49896a679065d79a03b8a444c9d54fa80ac9bc4d0ce1ecd0ca6
|
|
170
|
+
failover.ko ce65a98acce98720753c4a9a7e339f6c70d22eae70b65cc1b4211543a7c6c3a3
|
|
171
|
+
net_failover.ko 39c9222d800ae95d8a82ff797e408187411ac2ff47bec2c9d7ddbfe99537dbe3
|
|
172
|
+
virtio_net.ko 762f8e362ae2e2bbf200ab9bc742524999e8bce12c72671bf8560fd9bb7907d5
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
SHA-256 of files in an aarch64 `--linux-lts` image:
|
|
176
176
|
|
|
177
177
|
```text
|
|
178
|
-
kernel/aarch64/vmlinuz-lts
|
|
179
|
-
failover.ko
|
|
180
|
-
net_failover.ko
|
|
181
|
-
virtio_net.ko
|
|
182
|
-
virtio_pci_legacy_dev.ko
|
|
183
|
-
virtio_pci_modern_dev.ko
|
|
184
|
-
virtio_pci.ko
|
|
178
|
+
kernel/aarch64/vmlinuz-lts de5ff95fd663a30e53765cb0794707656bb80749d77f16bbf94225d17c512447
|
|
179
|
+
failover.ko 7f3d40067603c9916d22e9d85fea1512bd95c087aaae774e5ea70f8bacb7ae04
|
|
180
|
+
net_failover.ko 085e4fd53a40704408b6bf914ee464d16007296fa3615940fa54688afe84466c
|
|
181
|
+
virtio_net.ko 4ea86521819063df91cfd18191e8bc2bd2551392e8f7a33126df0aba675ee409
|
|
182
|
+
virtio_pci_legacy_dev.ko baf8033c183819a8bccacf36677247740a5cff9eec9b403b94840af258b60b6e
|
|
183
|
+
virtio_pci_modern_dev.ko 2905133de7c9baceff9fc6a27dba9b8469744019545c19cf1456e64f7e50f062
|
|
184
|
+
virtio_pci.ko 3b506947c25866e08a311f124cd143bd0f501179f0b556aed7ca4d6632143d8d
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
### linuxx64.efi.stub and linuxaa64.efi.stub
|
package/README.md
CHANGED
|
@@ -1112,7 +1112,7 @@ initramfs/ init.js, commands, userspace: the same for every archi
|
|
|
1112
1112
|
native/<arch>/ musl and the GCC runtime (committed); bun and modules (fetched)
|
|
1113
1113
|
```
|
|
1114
1114
|
|
|
1115
|
-
The `--real` inputs are Alpine v3.24 `linux-lts-6.18.
|
|
1115
|
+
The `--real` inputs are Alpine v3.24 `linux-lts-6.18.56-r0`, musl `1.2.6-r2`,
|
|
1116
1116
|
`systemd-efistub-260.2-r0`, `libstdc++`/`libgcc` `15.2.0-r5`, and Bun 1.4.2
|
|
1117
1117
|
`linux-x64-musl-baseline`. The aarch64 guest uses the same versions from
|
|
1118
1118
|
Alpine's aarch64 repository and Bun's `linux-aarch64-musl`. There is no BusyBox
|
|
@@ -1127,10 +1127,11 @@ extracts from it. Bumping a version changes both the file name and the hash, so
|
|
|
1127
1127
|
it always refetches.
|
|
1128
1128
|
|
|
1129
1129
|
The four application packages are pinned separately in
|
|
1130
|
-
`scripts/npm-packages.md`: `buninu-browser@0.2.
|
|
1130
|
+
`scripts/npm-packages.md`: `buninu-browser@0.2.3`,
|
|
1131
1131
|
`@drxiaozhi/casty@1.3.4`, `@drxiaozhi/jspulse@0.2.1`, and
|
|
1132
1132
|
`@drxiaozhi/jspinyin@0.1.1`. These were npm's `latest` versions when checked
|
|
1133
|
-
on 2026-10-11
|
|
1133
|
+
on 2026-10-11, with buninu-browser updated to npm's `latest` on 2026-10-12;
|
|
1134
|
+
fetch never resolves `latest` or a version range at runtime.
|
|
1134
1135
|
Each registry tarball was checked against its published SHA-512 integrity
|
|
1135
1136
|
before its SHA-256 was recorded in the shared pins file.
|
|
1136
1137
|
|
|
@@ -1274,7 +1275,7 @@ The physical boot chain is firmware → the UKI stub → its embedded
|
|
|
1274
1275
|
and, with the currently pinned kernel, embeds this complete command line:
|
|
1275
1276
|
|
|
1276
1277
|
```text
|
|
1277
|
-
console=ttyS0,115200 console=tty0 REAL_MACHINE=1 panic=0 PATH=/bin KERNEL_RELEASE=6.18.
|
|
1278
|
+
console=ttyS0,115200 console=tty0 REAL_MACHINE=1 panic=0 PATH=/bin KERNEL_RELEASE=6.18.56-0-lts rdinit=/bin/bun -- -e import('/init.js')
|
|
1278
1279
|
```
|
|
1279
1280
|
|
|
1280
1281
|
Serial kernel logging is retained, while the final console makes
|
|
@@ -1298,7 +1299,7 @@ the same way). Build without `--real`; this selects Alpine `linux-virt`, omits t
|
|
|
1298
1299
|
module set, and puts `ttyS0` last so serial stdio owns `/dev/console`:
|
|
1299
1300
|
|
|
1300
1301
|
```text
|
|
1301
|
-
console=tty0 console=ttyS0,115200 panic=0 PATH=/bin KERNEL_RELEASE=6.18.
|
|
1302
|
+
console=tty0 console=ttyS0,115200 panic=0 PATH=/bin KERNEL_RELEASE=6.18.56-0-virt rdinit=/bin/bun -- -e import('/init.js')
|
|
1302
1303
|
```
|
|
1303
1304
|
|
|
1304
1305
|
Build and boot it with:
|
|
@@ -1415,7 +1416,7 @@ The default `--real` image embeds this kernel command line (shown for the
|
|
|
1415
1416
|
currently pinned LTS release):
|
|
1416
1417
|
|
|
1417
1418
|
```text
|
|
1418
|
-
console=ttyS0,115200 console=tty0 REAL_MACHINE=1 panic=0 PATH=/bin KERNEL_RELEASE=6.18.
|
|
1419
|
+
console=ttyS0,115200 console=tty0 REAL_MACHINE=1 panic=0 PATH=/bin KERNEL_RELEASE=6.18.56-0-lts rdinit=/bin/bun -- -e import('/init.js')
|
|
1419
1420
|
```
|
|
1420
1421
|
|
|
1421
1422
|
The physical display (`tty0`) is the final console and therefore owns PID 1's
|
|
@@ -50,7 +50,7 @@ tar --zstd -xf backup.tar.zst -C /mnt/restore
|
|
|
50
50
|
tar -xzf package.tgz -C /tmp/package --strip-components=1
|
|
51
51
|
|
|
52
52
|
# Exclude browser resources; match before removing package/
|
|
53
|
-
tar -xzf buninu-browser
|
|
53
|
+
tar -xzf buninu-browser-*.tgz -C /tmp/browser --strip-components=1 --exclude=package/usr
|
|
54
54
|
|
|
55
55
|
# An Alpine root filesystem, symbolic links and all; then enter it
|
|
56
56
|
tar -xzf alpine-minirootfs-3.24.1-x86_64.tar.gz -C /mnt/alpine
|
package/package.json
CHANGED
package/scripts/arch.js
CHANGED
|
@@ -16,8 +16,8 @@ export const rootDir = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
|
16
16
|
|
|
17
17
|
const pins = {
|
|
18
18
|
x86_64: {
|
|
19
|
-
linuxVirtSha256: "
|
|
20
|
-
linuxLtsSha256: "
|
|
19
|
+
linuxVirtSha256: "755deb045cfeb8c2bcaa2b2febe01ab2101d747921e64d4cd54d0312321e8d5d",
|
|
20
|
+
linuxLtsSha256: "b0d8cc4d7e031b5619221e7978920d051bf1dd1e335f6d05d03964b2285fc3b4",
|
|
21
21
|
muslSha256: "573712e2f49c15bfc20a2699f204acdfc74c772722b15e7353d768057fae0e71",
|
|
22
22
|
stubSha256: "8e64a5a3afee5f930e6e6716be726dc6d405530ac7f8fa5be6251dae68671ec9",
|
|
23
23
|
libstdcppSha256: "14c987b556f5385a5db18376e788c75f37d85321b8dc1920d926ea7daac1d6f6",
|
|
@@ -32,8 +32,8 @@ const pins = {
|
|
|
32
32
|
serialMajor: 4,
|
|
33
33
|
},
|
|
34
34
|
aarch64: {
|
|
35
|
-
linuxVirtSha256: "
|
|
36
|
-
linuxLtsSha256: "
|
|
35
|
+
linuxVirtSha256: "e3839bfd751ff0a4421484f712b9b29efb514024523736a0ef62521521571b12",
|
|
36
|
+
linuxLtsSha256: "795bcd49840be7f4ff9566f5f669201bd41202376a455b720a98eb814f0e72f8",
|
|
37
37
|
muslSha256: "5e9674b7f41152fe2119093b5cb4c13eaaadb19c2d5422b2d7267913e663ee6e",
|
|
38
38
|
stubSha256: "a1823d2d7082db555d528f82c1809f276c818aeb5b40f198f4565f104e055c38",
|
|
39
39
|
libstdcppSha256: "2302e766d4e4926038ec166ecb85837ee884576115236ddb565e3a5fca4a11d7",
|
|
@@ -67,7 +67,7 @@ export const config = ({
|
|
|
67
67
|
// The Alpine repository keeps only the newest build of a package, so a pin
|
|
68
68
|
// stops downloading when Alpine bumps it; the hashes then fail loudly.
|
|
69
69
|
const alpineBase = `${mirror}/v3.24/main/${arch}`;
|
|
70
|
-
const kernelVersion = "6.18.
|
|
70
|
+
const kernelVersion = "6.18.56";
|
|
71
71
|
const kernelRelease = `${kernelVersion}-0-${flavor}`;
|
|
72
72
|
const bunVersion = "1.4.2";
|
|
73
73
|
const downloadsDir = join(rootDir, "downloads", arch);
|
package/scripts/arch.sh
CHANGED
|
@@ -44,7 +44,7 @@ fi
|
|
|
44
44
|
alpine_mirror=${ALPINE_MIRROR:-https://dl-cdn.alpinelinux.org/alpine}
|
|
45
45
|
alpine_base="$alpine_mirror/v3.24/main/$arch"
|
|
46
46
|
|
|
47
|
-
kernel_version=6.18.
|
|
47
|
+
kernel_version=6.18.56
|
|
48
48
|
kernel_release="$kernel_version-0-$linux_flavor"
|
|
49
49
|
linux_package="linux-$linux_flavor-$kernel_version-r0.apk"
|
|
50
50
|
musl_package=musl-1.2.6-r2.apk
|
|
@@ -63,8 +63,8 @@ musl_libc="libc.musl-$arch.so.1"
|
|
|
63
63
|
|
|
64
64
|
case $arch in
|
|
65
65
|
x86_64)
|
|
66
|
-
linux_virt_sha256=
|
|
67
|
-
linux_lts_sha256=
|
|
66
|
+
linux_virt_sha256=755deb045cfeb8c2bcaa2b2febe01ab2101d747921e64d4cd54d0312321e8d5d
|
|
67
|
+
linux_lts_sha256=b0d8cc4d7e031b5619221e7978920d051bf1dd1e335f6d05d03964b2285fc3b4
|
|
68
68
|
musl_sha256=573712e2f49c15bfc20a2699f204acdfc74c772722b15e7353d768057fae0e71
|
|
69
69
|
stub_sha256=8e64a5a3afee5f930e6e6716be726dc6d405530ac7f8fa5be6251dae68671ec9
|
|
70
70
|
libstdcpp_sha256=14c987b556f5385a5db18376e788c75f37d85321b8dc1920d926ea7daac1d6f6
|
|
@@ -82,8 +82,8 @@ case $arch in
|
|
|
82
82
|
serial_major=4
|
|
83
83
|
;;
|
|
84
84
|
aarch64)
|
|
85
|
-
linux_virt_sha256=
|
|
86
|
-
linux_lts_sha256=
|
|
85
|
+
linux_virt_sha256=e3839bfd751ff0a4421484f712b9b29efb514024523736a0ef62521521571b12
|
|
86
|
+
linux_lts_sha256=795bcd49840be7f4ff9566f5f669201bd41202376a455b720a98eb814f0e72f8
|
|
87
87
|
musl_sha256=5e9674b7f41152fe2119093b5cb4c13eaaadb19c2d5422b2d7267913e663ee6e
|
|
88
88
|
stub_sha256=a1823d2d7082db555d528f82c1809f276c818aeb5b40f198f4565f104e055c38
|
|
89
89
|
libstdcpp_sha256=2302e766d4e4926038ec166ecb85837ee884576115236ddb565e3a5fca4a11d7
|
package/scripts/npm-packages.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# npm packages
|
|
2
2
|
# Latest versions checked on 2026-10-11; SHA-256 pins verified against registry SHA-512 integrity.
|
|
3
|
+
# buninu-browser updated and verified on 2026-10-12.
|
|
3
4
|
|
|
4
|
-
"buninu-browser@0.2.
|
|
5
|
-
- https://registry.npmjs.org/buninu-browser/-/buninu-browser-0.2.
|
|
6
|
-
- sha256:
|
|
5
|
+
"buninu-browser@0.2.3":
|
|
6
|
+
- https://registry.npmjs.org/buninu-browser/-/buninu-browser-0.2.3.tgz
|
|
7
|
+
- sha256:0f7c9cd9df689d7b0900fdf3172851125ebd8aba12bed555be7e091d427146e8
|
|
7
8
|
|
|
8
9
|
"@drxiaozhi/casty@1.3.4":
|
|
9
10
|
- https://registry.npmjs.org/@drxiaozhi/casty/-/casty-1.3.4.tgz
|
package/test/fetch-npm.test.js
CHANGED
|
@@ -23,7 +23,7 @@ const url = `http://127.0.0.1:${server.port}/archive`;
|
|
|
23
23
|
|
|
24
24
|
test("four exact registry pins share an architecture-independent cache", () => {
|
|
25
25
|
expect(npmPackages.map(({ name, version }) => `${name}@${version}`)).toEqual([
|
|
26
|
-
"buninu-browser@0.2.
|
|
26
|
+
"buninu-browser@0.2.3", "@drxiaozhi/casty@1.3.4",
|
|
27
27
|
"@drxiaozhi/jspulse@0.2.1", "@drxiaozhi/jspinyin@0.1.1",
|
|
28
28
|
]);
|
|
29
29
|
expect(basename(npmDownloadsDir)).toBe("npm");
|