8889841clerna.json000066600000000077150513215530006550 0ustar00{ "packages": [ "packages/*" ], "version": "0.0.0" } packages/package-a/index.js000066600000002447150513215530011613 0ustar00'use strict'; var assert = require('assert'); var path = require('path'); var resolve = require('resolve'); var basedir = __dirname + '/node_modules/@my-scope/package-b'; var expected = path.join(__dirname, '../../node_modules/jquery/dist/jquery.js'); /* * preserveSymlinks === false * will search NPM package from * - packages/package-b/node_modules * - packages/node_modules * - node_modules */ assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: false }), expected); assert.equal(resolve.sync('../../node_modules/jquery', { basedir: basedir, preserveSymlinks: false }), expected); /* * preserveSymlinks === true * will search NPM package from * - packages/package-a/node_modules/@my-scope/packages/package-b/node_modules * - packages/package-a/node_modules/@my-scope/packages/node_modules * - packages/package-a/node_modules/@my-scope/node_modules * - packages/package-a/node_modules/node_modules * - packages/package-a/node_modules * - packages/node_modules * - node_modules */ assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: true }), expected); assert.equal(resolve.sync('../../../../../node_modules/jquery', { basedir: basedir, preserveSymlinks: true }), expected); console.log(' * all monorepo paths successfully resolved through symlinks'); packages/package-a/package.json000066600000000431150513215530012423 0ustar00{ "name": "@my-scope/package-a", "version": "0.0.0", "private": true, "description": "", "license": "MIT", "main": "index.js", "scripts": { "test": "echo \"Error: run tests from root\" && exit 1" }, "dependencies": { "@my-scope/package-b": "^0.0.0" } } packages/package-b/index.js000066600000000000150513215530011573 0ustar00packages/package-b/package.json000066600000000431150513215530012424 0ustar00{ "name": "@my-scope/package-b", "private": true, "version": "0.0.0", "description": "", "license": "MIT", "main": "index.js", "scripts": { "test": "echo \"Error: run tests from root\" && exit 1" }, "dependencies": { "@my-scope/package-a": "^0.0.0" } } package.json000066600000000574150513215530007044 0ustar00{ "name": "monorepo-symlink-test", "private": true, "version": "0.0.0", "description": "", "main": "index.js", "scripts": { "postinstall": "lerna bootstrap", "test": "node packages/package-a" }, "author": "", "license": "MIT", "dependencies": { "jquery": "^3.3.1", "resolve": "../../../" }, "devDependencies": { "lerna": "^3.4.3" } }