Skip to content

Commit

Permalink
fix(core): pin all internal dependencies
Browse files Browse the repository at this point in the history
Closes #4764
  • Loading branch information
B4nan committed Sep 30, 2023
1 parent 62740d1 commit f4868ed
Show file tree
Hide file tree
Showing 18 changed files with 75 additions and 73 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Expand Up @@ -135,12 +135,12 @@ jobs:
GIT_USER: "banan23@gmail.com:${{ secrets.GH_TOKEN }}"
GH_TOKEN: ${{ secrets.GH_TOKEN }}

- name: Use tilde in internal dependencies
- name: Pin versions in internal dependencies and update lockfile
run: |
yarn release:tilde
yarn release:pin-versions
yarn install --no-immutable
git add .
git commit -m 'chore(release): update internal dependencies to use tilde [skip ci]'
git diff-index --quiet HEAD || git commit -m 'chore(release): update internal dependencies [skip ci]'
git push
- name: Publish packages
Expand Down
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -47,7 +47,7 @@
"release:prod": "yarn build && yarn publish:prod",
"publish:next": "lerna publish from-package --contents dist --dist-tag next --force-publish",
"release:next": "lerna run compile && yarn publish:next",
"release:tilde": "lerna run copy -- -- --tilde",
"release:pin-versions": "lerna run copy -- -- --pin-versions",
"test": "jest",
"tsc-check-tests": "tsc --noEmit --project tests/tsconfig.json",
"coverage": "rimraf temp tests/generated-entities && yarn test --coverage",
Expand Down
4 changes: 2 additions & 2 deletions packages/better-sqlite/package.json
Expand Up @@ -58,13 +58,13 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"better-sqlite3": "8.6.0",
"fs-extra": "11.1.1",
"sqlstring-sqlite": "0.1.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
10 changes: 5 additions & 5 deletions packages/cli/package.json
Expand Up @@ -63,16 +63,16 @@
},
"dependencies": {
"@jercle/yargonaut": "1.1.5",
"@mikro-orm/core": "~5.8.4",
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/core": "5.8.4",
"@mikro-orm/knex": "5.8.4",
"fs-extra": "11.1.1",
"tsconfig-paths": "4.2.0",
"yargs": "17.7.2"
},
"devDependencies": {
"@mikro-orm/entity-generator": "^5.8.4",
"@mikro-orm/migrations": "^5.8.4",
"@mikro-orm/seeder": "^5.8.4"
"@mikro-orm/entity-generator": "5.8.4",
"@mikro-orm/migrations": "5.8.4",
"@mikro-orm/seeder": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/better-sqlite": "^5.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Expand Up @@ -64,7 +64,7 @@
"dotenv": "16.3.1",
"fs-extra": "11.1.1",
"globby": "11.1.0",
"mikro-orm": "~5.8.4",
"mikro-orm": "5.8.4",
"reflect-metadata": "0.1.13"
},
"peerDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions packages/entity-generator/package.json
Expand Up @@ -58,11 +58,11 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"fs-extra": "11.1.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/knex/package.json
Expand Up @@ -63,7 +63,7 @@
"sqlstring": "2.3.3"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/mariadb/package.json
Expand Up @@ -58,11 +58,11 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"mariadb": "2.5.6"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/migrations-mongodb/package.json
Expand Up @@ -58,13 +58,13 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/mongodb": "~5.8.4",
"@mikro-orm/mongodb": "5.8.4",
"fs-extra": "11.1.1",
"mongodb": "5.8.1",
"umzug": "3.3.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/migrations/package.json
Expand Up @@ -58,13 +58,13 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"fs-extra": "11.1.1",
"knex": "2.5.1",
"umzug": "3.3.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/mongodb/package.json
Expand Up @@ -62,7 +62,7 @@
"mongodb": "5.8.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/mysql/package.json
Expand Up @@ -58,11 +58,11 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"mysql2": "3.6.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/postgresql/package.json
Expand Up @@ -58,11 +58,11 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"pg": "8.11.3"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/reflection/package.json
Expand Up @@ -62,7 +62,7 @@
"ts-morph": "20.0.0"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/seeder/package.json
Expand Up @@ -53,7 +53,7 @@
"globby": "11.1.0"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/sqlite/package.json
Expand Up @@ -58,13 +58,13 @@
"access": "public"
},
"dependencies": {
"@mikro-orm/knex": "~5.8.4",
"@mikro-orm/knex": "5.8.4",
"fs-extra": "11.1.1",
"sqlite3": "5.1.6",
"sqlstring-sqlite": "0.1.1"
},
"devDependencies": {
"@mikro-orm/core": "^5.8.4"
"@mikro-orm/core": "5.8.4"
},
"peerDependencies": {
"@mikro-orm/core": "^5.0.0",
Expand Down
22 changes: 12 additions & 10 deletions scripts/copy.mjs
Expand Up @@ -34,17 +34,19 @@ function rewrite(path, replacer) {

let rootVersion;

async function getRootVersion(increment = true) {
async function getRootVersion(bump = true) {
if (rootVersion) {
return rootVersion;
}

const pkg = require(resolve(root, './lerna.json'));
rootVersion = pkg.version.replace(/^(\d+\.\d+\.\d+)-?.*$/, '$1');

const parts = rootVersion.split('.');
parts[2] = `${+parts[2] + (increment ? 1 : 0)}`;
rootVersion = parts.join('.');
if (bump) {
const parts = rootVersion.split('.');
parts[2] = `${+parts[2] + 1}`;
rootVersion = parts.join('.');
}

return rootVersion;
}
Expand Down Expand Up @@ -88,14 +90,14 @@ if (options.canary) {

for (const dep of Object.keys(pkgJson.dependencies ?? {})) {
if (dep.startsWith('@mikro-orm/') || dep === 'mikro-orm') {
const prefix = pkgJson.dependencies[dep].startsWith('^') ? '^' : (pkgJson.dependencies[dep].startsWith('~') ? '~' : '');
const prefix = pkgJson.dependencies[dep].startsWith('^') ? '^' : '';
pkgJson.dependencies[dep] = prefix + nextVersion;
}
}

for (const dep of Object.keys(pkgJson.peerDependencies ?? {})) {
if (dep.startsWith('@mikro-orm/') || dep === 'mikro-orm') {
pkgJson.peerDependencies[dep] = '~' + nextVersion;
pkgJson.peerDependencies[dep] = nextVersion;
}
}

Expand All @@ -105,18 +107,18 @@ if (options.canary) {
writeFileSync(pkgPath, `${JSON.stringify(pkgJson, null, 2)}\n`);
}

if (options.tilde) {
if (options['pin-versions']) {
const pkgJson = require(pkgPath);
const version = await getRootVersion(false);

for (const dep of Object.keys(pkgJson.dependencies ?? {})) {
if (dep.startsWith('@mikro-orm/') || dep === 'mikro-orm' && pkgJson.dependencies[dep].startsWith('^')) {
pkgJson.dependencies[dep] = '~' + version;
if (dep.startsWith('@mikro-orm/') || dep === 'mikro-orm') {
pkgJson.dependencies[dep] = version;
}
}

// eslint-disable-next-line no-console
console.info(`tilde: changing ^ to ~ in dependencies for version ${version}`, pkgJson.dependencies);
console.info(`pin-versions: version ${version}`, pkgJson.dependencies);

writeFileSync(pkgPath, `${JSON.stringify(pkgJson, null, 2)}\n`);
}
Expand Down

0 comments on commit f4868ed

Please sign in to comment.