diff --git a/package-lock.json b/package-lock.json index 1ee8466f..401315f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,6 @@ "@changesets/cli": "^2.28.1", "@types/jest": "^29.5.14", "boxen": "^8.0.1", - "chai": "^5.2.0", "chalk": "^5.4.1", "cli-table3": "^0.6.5", "execa": "^8.0.1", @@ -3470,16 +3469,6 @@ "dev": true, "license": "MIT" }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -3891,23 +3880,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/chai": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", - "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/chalk": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", @@ -3936,16 +3908,6 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "license": "MIT" }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", @@ -4472,16 +4434,6 @@ } } }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -7614,13 +7566,6 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", - "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -8322,16 +8267,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, "node_modules/peek-readable": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-7.0.0.tgz", diff --git a/package.json b/package.json index 53e90216..4439a9ba 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,6 @@ "@changesets/cli": "^2.28.1", "@types/jest": "^29.5.14", "boxen": "^8.0.1", - "chai": "^5.2.0", "chalk": "^5.4.1", "cli-table3": "^0.6.5", "execa": "^8.0.1", diff --git a/scripts/tests/rule-transformer.test.js b/scripts/tests/rule-transformer.test.js deleted file mode 100644 index acce7993..00000000 --- a/scripts/tests/rule-transformer.test.js +++ /dev/null @@ -1,113 +0,0 @@ -import { expect } from 'chai'; -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; -import { dirname } from 'path'; -import { convertCursorRuleToRooRule } from '../modules/rule-transformer.js'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -describe('Rule Transformer', () => { - const testDir = path.join(__dirname, 'temp-test-dir'); - - before(() => { - // Create test directory - if (!fs.existsSync(testDir)) { - fs.mkdirSync(testDir, { recursive: true }); - } - }); - - after(() => { - // Clean up test directory - if (fs.existsSync(testDir)) { - fs.rmSync(testDir, { recursive: true, force: true }); - } - }); - - it('should correctly convert basic terms', () => { - // Create a test Cursor rule file with basic terms - const testCursorRule = path.join(testDir, 'basic-terms.mdc'); - const testContent = `--- -description: Test Cursor rule for basic terms -globs: **/* -alwaysApply: true ---- - -This is a Cursor rule that references cursor.so and uses the word Cursor multiple times. -Also has references to .mdc files.`; - - fs.writeFileSync(testCursorRule, testContent); - - // Convert it - const testRooRule = path.join(testDir, 'basic-terms.md'); - convertCursorRuleToRooRule(testCursorRule, testRooRule); - - // Read the converted file - const convertedContent = fs.readFileSync(testRooRule, 'utf8'); - - // Verify transformations - expect(convertedContent).to.include('Roo Code'); - expect(convertedContent).to.include('roocode.com'); - expect(convertedContent).to.include('.md'); - expect(convertedContent).not.to.include('cursor.so'); - expect(convertedContent).not.to.include('Cursor rule'); - }); - - it('should correctly convert tool references', () => { - // Create a test Cursor rule file with tool references - const testCursorRule = path.join(testDir, 'tool-refs.mdc'); - const testContent = `--- -description: Test Cursor rule for tool references -globs: **/* -alwaysApply: true ---- - -- Use the search tool to find code -- The edit_file tool lets you modify files -- run_command executes terminal commands -- use_mcp connects to external services`; - - fs.writeFileSync(testCursorRule, testContent); - - // Convert it - const testRooRule = path.join(testDir, 'tool-refs.md'); - convertCursorRuleToRooRule(testCursorRule, testRooRule); - - // Read the converted file - const convertedContent = fs.readFileSync(testRooRule, 'utf8'); - - // Verify transformations - expect(convertedContent).to.include('search_files tool'); - expect(convertedContent).to.include('apply_diff tool'); - expect(convertedContent).to.include('execute_command'); - expect(convertedContent).to.include('use_mcp_tool'); - }); - - it('should correctly update file references', () => { - // Create a test Cursor rule file with file references - const testCursorRule = path.join(testDir, 'file-refs.mdc'); - const testContent = `--- -description: Test Cursor rule for file references -globs: **/* -alwaysApply: true ---- - -This references [dev_workflow.mdc](mdc:.cursor/rules/dev_workflow.mdc) and -[taskmaster.mdc](mdc:.cursor/rules/taskmaster.mdc).`; - - fs.writeFileSync(testCursorRule, testContent); - - // Convert it - const testRooRule = path.join(testDir, 'file-refs.md'); - convertCursorRuleToRooRule(testCursorRule, testRooRule); - - // Read the converted file - const convertedContent = fs.readFileSync(testRooRule, 'utf8'); - - // Verify transformations - expect(convertedContent).to.include('(mdc:.roo/rules/dev_workflow.md)'); - expect(convertedContent).to.include('(mdc:.roo/rules/taskmaster.md)'); - expect(convertedContent).not.to.include('(mdc:.cursor/rules/'); - }); -});