Use relative paths in packages/*/package.json
When using versions and letting npm install dedupe the packages, npm audit does not work and it exits with a cryptic error: The server said: Invalid package tree, run npm install to rebuild your package-lock.json
This commit is contained in:
parent
7cc88bf25d
commit
23f2796d68
3933
package-lock.json
generated
3933
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -9,14 +9,17 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@rondo.dev/logger": "file:../logger",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
|
"http-errors": "^1.7.3",
|
||||||
"svg-captcha": "^1.4.0"
|
"svg-captcha": "^1.4.0"
|
||||||
},
|
},
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rondo.dev/test-utils": "0.0.1",
|
"@rondo.dev/test-utils": "file:../test-utils",
|
||||||
|
"body-parser": "^1.19.0",
|
||||||
"cookie-parser": "^1.4.4",
|
"cookie-parser": "^1.4.4",
|
||||||
"express-session": "^1.17.0",
|
"express-session": "^1.17.0",
|
||||||
"supertest": "^4.0.2"
|
"supertest": "^4.0.2"
|
||||||
|
|||||||
@ -5,6 +5,9 @@
|
|||||||
"rootDir": "src"
|
"rootDir": "src"
|
||||||
},
|
},
|
||||||
"references": [
|
"references": [
|
||||||
|
{
|
||||||
|
"path": "../logger"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "../test-utils"
|
"path": "../test-utils"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,22 +13,23 @@
|
|||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/common": "0.0.1",
|
"@rondo.dev/common": "file:../common",
|
||||||
"@rondo.dev/http-client": "0.0.1",
|
"@rondo.dev/http-client": "file:../http-client",
|
||||||
"@rondo.dev/http-types": "0.0.1",
|
"@rondo.dev/http-types": "file:../http-types",
|
||||||
"@rondo.dev/jsonrpc": "0.0.1",
|
"@rondo.dev/jsonrpc": "file:../jsonrpc",
|
||||||
"@rondo.dev/react-test": "0.0.1",
|
"@rondo.dev/react-captcha": "file:../react-captcha",
|
||||||
"@rondo.dev/redux": "0.0.1",
|
"@rondo.dev/react-test": "file:../react-test",
|
||||||
"bloomer": "^0.6.5",
|
"@rondo.dev/redux": "file:../redux",
|
||||||
"history": "^4.10.1",
|
"history": "^4.10.1",
|
||||||
"react-icons": "^3.8.0",
|
"react-icons": "^3.8.0",
|
||||||
"react-router": "^5.1.2",
|
"react-router": "^5.1.2",
|
||||||
"react-router-dom": "^5.1.2",
|
"react-router-dom": "^5.1.2",
|
||||||
|
"styled-components": "^4.4.1",
|
||||||
"timeago.js": "^4.0.1"
|
"timeago.js": "^4.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rondo.dev/jsonrpc": "0.0.1",
|
"@rondo.dev/jsonrpc": "file:../jsonrpc",
|
||||||
"@rondo.dev/test-utils": "0.0.1",
|
"@rondo.dev/test-utils": "file:../test-utils",
|
||||||
"react-dom": "^16.11.0"
|
"react-dom": "^16.11.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17,6 +17,9 @@
|
|||||||
{
|
{
|
||||||
"path": "../jsonrpc"
|
"path": "../jsonrpc"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "../react-captcha"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "../react-test"
|
"path": "../react-test"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/jsonrpc": "0.0.1",
|
"@rondo.dev/jsonrpc": "file:../jsonrpc",
|
||||||
"ts-transformer-keys": "^0.3.5"
|
"ts-transformer-keys": "^0.3.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {}
|
"devDependencies": {}
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/logger": "0.0.1",
|
"@rondo.dev/logger": "file:../logger",
|
||||||
"js-yaml": "^3.13.1"
|
"js-yaml": "^3.13.1"
|
||||||
},
|
},
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
|
|||||||
@ -9,8 +9,8 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/db": "0.0.1",
|
"@rondo.dev/db": "file:../db",
|
||||||
"@rondo.dev/logger": "0.0.1",
|
"@rondo.dev/logger": "file:../logger",
|
||||||
"cls-hooked": "^4.2.2",
|
"cls-hooked": "^4.2.2",
|
||||||
"shortid": "^2.2.15",
|
"shortid": "^2.2.15",
|
||||||
"typeorm": "^0.2.20"
|
"typeorm": "^0.2.20"
|
||||||
|
|||||||
@ -9,13 +9,13 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/http-types": "0.0.1",
|
"@rondo.dev/http-types": "file:../http-types",
|
||||||
"axios": "^0.19.0"
|
"axios": "^0.19.0"
|
||||||
},
|
},
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rondo.dev/test-utils": "0.0.1"
|
"@rondo.dev/test-utils": "file:../test-utils"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -9,8 +9,8 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/logger": "0.0.1",
|
"@rondo.dev/logger": "file:../logger",
|
||||||
"@rondo.dev/redux": "0.0.1",
|
"@rondo.dev/redux": "file:../redux",
|
||||||
"axios": "^0.19.0",
|
"axios": "^0.19.0",
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
|
|||||||
@ -14,5 +14,8 @@
|
|||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"devDependencies": {}
|
"devDependencies": {
|
||||||
|
"@rondo.dev/react-test": "file:../react-test",
|
||||||
|
"react-dom": "^16.11.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -9,11 +9,12 @@
|
|||||||
"clean": "rm -rf lib/"
|
"clean": "rm -rf lib/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/redux": "0.0.1",
|
"@rondo.dev/redux": "file:../redux",
|
||||||
"react": "^16.11.0",
|
"react": "^16.11.0",
|
||||||
"react-dom": "^16.11.0",
|
"react-dom": "^16.11.0",
|
||||||
"react-redux": "^7.1.1",
|
"react-redux": "^7.1.1",
|
||||||
"redux": "^4.0.4"
|
"redux": "^4.0.4",
|
||||||
|
"styled-components": "^4.4.1"
|
||||||
},
|
},
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rondo.dev/test-utils": "0.0.1",
|
"@rondo.dev/test-utils": "file:../test-utils",
|
||||||
"react": "^16.11.0",
|
"react": "^16.11.0",
|
||||||
"react-dom": "^16.11.0"
|
"react-dom": "^16.11.0"
|
||||||
}
|
}
|
||||||
|
|||||||
4
packages/scripts/package-lock.json
generated
4
packages/scripts/package-lock.json
generated
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@rondo.dev/scripts",
|
|
||||||
"lockfileVersion": 1
|
|
||||||
}
|
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"rondo": "./lib/index.js"
|
"rondo": "./lib/index.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/argparse": "0.0.1",
|
"@rondo.dev/argparse": "file:../argparse",
|
||||||
"browser-unpack": "^1.4.2",
|
"browser-unpack": "^1.4.2",
|
||||||
"rimraf": "^3.0.0",
|
"rimraf": "^3.0.0",
|
||||||
"typescript": "^3.6.4"
|
"typescript": "^3.6.4"
|
||||||
|
|||||||
@ -165,19 +165,19 @@ export function imports(...argv: string[]) {
|
|||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
const rootPackage = readJSON<Package>(args.root)
|
const rootPackage = readJSON<Package>(args.root)
|
||||||
|
|
||||||
function resolveModule(name: string, version?: string) {
|
function resolveModule(
|
||||||
|
packagesDir: string,
|
||||||
|
projectDir: string,
|
||||||
|
name: string,
|
||||||
|
version?: string,
|
||||||
|
) {
|
||||||
if (!version) {
|
if (!version) {
|
||||||
throw new Error(`Module "${name}" not found in root package.json`)
|
throw new Error(`Module "${name}" not found in root package.json`)
|
||||||
}
|
}
|
||||||
if (version.startsWith('file:')) {
|
if (version.startsWith('file:')) {
|
||||||
const pkg = readJSON<Package>(join(version.slice(5), 'package.json'))
|
version = 'file:' + relative(projectDir, version.slice(5))
|
||||||
if (!pkg.version) {
|
|
||||||
throw new Error(`Package.json of referenced module "${name}" ` +
|
|
||||||
'does not have version field')
|
|
||||||
}
|
|
||||||
return {name, version: pkg.version}
|
|
||||||
}
|
}
|
||||||
name = name.split('/')[0]
|
// name = name.split('/')[0]
|
||||||
return {name: name, version}
|
return {name: name, version}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,26 +189,34 @@ export function imports(...argv: string[]) {
|
|||||||
return folders[0]
|
return folders[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
function resolveDependencies(dependencies: string[]) {
|
function resolveDependencies(
|
||||||
|
packagesDir: string,
|
||||||
|
dependencies: string[],
|
||||||
|
projectDir: string,
|
||||||
|
) {
|
||||||
return dependencies
|
return dependencies
|
||||||
.map(resolveModuleName)
|
.map(resolveModuleName)
|
||||||
.reduce((obj, mod) => {
|
.reduce((obj, mod) => {
|
||||||
const versionString =
|
const versionString =
|
||||||
(rootPackage.dependencies || {})[mod] ||
|
(rootPackage.dependencies || {})[mod] ||
|
||||||
(rootPackage.devDependencies || {})[mod]
|
(rootPackage.devDependencies || {})[mod]
|
||||||
const resolvedModule = resolveModule(mod, versionString)
|
const resolvedModule = resolveModule(
|
||||||
|
packagesDir, projectDir, mod, versionString)
|
||||||
obj[resolvedModule.name] = resolvedModule.version
|
obj[resolvedModule.name] = resolvedModule.version
|
||||||
return obj
|
return obj
|
||||||
}, {} as Record<string, string>)
|
}, {} as Record<string, string>)
|
||||||
}
|
}
|
||||||
|
|
||||||
function organizePackageDependencies(
|
function organizePackageDependencies(
|
||||||
|
packagesDir: string,
|
||||||
imports: Dependencies,
|
imports: Dependencies,
|
||||||
|
projectDir: string,
|
||||||
packageFile: string,
|
packageFile: string,
|
||||||
) {
|
) {
|
||||||
// handle imports
|
// handle imports
|
||||||
const targetPackage = readJSON<Package>(packageFile)
|
const targetPackage = readJSON<Package>(packageFile)
|
||||||
const dependencies = resolveDependencies(imports.dependencies)
|
const dependencies = resolveDependencies(
|
||||||
|
packagesDir, imports.dependencies, projectDir)
|
||||||
if (targetPackage.peerDependencies) {
|
if (targetPackage.peerDependencies) {
|
||||||
const peerDependencyNames = new Set(
|
const peerDependencyNames = new Set(
|
||||||
Object.keys(targetPackage.peerDependencies),
|
Object.keys(targetPackage.peerDependencies),
|
||||||
@ -227,7 +235,8 @@ export function imports(...argv: string[]) {
|
|||||||
} else {
|
} else {
|
||||||
targetPackage.dependencies = dependencies
|
targetPackage.dependencies = dependencies
|
||||||
}
|
}
|
||||||
targetPackage.devDependencies = resolveDependencies(imports.devDependencies)
|
targetPackage.devDependencies = resolveDependencies(
|
||||||
|
packagesDir, imports.devDependencies, projectDir)
|
||||||
debug('dependencies: %o', targetPackage.dependencies)
|
debug('dependencies: %o', targetPackage.dependencies)
|
||||||
debug('devDependencies: %o', targetPackage.devDependencies)
|
debug('devDependencies: %o', targetPackage.devDependencies)
|
||||||
return {filename: packageFile, json: targetPackage}
|
return {filename: packageFile, json: targetPackage}
|
||||||
@ -273,7 +282,8 @@ export function imports(...argv: string[]) {
|
|||||||
const packageFile = join(pkgDir, 'package.json')
|
const packageFile = join(pkgDir, 'package.json')
|
||||||
|
|
||||||
return [
|
return [
|
||||||
organizePackageDependencies(imports, packageFile),
|
organizePackageDependencies(
|
||||||
|
args.packagesDir, imports, pkgDir, packageFile),
|
||||||
organizeProjectReferences(
|
organizeProjectReferences(
|
||||||
args.packagesDir, imports, pkgDir, tsConfigFileName),
|
args.packagesDir, imports, pkgDir, tsConfigFileName),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -15,18 +15,19 @@
|
|||||||
"typeorm": "ts-node ./node_modules/.bin/typeorm"
|
"typeorm": "ts-node ./node_modules/.bin/typeorm"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rondo.dev/argparse": "0.0.1",
|
"@rondo.dev/argparse": "file:../argparse",
|
||||||
"@rondo.dev/client": "0.0.1",
|
"@rondo.dev/captcha": "file:../captcha",
|
||||||
"@rondo.dev/common": "0.0.1",
|
"@rondo.dev/client": "file:../client",
|
||||||
"@rondo.dev/config": "0.0.1",
|
"@rondo.dev/common": "file:../common",
|
||||||
"@rondo.dev/db": "0.0.1",
|
"@rondo.dev/config": "file:../config",
|
||||||
"@rondo.dev/db-typeorm": "0.0.1",
|
"@rondo.dev/db": "file:../db",
|
||||||
"@rondo.dev/http-client": "0.0.1",
|
"@rondo.dev/db-typeorm": "file:../db-typeorm",
|
||||||
"@rondo.dev/http-types": "0.0.1",
|
"@rondo.dev/http-client": "file:../http-client",
|
||||||
"@rondo.dev/jsonrpc": "0.0.1",
|
"@rondo.dev/http-types": "file:../http-types",
|
||||||
"@rondo.dev/logger": "0.0.1",
|
"@rondo.dev/jsonrpc": "file:../jsonrpc",
|
||||||
"@rondo.dev/tasq": "0.0.1",
|
"@rondo.dev/logger": "file:../logger",
|
||||||
"@rondo.dev/validator": "0.0.1",
|
"@rondo.dev/tasq": "file:../tasq",
|
||||||
|
"@rondo.dev/validator": "file:../validator",
|
||||||
"bcrypt": "^3.0.6",
|
"bcrypt": "^3.0.6",
|
||||||
"body-parser": "^1.19.0",
|
"body-parser": "^1.19.0",
|
||||||
"cls-hooked": "^4.2.2",
|
"cls-hooked": "^4.2.2",
|
||||||
|
|||||||
@ -8,6 +8,9 @@
|
|||||||
{
|
{
|
||||||
"path": "../argparse"
|
"path": "../argparse"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "../captcha"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "../client"
|
"path": "../client"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"dependencies": {},
|
"dependencies": {},
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rondo.dev/test-utils": "0.0.1"
|
"@rondo.dev/test-utils": "file:../test-utils"
|
||||||
},
|
},
|
||||||
"module": "esm/index.js",
|
"module": "esm/index.js",
|
||||||
"main": "lib/index.js"
|
"main": "lib/index.js"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user