From f69ee9573258b843bb1b28b5938d9994ce6c6802 Mon Sep 17 00:00:00 2001 From: cha0s Date: Sat, 22 Jun 2024 08:02:23 -0500 Subject: [PATCH] refactor: swc ain't ready for primetime --- app/astride/README.md | 3 +++ app/{swcx => astride}/evaluate.js | 2 +- app/{swcx => astride}/evaluators/array.js | 0 app/{swcx => astride}/evaluators/array.test.js | 4 ++-- app/{swcx => astride}/evaluators/assignment.js | 2 +- app/{swcx => astride}/evaluators/assignment.test.js | 4 ++-- app/{swcx => astride}/evaluators/await.js | 0 app/{swcx => astride}/evaluators/await.test.js | 4 ++-- app/{swcx => astride}/evaluators/binary.js | 0 app/{swcx => astride}/evaluators/binary.test.js | 4 ++-- app/{swcx => astride}/evaluators/call.js | 2 +- app/{swcx => astride}/evaluators/call.test.js | 4 ++-- app/{swcx => astride}/evaluators/conditional.js | 0 app/{swcx => astride}/evaluators/conditional.test.js | 4 ++-- app/{swcx => astride}/evaluators/identifier.js | 0 app/{swcx => astride}/evaluators/literal.js | 0 app/{swcx => astride}/evaluators/literal.test.js | 4 ++-- app/{swcx => astride}/evaluators/member.js | 2 +- app/{swcx => astride}/evaluators/member.test.js | 4 ++-- app/{swcx => astride}/evaluators/object.js | 2 +- app/{swcx => astride}/evaluators/object.test.js | 4 ++-- app/{swcx => astride}/evaluators/unary.js | 0 app/{swcx => astride}/evaluators/unary.test.js | 4 ++-- app/{swcx => astride}/evaluators/update.js | 0 app/{swcx => astride}/evaluators/update.test.js | 4 ++-- app/{swcx => astride}/sandbox.js | 8 ++++---- app/{swcx => astride}/sandbox.test.js | 2 +- app/{swcx => astride}/scope.js | 0 app/{swcx => astride}/test/expression.js | 0 app/{swcx => astride}/traverse.js | 0 app/{swcx => astride}/types.js | 0 app/util/script.js | 2 +- 32 files changed, 36 insertions(+), 33 deletions(-) create mode 100644 app/astride/README.md rename app/{swcx => astride}/evaluate.js (97%) rename app/{swcx => astride}/evaluators/array.js (100%) rename app/{swcx => astride}/evaluators/array.test.js (81%) rename app/{swcx => astride}/evaluators/assignment.js (99%) rename app/{swcx => astride}/evaluators/assignment.test.js (98%) rename app/{swcx => astride}/evaluators/await.js (100%) rename app/{swcx => astride}/evaluators/await.test.js (82%) rename app/{swcx => astride}/evaluators/binary.js (100%) rename app/{swcx => astride}/evaluators/binary.test.js (98%) rename app/{swcx => astride}/evaluators/call.js (98%) rename app/{swcx => astride}/evaluators/call.test.js (95%) rename app/{swcx => astride}/evaluators/conditional.js (100%) rename app/{swcx => astride}/evaluators/conditional.test.js (91%) rename app/{swcx => astride}/evaluators/identifier.js (100%) rename app/{swcx => astride}/evaluators/literal.js (100%) rename app/{swcx => astride}/evaluators/literal.test.js (74%) rename app/{swcx => astride}/evaluators/member.js (94%) rename app/{swcx => astride}/evaluators/member.test.js (91%) rename app/{swcx => astride}/evaluators/object.js (98%) rename app/{swcx => astride}/evaluators/object.test.js (91%) rename app/{swcx => astride}/evaluators/unary.js (100%) rename app/{swcx => astride}/evaluators/unary.test.js (90%) rename app/{swcx => astride}/evaluators/update.js (100%) rename app/{swcx => astride}/evaluators/update.test.js (92%) rename app/{swcx => astride}/sandbox.js (97%) rename app/{swcx => astride}/sandbox.test.js (99%) rename app/{swcx => astride}/scope.js (100%) rename app/{swcx => astride}/test/expression.js (100%) rename app/{swcx => astride}/traverse.js (100%) rename app/{swcx => astride}/types.js (100%) diff --git a/app/astride/README.md b/app/astride/README.md new file mode 100644 index 0000000..a993e2a --- /dev/null +++ b/app/astride/README.md @@ -0,0 +1,3 @@ +# ASTRide + +Ride your AST :) diff --git a/app/swcx/evaluate.js b/app/astride/evaluate.js similarity index 97% rename from app/swcx/evaluate.js rename to app/astride/evaluate.js index 9ac6d57..138b1de 100644 --- a/app/swcx/evaluate.js +++ b/app/astride/evaluate.js @@ -1,4 +1,4 @@ -import {unwrap} from '@/swcx/types.js'; +import {unwrap} from '@/astride/types.js'; const evaluators = Object.fromEntries( Object.entries( diff --git a/app/swcx/evaluators/array.js b/app/astride/evaluators/array.js similarity index 100% rename from app/swcx/evaluators/array.js rename to app/astride/evaluators/array.js diff --git a/app/swcx/evaluators/array.test.js b/app/astride/evaluators/array.test.js similarity index 81% rename from app/swcx/evaluators/array.test.js rename to app/astride/evaluators/array.test.js index 14cd2d9..7428e9a 100644 --- a/app/swcx/evaluators/array.test.js +++ b/app/astride/evaluators/array.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates array of literals', async () => { expect(evaluate(await expression('[1.5, 2, "three"]'))) diff --git a/app/swcx/evaluators/assignment.js b/app/astride/evaluators/assignment.js similarity index 99% rename from app/swcx/evaluators/assignment.js rename to app/astride/evaluators/assignment.js index 8f95535..b87daf9 100644 --- a/app/swcx/evaluators/assignment.js +++ b/app/astride/evaluators/assignment.js @@ -1,7 +1,7 @@ import { isComputed, isMemberExpression, -} from '@/swcx/types.js'; +} from '@/astride/types.js'; export default function(node, {evaluate, scope}) { const {operator, left} = node; diff --git a/app/swcx/evaluators/assignment.test.js b/app/astride/evaluators/assignment.test.js similarity index 98% rename from app/swcx/evaluators/assignment.test.js rename to app/astride/evaluators/assignment.test.js index abfee21..4e03466 100644 --- a/app/swcx/evaluators/assignment.test.js +++ b/app/astride/evaluators/assignment.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; const scopeTest = test.extend({ scope: async ({}, use) => { diff --git a/app/swcx/evaluators/await.js b/app/astride/evaluators/await.js similarity index 100% rename from app/swcx/evaluators/await.js rename to app/astride/evaluators/await.js diff --git a/app/swcx/evaluators/await.test.js b/app/astride/evaluators/await.test.js similarity index 82% rename from app/swcx/evaluators/await.test.js rename to app/astride/evaluators/await.test.js index 9a8a71e..ca70514 100644 --- a/app/swcx/evaluators/await.test.js +++ b/app/astride/evaluators/await.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates await expressions', async () => { const evaluated = evaluate(await expression('await 1')); diff --git a/app/swcx/evaluators/binary.js b/app/astride/evaluators/binary.js similarity index 100% rename from app/swcx/evaluators/binary.js rename to app/astride/evaluators/binary.js diff --git a/app/swcx/evaluators/binary.test.js b/app/astride/evaluators/binary.test.js similarity index 98% rename from app/swcx/evaluators/binary.test.js rename to app/astride/evaluators/binary.test.js index fdb1e0f..c82bbc6 100644 --- a/app/swcx/evaluators/binary.test.js +++ b/app/astride/evaluators/binary.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates +', async () => { expect(evaluate(await expression('10 + 2'))) diff --git a/app/swcx/evaluators/call.js b/app/astride/evaluators/call.js similarity index 98% rename from app/swcx/evaluators/call.js rename to app/astride/evaluators/call.js index 1be701c..902ac66 100644 --- a/app/swcx/evaluators/call.js +++ b/app/astride/evaluators/call.js @@ -3,7 +3,7 @@ import { isComputed, isMemberExpression, unwrap, -} from '@/swcx/types.js'; +} from '@/astride/types.js'; export default function(node, {evaluate, scope}) { let asyncArgs = false; diff --git a/app/swcx/evaluators/call.test.js b/app/astride/evaluators/call.test.js similarity index 95% rename from app/swcx/evaluators/call.test.js rename to app/astride/evaluators/call.test.js index f28f6d4..84d18f9 100644 --- a/app/swcx/evaluators/call.test.js +++ b/app/astride/evaluators/call.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; const scopeTest = test.extend({ scope: async ({}, use) => { diff --git a/app/swcx/evaluators/conditional.js b/app/astride/evaluators/conditional.js similarity index 100% rename from app/swcx/evaluators/conditional.js rename to app/astride/evaluators/conditional.js diff --git a/app/swcx/evaluators/conditional.test.js b/app/astride/evaluators/conditional.test.js similarity index 91% rename from app/swcx/evaluators/conditional.test.js rename to app/astride/evaluators/conditional.test.js index 1f39d1b..2e7f0fd 100644 --- a/app/swcx/evaluators/conditional.test.js +++ b/app/astride/evaluators/conditional.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; const scopeTest = test.extend({ scope: async ({}, use) => { diff --git a/app/swcx/evaluators/identifier.js b/app/astride/evaluators/identifier.js similarity index 100% rename from app/swcx/evaluators/identifier.js rename to app/astride/evaluators/identifier.js diff --git a/app/swcx/evaluators/literal.js b/app/astride/evaluators/literal.js similarity index 100% rename from app/swcx/evaluators/literal.js rename to app/astride/evaluators/literal.js diff --git a/app/swcx/evaluators/literal.test.js b/app/astride/evaluators/literal.test.js similarity index 74% rename from app/swcx/evaluators/literal.test.js rename to app/astride/evaluators/literal.test.js index 2ad3209..3767e92 100644 --- a/app/swcx/evaluators/literal.test.js +++ b/app/astride/evaluators/literal.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates numeric literals', async () => { expect(evaluate(await expression('1'))) diff --git a/app/swcx/evaluators/member.js b/app/astride/evaluators/member.js similarity index 94% rename from app/swcx/evaluators/member.js rename to app/astride/evaluators/member.js index f52399a..6ee90e5 100644 --- a/app/swcx/evaluators/member.js +++ b/app/astride/evaluators/member.js @@ -1,6 +1,6 @@ import { isComputed, -} from '@/swcx/types.js'; +} from '@/astride/types.js'; export default function({object, property, wrapper}, {evaluate, scope}) { const member = (O, P) => (wrapper?.optional ? O?.[P] : O[P]); diff --git a/app/swcx/evaluators/member.test.js b/app/astride/evaluators/member.test.js similarity index 91% rename from app/swcx/evaluators/member.test.js rename to app/astride/evaluators/member.test.js index 0e2a74e..f1a2496 100644 --- a/app/swcx/evaluators/member.test.js +++ b/app/astride/evaluators/member.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; const scopeTest = test.extend({ scope: async ({}, use) => { diff --git a/app/swcx/evaluators/object.js b/app/astride/evaluators/object.js similarity index 98% rename from app/swcx/evaluators/object.js rename to app/astride/evaluators/object.js index 5877507..e8a4f3c 100644 --- a/app/swcx/evaluators/object.js +++ b/app/astride/evaluators/object.js @@ -5,7 +5,7 @@ import { isNumericLiteral, isSpreadElement, isStringLiteral, -} from '@/swcx/types.js'; +} from '@/astride/types.js'; export default function(node, {evaluate, scope}) { const {properties} = node; diff --git a/app/swcx/evaluators/object.test.js b/app/astride/evaluators/object.test.js similarity index 91% rename from app/swcx/evaluators/object.test.js rename to app/astride/evaluators/object.test.js index f5ec842..91081c6 100644 --- a/app/swcx/evaluators/object.test.js +++ b/app/astride/evaluators/object.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates object expression', async () => { let evaluated; diff --git a/app/swcx/evaluators/unary.js b/app/astride/evaluators/unary.js similarity index 100% rename from app/swcx/evaluators/unary.js rename to app/astride/evaluators/unary.js diff --git a/app/swcx/evaluators/unary.test.js b/app/astride/evaluators/unary.test.js similarity index 90% rename from app/swcx/evaluators/unary.test.js rename to app/astride/evaluators/unary.test.js index 8e0d0d1..deca504 100644 --- a/app/swcx/evaluators/unary.test.js +++ b/app/astride/evaluators/unary.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; test('evaluates +', async () => { expect(evaluate(await expression('+1'))) diff --git a/app/swcx/evaluators/update.js b/app/astride/evaluators/update.js similarity index 100% rename from app/swcx/evaluators/update.js rename to app/astride/evaluators/update.js diff --git a/app/swcx/evaluators/update.test.js b/app/astride/evaluators/update.test.js similarity index 92% rename from app/swcx/evaluators/update.test.js rename to app/astride/evaluators/update.test.js index 45f451c..5d42bfa 100644 --- a/app/swcx/evaluators/update.test.js +++ b/app/astride/evaluators/update.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; -import evaluate from '@/swcx/evaluate.js'; -import expression from '@/swcx/test/expression.js'; +import evaluate from '@/astride/evaluate.js'; +import expression from '@/astride/test/expression.js'; const scopeTest = test.extend({ scope: async ({}, use) => { diff --git a/app/swcx/sandbox.js b/app/astride/sandbox.js similarity index 97% rename from app/swcx/sandbox.js rename to app/astride/sandbox.js index 00fed5f..95db494 100644 --- a/app/swcx/sandbox.js +++ b/app/astride/sandbox.js @@ -1,6 +1,6 @@ -import evaluate from '@/swcx/evaluate.js'; -import Scope from '@/swcx/scope.js'; -import traverse, {TRAVERSAL_PATH} from '@/swcx/traverse.js'; +import evaluate from '@/astride/evaluate.js'; +import Scope from '@/astride/scope.js'; +import traverse, {TRAVERSAL_PATH} from '@/astride/traverse.js'; import { isArrayPattern, isBlockStatement, @@ -13,7 +13,7 @@ import { isReturnStatement, isVariableDeclarator, isWhileStatement, -} from '@/swcx/types.js'; +} from '@/astride/types.js'; export default class Sandbox { diff --git a/app/swcx/sandbox.test.js b/app/astride/sandbox.test.js similarity index 99% rename from app/swcx/sandbox.test.js rename to app/astride/sandbox.test.js index ac4c3c1..9faeaf0 100644 --- a/app/swcx/sandbox.test.js +++ b/app/astride/sandbox.test.js @@ -1,7 +1,7 @@ import {expect, test} from 'vitest'; import {parse} from '@swc/core'; -import Sandbox from '@/swcx/sandbox.js'; +import Sandbox from '@/astride/sandbox.js'; test('declares variables', async () => { const sandbox = new Sandbox( diff --git a/app/swcx/scope.js b/app/astride/scope.js similarity index 100% rename from app/swcx/scope.js rename to app/astride/scope.js diff --git a/app/swcx/test/expression.js b/app/astride/test/expression.js similarity index 100% rename from app/swcx/test/expression.js rename to app/astride/test/expression.js diff --git a/app/swcx/traverse.js b/app/astride/traverse.js similarity index 100% rename from app/swcx/traverse.js rename to app/astride/traverse.js diff --git a/app/swcx/types.js b/app/astride/types.js similarity index 100% rename from app/swcx/types.js rename to app/astride/types.js diff --git a/app/util/script.js b/app/util/script.js index c28b082..330068b 100644 --- a/app/util/script.js +++ b/app/util/script.js @@ -1,4 +1,4 @@ -import Sandbox from '@/swcx/sandbox.js'; +import Sandbox from '@/astride/sandbox.js'; import TickingPromise from '@/util/ticking-promise.js'; import {LRUCache} from 'lru-cache';