summaryrefslogtreecommitdiff
path: root/tests/specs/npm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/npm')
-rw-r--r--tests/specs/npm/lock_file_integrity_failure/__test__.jsonc5
-rw-r--r--tests/specs/npm/lock_file_integrity_failure/lock.json164
-rw-r--r--tests/specs/npm/lock_file_integrity_failure/main.js5
-rw-r--r--tests/specs/npm/lock_file_integrity_failure/main.out12
4 files changed, 186 insertions, 0 deletions
diff --git a/tests/specs/npm/lock_file_integrity_failure/__test__.jsonc b/tests/specs/npm/lock_file_integrity_failure/__test__.jsonc
new file mode 100644
index 000000000..d2f1b06a2
--- /dev/null
+++ b/tests/specs/npm/lock_file_integrity_failure/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run --allow-read --allow-env --lock lock.json main.js",
+ "output": "main.out",
+ "exitCode": 10
+}
diff --git a/tests/specs/npm/lock_file_integrity_failure/lock.json b/tests/specs/npm/lock_file_integrity_failure/lock.json
new file mode 100644
index 000000000..57253314e
--- /dev/null
+++ b/tests/specs/npm/lock_file_integrity_failure/lock.json
@@ -0,0 +1,164 @@
+{
+ "version": "2",
+ "remote": {},
+ "npm": {
+ "specifiers": { "fs-extra@10.1.0": "fs-extra@10.1.0", "vue": "vue@3.2.38" },
+ "packages": {
+ "@babel/parser@7.19.0": {
+ "integrity": "sha512-foobar!",
+ "dependencies": {}
+ },
+ "@vue/compiler-core@3.2.38": {
+ "integrity": "sha512-/FsvnSu7Z+lkd/8KXMa4yYNUiqQrI22135gfsQYVGuh5tqEgOB0XqrUdb/KnCLa5+TmQLPwvyUnKMyCpu+SX3Q==",
+ "dependencies": {
+ "@babel/parser": "@babel/parser@7.19.0",
+ "@vue/shared": "@vue/shared@3.2.38",
+ "estree-walker": "estree-walker@2.0.2",
+ "source-map": "source-map@0.6.1"
+ }
+ },
+ "@vue/compiler-dom@3.2.38": {
+ "integrity": "sha512-zqX4FgUbw56kzHlgYuEEJR8mefFiiyR3u96498+zWPsLeh1WKvgIReoNE+U7gG8bCUdvsrJ0JRmev0Ky6n2O0g==",
+ "dependencies": {
+ "@vue/compiler-core": "@vue/compiler-core@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38"
+ }
+ },
+ "@vue/compiler-sfc@3.2.38": {
+ "integrity": "sha512-KZjrW32KloMYtTcHAFuw3CqsyWc5X6seb8KbkANSWt3Cz9p2qA8c1GJpSkksFP9ABb6an0FLCFl46ZFXx3kKpg==",
+ "dependencies": {
+ "@babel/parser": "@babel/parser@7.19.0",
+ "@vue/compiler-core": "@vue/compiler-core@3.2.38",
+ "@vue/compiler-dom": "@vue/compiler-dom@3.2.38",
+ "@vue/compiler-ssr": "@vue/compiler-ssr@3.2.38",
+ "@vue/reactivity-transform": "@vue/reactivity-transform@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38",
+ "estree-walker": "estree-walker@2.0.2",
+ "magic-string": "magic-string@0.25.9",
+ "postcss": "postcss@8.4.16",
+ "source-map": "source-map@0.6.1"
+ }
+ },
+ "@vue/compiler-ssr@3.2.38": {
+ "integrity": "sha512-bm9jOeyv1H3UskNm4S6IfueKjUNFmi2kRweFIGnqaGkkRePjwEcfCVqyS3roe7HvF4ugsEkhf4+kIvDhip6XzQ==",
+ "dependencies": {
+ "@vue/compiler-dom": "@vue/compiler-dom@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38"
+ }
+ },
+ "@vue/reactivity-transform@3.2.38": {
+ "integrity": "sha512-3SD3Jmi1yXrDwiNJqQ6fs1x61WsDLqVk4NyKVz78mkaIRh6d3IqtRnptgRfXn+Fzf+m6B1KxBYWq1APj6h4qeA==",
+ "dependencies": {
+ "@babel/parser": "@babel/parser@7.19.0",
+ "@vue/compiler-core": "@vue/compiler-core@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38",
+ "estree-walker": "estree-walker@2.0.2",
+ "magic-string": "magic-string@0.25.9"
+ }
+ },
+ "@vue/reactivity@3.2.38": {
+ "integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==",
+ "dependencies": { "@vue/shared": "@vue/shared@3.2.38" }
+ },
+ "@vue/runtime-core@3.2.38": {
+ "integrity": "sha512-kk0qiSiXUU/IKxZw31824rxmFzrLr3TL6ZcbrxWTKivadoKupdlzbQM4SlGo4MU6Zzrqv4fzyUasTU1jDoEnzg==",
+ "dependencies": {
+ "@vue/reactivity": "@vue/reactivity@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38"
+ }
+ },
+ "@vue/runtime-dom@3.2.38": {
+ "integrity": "sha512-4PKAb/ck2TjxdMSzMsnHViOrrwpudk4/A56uZjhzvusoEU9xqa5dygksbzYepdZeB5NqtRw5fRhWIiQlRVK45A==",
+ "dependencies": {
+ "@vue/runtime-core": "@vue/runtime-core@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38",
+ "csstype": "csstype@2.6.20"
+ }
+ },
+ "@vue/server-renderer@3.2.38": {
+ "integrity": "sha512-pg+JanpbOZ5kEfOZzO2bt02YHd+ELhYP8zPeLU1H0e7lg079NtuuSB8fjLdn58c4Ou8UQ6C1/P+528nXnLPAhA==",
+ "dependencies": {
+ "@vue/compiler-ssr": "@vue/compiler-ssr@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38"
+ }
+ },
+ "@vue/shared@3.2.38": {
+ "integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==",
+ "dependencies": {}
+ },
+ "csstype@2.6.20": {
+ "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
+ "dependencies": {}
+ },
+ "estree-walker@2.0.2": {
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dependencies": {}
+ },
+ "fs-extra@10.1.0": {
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "dependencies": {
+ "graceful-fs": "graceful-fs@4.2.10",
+ "jsonfile": "jsonfile@6.1.0",
+ "universalify": "universalify@2.0.0"
+ }
+ },
+ "graceful-fs@4.2.10": {
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dependencies": {}
+ },
+ "jsonfile@6.1.0": {
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dependencies": {
+ "graceful-fs": "graceful-fs@4.2.10",
+ "universalify": "universalify@2.0.0"
+ }
+ },
+ "magic-string@0.25.9": {
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "dependencies": { "sourcemap-codec": "sourcemap-codec@1.4.8" }
+ },
+ "nanoid@3.3.4": {
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "dependencies": {}
+ },
+ "picocolors@1.0.0": {
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dependencies": {}
+ },
+ "postcss@8.4.16": {
+ "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+ "dependencies": {
+ "nanoid": "nanoid@3.3.4",
+ "picocolors": "picocolors@1.0.0",
+ "source-map-js": "source-map-js@1.0.2"
+ }
+ },
+ "source-map-js@1.0.2": {
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "dependencies": {}
+ },
+ "source-map@0.6.1": {
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dependencies": {}
+ },
+ "sourcemap-codec@1.4.8": {
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dependencies": {}
+ },
+ "universalify@2.0.0": {
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dependencies": {}
+ },
+ "vue@3.2.38": {
+ "integrity": "sha512-hHrScEFSmDAWL0cwO4B6WO7D3sALZPbfuThDsGBebthrNlDxdJZpGR3WB87VbjpPh96mep1+KzukYEhpHDFa8Q==",
+ "dependencies": {
+ "@vue/compiler-dom": "@vue/compiler-dom@3.2.38",
+ "@vue/compiler-sfc": "@vue/compiler-sfc@3.2.38",
+ "@vue/runtime-dom": "@vue/runtime-dom@3.2.38",
+ "@vue/server-renderer": "@vue/server-renderer@3.2.38",
+ "@vue/shared": "@vue/shared@3.2.38"
+ }
+ }
+ }
+ }
+}
diff --git a/tests/specs/npm/lock_file_integrity_failure/main.js b/tests/specs/npm/lock_file_integrity_failure/main.js
new file mode 100644
index 000000000..a7b5960ca
--- /dev/null
+++ b/tests/specs/npm/lock_file_integrity_failure/main.js
@@ -0,0 +1,5 @@
+import fsx from "npm:fs-extra@10.1.0";
+import { createApp } from "npm:vue";
+
+console.log(fsx.access);
+console.log(createApp);
diff --git a/tests/specs/npm/lock_file_integrity_failure/main.out b/tests/specs/npm/lock_file_integrity_failure/main.out
new file mode 100644
index 000000000..741edd9d2
--- /dev/null
+++ b/tests/specs/npm/lock_file_integrity_failure/main.out
@@ -0,0 +1,12 @@
+Download [WILDCARD]
+error: Integrity check failed for package: "npm:@babel/parser@7.19.0". Unable to verify that the package
+is the same as when the lockfile was generated.
+
+Actual: sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
+Expected: sha512-foobar!
+
+This could be caused by:
+ * the lock file may be corrupt
+ * the source itself may be corrupt
+
+Use the --lock-write flag to regenerate the lockfile at "[WILDCARD]lock.json".