From f456e9bfbb97b878829c4a40260d9198dcb5b5ff Mon Sep 17 00:00:00 2001 From: beerose Date: Wed, 26 Feb 2025 17:04:25 +0100 Subject: [PATCH 1/6] dont change edgeql files in codemod --- ...dgeql-to-gel-toml-file-update.spec.ts.snap | 6 --- .../edgeql-to-gel-toml-file-update.spec.ts | 39 ------------------- .../esdl-to-gel-file-extension-update.spec.ts | 21 +--------- packages/codemod/cli.ts | 2 +- ... => esdl-to-gel-file-extensions-update.ts} | 8 ++-- 5 files changed, 7 insertions(+), 69 deletions(-) delete mode 100644 packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap delete mode 100644 packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts rename packages/codemod/scripts/{esdledgeql-to-gel-file-extensions-update.ts => esdl-to-gel-file-extensions-update.ts} (79%) diff --git a/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap b/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap deleted file mode 100644 index 74bb1ac0d..000000000 --- a/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap +++ /dev/null @@ -1,6 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`rename-toml transform should rename edgedb.toml file to gel.toml 1`] = ` -"[gel] -version = "x"" -`; diff --git a/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts b/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts deleted file mode 100644 index 0a33d70c4..000000000 --- a/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { readFileSync, writeFileSync, unlinkSync, existsSync } from 'fs'; -import path from 'path'; -import { findAndUpdateToml } from '../scripts/edgeql-to-gel-toml-file-update'; - -const FIXTURES_DIR = path.resolve('__testfixtures__'); - -describe('rename-toml transform', () => { - const testInTomlPath = path.join(FIXTURES_DIR, 'edgedb.toml'); - const testOutTomlPath = path.join(FIXTURES_DIR, 'gel.toml'); - - beforeEach(() => { - // Mock console.log - jest.spyOn(console, 'log').mockImplementation(); - // Create a test TOML file - writeFileSync(testInTomlPath, ` -[edgedb] -version = "x" - `.trim()); - }); - - afterEach(() => { - if (existsSync(testInTomlPath)) { - unlinkSync(testOutTomlPath); - } - if (existsSync(testOutTomlPath)) { - unlinkSync(testOutTomlPath); - } - }); - - it('should rename edgedb.toml file to gel.toml', async () => { - await findAndUpdateToml(FIXTURES_DIR); - - expect(existsSync(testInTomlPath)).toBe(false); - expect(existsSync(testOutTomlPath)).toBe(true); - - const content = readFileSync(testOutTomlPath, 'utf8'); - expect(content).toMatchSnapshot(); - }); -}); diff --git a/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts b/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts index 4e9fe89a2..a7bba090b 100644 --- a/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts +++ b/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts @@ -1,6 +1,6 @@ import * as fs from 'fs/promises'; import * as glob from 'glob'; -import { findAndUpdateFileExtensions } from '../scripts/esdledgeql-to-gel-file-extensions-update'; +import { findAndUpdateFileExtensions } from '../scripts/esdl-to-gel-file-extensions-update'; jest.mock('fs/promises'); jest.mock('glob'); @@ -20,7 +20,7 @@ describe('ESDL to GEL Extension Update Script', () => { await findAndUpdateFileExtensions('/root'); - expect(mockGlob.sync).toHaveBeenCalledWith('**/*.{esdl,edgeql}', { + expect(mockGlob.sync).toHaveBeenCalledWith('**/*.{esdl}', { cwd: '/root', ignore: ['**/node_modules/**'], absolute: true @@ -31,23 +31,6 @@ describe('ESDL to GEL Extension Update Script', () => { expect(mockFs.rename).toHaveBeenCalledWith('/path/to/types.esdl', '/path/to/types.gel'); }); - it('should rename .edgeql files to .gel', async () => { - mockGlob.sync.mockReturnValue(['/path/to/schema.esdl', '/path/to/types.edgeql']); - mockFs.rename.mockResolvedValue(undefined); - - await findAndUpdateFileExtensions('/root'); - - expect(mockGlob.sync).toHaveBeenCalledWith('**/*.{esdl,edgeql}', { - cwd: '/root', - ignore: ['**/node_modules/**'], - absolute: true - }); - - expect(mockFs.rename).toHaveBeenCalledTimes(2); - expect(mockFs.rename).toHaveBeenCalledWith('/path/to/schema.esdl', '/path/to/schema.gel'); - expect(mockFs.rename).toHaveBeenCalledWith('/path/to/types.edgeql', '/path/to/types.gel'); - }); - it('should handle file rename errors', async () => { const consoleSpy = jest.spyOn(console, 'error').mockImplementation(); diff --git a/packages/codemod/cli.ts b/packages/codemod/cli.ts index bd91850b1..9c79bb05c 100644 --- a/packages/codemod/cli.ts +++ b/packages/codemod/cli.ts @@ -5,7 +5,7 @@ import pc from "picocolors"; import * as glob from "glob"; import path from "node:path"; import { run } from "jscodeshift/src/Runner.js"; -import { findAndUpdateFileExtensions } from "./scripts/esdledgeql-to-gel-file-extensions-update.js"; +import { findAndUpdateFileExtensions } from "./scripts/esdl-to-gel-file-extensions-update.js"; import { findAndUpdatePackageJson } from "./scripts/package-json-update.js"; import { findAndUpdateToml } from "./scripts/edgeql-to-gel-toml-file-update.js"; diff --git a/packages/codemod/scripts/esdledgeql-to-gel-file-extensions-update.ts b/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts similarity index 79% rename from packages/codemod/scripts/esdledgeql-to-gel-file-extensions-update.ts rename to packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts index d5ab797f1..b8ae0a47a 100644 --- a/packages/codemod/scripts/esdledgeql-to-gel-file-extensions-update.ts +++ b/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts @@ -5,8 +5,8 @@ async function updateEsdlToGelExt(filePath: string): Promise { const changes: string[] = []; try { - await fs.rename(filePath, filePath.replace(/\.(esdl|edgeql)$/, '.gel')); - changes.push(`Updated file extension from .esdl and .edgeql to .gel`); + await fs.rename(filePath, filePath.replace(/\.(esdl)$/, '.gel')); + changes.push(`Updated file extension from .esdl to .gel`); return changes; } @@ -18,14 +18,14 @@ async function updateEsdlToGelExt(filePath: string): Promise { export async function findAndUpdateFileExtensions(rootDir: string) { try { - const files = glob.sync('**/*.{esdl,edgeql}', { + const files = glob.sync('**/*.{esdl}', { cwd: rootDir, ignore: ['**/node_modules/**'], absolute: true }); console.log(`Found ${files.length} ${files.length === 1 ? 'file' : 'files' - } with .esdl/.edgeql extension`); + } with .esdl extension`); for (const file of files) { console.log(`Processing ${file}...`); From 09b5b29c4067b0fdf78bb860a1dc05a7106f772f Mon Sep 17 00:00:00 2001 From: beerose Date: Wed, 26 Feb 2025 17:05:57 +0100 Subject: [PATCH 2/6] bring back toml test --- .../edgeql-to-gel-toml-file-update.spec.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts diff --git a/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts b/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts new file mode 100644 index 000000000..0a33d70c4 --- /dev/null +++ b/packages/codemod/__tests__/edgeql-to-gel-toml-file-update.spec.ts @@ -0,0 +1,39 @@ +import { readFileSync, writeFileSync, unlinkSync, existsSync } from 'fs'; +import path from 'path'; +import { findAndUpdateToml } from '../scripts/edgeql-to-gel-toml-file-update'; + +const FIXTURES_DIR = path.resolve('__testfixtures__'); + +describe('rename-toml transform', () => { + const testInTomlPath = path.join(FIXTURES_DIR, 'edgedb.toml'); + const testOutTomlPath = path.join(FIXTURES_DIR, 'gel.toml'); + + beforeEach(() => { + // Mock console.log + jest.spyOn(console, 'log').mockImplementation(); + // Create a test TOML file + writeFileSync(testInTomlPath, ` +[edgedb] +version = "x" + `.trim()); + }); + + afterEach(() => { + if (existsSync(testInTomlPath)) { + unlinkSync(testOutTomlPath); + } + if (existsSync(testOutTomlPath)) { + unlinkSync(testOutTomlPath); + } + }); + + it('should rename edgedb.toml file to gel.toml', async () => { + await findAndUpdateToml(FIXTURES_DIR); + + expect(existsSync(testInTomlPath)).toBe(false); + expect(existsSync(testOutTomlPath)).toBe(true); + + const content = readFileSync(testOutTomlPath, 'utf8'); + expect(content).toMatchSnapshot(); + }); +}); From 948f22c1f1f6bc05b5fa1e074bff32f3342786ad Mon Sep 17 00:00:00 2001 From: beerose Date: Wed, 26 Feb 2025 17:07:10 +0100 Subject: [PATCH 3/6] [gel] -> [instance] --- .../edgeql-to-gel-toml-file-update.spec.ts.snap | 6 ++++++ packages/codemod/scripts/edgeql-to-gel-toml-file-update.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap diff --git a/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap b/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap new file mode 100644 index 000000000..50bfe7f18 --- /dev/null +++ b/packages/codemod/__tests__/__snapshots__/edgeql-to-gel-toml-file-update.spec.ts.snap @@ -0,0 +1,6 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`rename-toml transform should rename edgedb.toml file to gel.toml 1`] = ` +"[instance] +version = "x"" +`; diff --git a/packages/codemod/scripts/edgeql-to-gel-toml-file-update.ts b/packages/codemod/scripts/edgeql-to-gel-toml-file-update.ts index 82dff0606..aa5613924 100644 --- a/packages/codemod/scripts/edgeql-to-gel-toml-file-update.ts +++ b/packages/codemod/scripts/edgeql-to-gel-toml-file-update.ts @@ -4,7 +4,7 @@ import * as glob from 'glob'; async function updateTomlContent(content: string): Promise { return content - .replace(/\[edgedb\]/g, '[gel]'); + .replace(/\[edgedb\]/g, '[instance]'); } async function processTomlFile(filePath: string): Promise { From e2b4fc361999a1fd816ddd8c012df865dbb8b902 Mon Sep 17 00:00:00 2001 From: beerose Date: Wed, 26 Feb 2025 17:12:48 +0100 Subject: [PATCH 4/6] fix esdl find --- .../codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts | 2 +- packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts b/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts index a7bba090b..5ff5edddb 100644 --- a/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts +++ b/packages/codemod/__tests__/esdl-to-gel-file-extension-update.spec.ts @@ -20,7 +20,7 @@ describe('ESDL to GEL Extension Update Script', () => { await findAndUpdateFileExtensions('/root'); - expect(mockGlob.sync).toHaveBeenCalledWith('**/*.{esdl}', { + expect(mockGlob.sync).toHaveBeenCalledWith('**/*.esdl', { cwd: '/root', ignore: ['**/node_modules/**'], absolute: true diff --git a/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts b/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts index b8ae0a47a..ab8b5788a 100644 --- a/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts +++ b/packages/codemod/scripts/esdl-to-gel-file-extensions-update.ts @@ -18,7 +18,7 @@ async function updateEsdlToGelExt(filePath: string): Promise { export async function findAndUpdateFileExtensions(rootDir: string) { try { - const files = glob.sync('**/*.{esdl}', { + const files = glob.sync('**/*.esdl', { cwd: rootDir, ignore: ['**/node_modules/**'], absolute: true From 69c5d9c22485191aeaa33327e2e5c66def75eebe Mon Sep 17 00:00:00 2001 From: beerose Date: Wed, 26 Feb 2025 17:15:49 +0100 Subject: [PATCH 5/6] bump version --- packages/codemod/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/codemod/package.json b/packages/codemod/package.json index d2d833076..c9bbec8c5 100644 --- a/packages/codemod/package.json +++ b/packages/codemod/package.json @@ -1,6 +1,6 @@ { "name": "@gel/codemod", - "version": "1.0.0", + "version": "1.0.1", "description": "Upgrade EdgeDB code to Gel", "homepage": "https://edgedb.com/docs", "author": "EdgeDB ", @@ -48,4 +48,4 @@ "lint": "eslint --quiet", "lint:fix": "eslint --fix" } -} +} \ No newline at end of file From e387e153ab02bb414abeb413bd5a760064341c60 Mon Sep 17 00:00:00 2001 From: Aleksandra Date: Wed, 26 Feb 2025 17:16:18 +0100 Subject: [PATCH 6/6] Update packages/codemod/package.json --- packages/codemod/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/codemod/package.json b/packages/codemod/package.json index c9bbec8c5..ce2f50655 100644 --- a/packages/codemod/package.json +++ b/packages/codemod/package.json @@ -48,4 +48,4 @@ "lint": "eslint --quiet", "lint:fix": "eslint --fix" } -} \ No newline at end of file +}