aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v1.json11
-rw-r--r--lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v2.json28
-rw-r--r--lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v3.json23
-rw-r--r--lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/package.json8
-rw-r--r--lib/bb/tests/fetch-testdata/npm-local-link-sources/package.json5
-rw-r--r--lib/bb/tests/fetch.py18
6 files changed, 93 insertions, 0 deletions
diff --git a/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v1.json b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v1.json
new file mode 100644
index 000000000..bcdca7de9
--- /dev/null
+++ b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v1.json
@@ -0,0 +1,11 @@
+{
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@npm-local-link-sources/upper": {
+ "version": "file:.."
+ }
+ }
+}
diff --git a/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v2.json b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v2.json
new file mode 100644
index 000000000..2427acf2d
--- /dev/null
+++ b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v2.json
@@ -0,0 +1,28 @@
+{
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "dependencies": {
+ "@npm-local-link-sources/upper": "file:../"
+ }
+ },
+ "..": {
+ "name": "@npm-local-link-sources/upper",
+ "version": "1.0.0"
+ },
+ "node_modules/@npm-local-link-sources/upper": {
+ "resolved": "..",
+ "link": true
+ }
+ },
+ "dependencies": {
+ "@npm-local-link-sources/upper": {
+ "version": "file:.."
+ }
+ }
+}
diff --git a/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v3.json b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v3.json
new file mode 100644
index 000000000..99e0e8f6b
--- /dev/null
+++ b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/npm-shrinkwrap-v3.json
@@ -0,0 +1,23 @@
+{
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "dependencies": {
+ "@npm-local-link-sources/upper": "file:../"
+ }
+ },
+ "..": {
+ "name": "@npm-local-link-sources/upper",
+ "version": "1.0.0"
+ },
+ "node_modules/@npm-local-link-sources/upper": {
+ "resolved": "..",
+ "link": true
+ }
+ }
+}
diff --git a/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/package.json b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/package.json
new file mode 100644
index 000000000..a578771b9
--- /dev/null
+++ b/lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "@npm-local-link-sources/inner",
+ "version": "1.0.0",
+ "description": "Inner project in npm-local-link-sources example",
+ "dependencies": {
+ "@npm-local-link-sources/upper": "file:../"
+ }
+}
diff --git a/lib/bb/tests/fetch-testdata/npm-local-link-sources/package.json b/lib/bb/tests/fetch-testdata/npm-local-link-sources/package.json
new file mode 100644
index 000000000..42176c3ed
--- /dev/null
+++ b/lib/bb/tests/fetch-testdata/npm-local-link-sources/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "@npm-local-link-sources/upper",
+ "version": "1.0.0",
+ "description": "Upper project in npm-local-link-sources example"
+}
diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py
index 85c1f79ff..5233ab5c8 100644
--- a/lib/bb/tests/fetch.py
+++ b/lib/bb/tests/fetch.py
@@ -2891,6 +2891,24 @@ class NPMTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'gitlab.com.gitlab-examples.nodejs.git')))
@skipIfNoNpm()
+ def test_npmsw_local_link_sources(self):
+ # generated with npm-10 in:
+ # lib/bb/tests/fetch-testdata/npm-local-link-sources/inner/
+ testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata"
+ testdir = os.path.join(testdata, 'npm-local-link-sources')
+
+ self.sdir = os.path.join(self.unpackdir, testdata[1:], 'npm-local-link-sources', 'inner')
+ self.d.setVar('S', os.path.join(self.sdir))
+
+ fetcher = bb.fetch.Fetch(['file://%s/' % testdir, 'npmsw://%s/inner/npm-shrinkwrap-v3.json' % testdir], self.d)
+ fetcher.download()
+ fetcher.unpack(self.unpackdir)
+
+ swf = os.path.join(self.sdir, 'npm-shrinkwrap-v3.json')
+ pkgf = os.path.join(self.sdir, 'node_modules', '@npm-local-link-sources/upper', 'package.json')
+ self.assertTrue(os.path.exists(swf), msg="%s doesn't exist" % swf)
+ self.assertTrue(os.path.exists(pkgf), msg="%s doesn't exist" % pkgf)
+
@skipIfNoNetwork()
def test_npmsw_dev(self):
swfile = self.create_shrinkwrap_file({