strapi/packages/utils/upgrade/resources/codemods/5.0.0/sqlite3-to-better-sqlite3.json.ts

40 lines
945 B
TypeScript
Raw Permalink Normal View History

import path from 'node:path';
import type { modules } from '../../../dist';
2024-01-08 13:17:25 +01:00
/**
* This codemod runs on the package.json of the Strapi project and updates
2024-01-08 15:22:43 +01:00
* the sqlite dependency to better-sqlite3
2024-01-08 13:17:25 +01:00
*/
const transform: modules.runner.json.JSONTransform = (file, params) => {
const { cwd, json } = params;
const rootPackageJsonPath = path.join(cwd, 'package.json');
if (file.path !== rootPackageJsonPath) {
return file.json;
}
const j = json(file.json);
let removed = false;
2024-01-08 16:46:06 +01:00
const targetProperties = ['sqlite3', '@vscode/sqlite3'];
targetProperties.forEach((targetProperty) => {
const oldSqliteDependency = `dependencies.${targetProperty}`;
if (j.has(oldSqliteDependency)) {
j.remove(oldSqliteDependency);
removed = true;
}
});
if (removed && !j.has('dependencies.better-sqlite3')) {
2024-03-18 18:06:46 +01:00
j.set('dependencies.better-sqlite3', '9.4.3');
}
return j.root();
};
export default transform;