Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: stackrender/stackrender
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: oracle-mssql-support
Choose a base ref
...
head repository: stackrender/stackrender
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 49 files changed
  • 3 contributors

Commits on Jun 10, 2026

  1. Configuration menu
    Copy the full SHA
    caa2775 View commit details
    Browse the repository at this point in the history
  2. 1.3.3

    KarimTamani committed Jun 10, 2026
    Configuration menu
    Copy the full SHA
    5cce8cc View commit details
    Browse the repository at this point in the history
  3. 1.4.0

    KarimTamani committed Jun 10, 2026
    Configuration menu
    Copy the full SHA
    eb6c804 View commit details
    Browse the repository at this point in the history
  4. New Dialects

    KarimTamani authored Jun 10, 2026
    Configuration menu
    Copy the full SHA
    c1ae2db View commit details
    Browse the repository at this point in the history
  5. Update the README image

    KarimTamani committed Jun 10, 2026
    Configuration menu
    Copy the full SHA
    e8838d1 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2026

  1. Configuration menu
    Copy the full SHA
    4a2f6ae View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2026

  1. docs: fix README typos and Docker Compose syntax

    Correct the "Welcome" heading typo and reword "Index Suggestions"
    in the feature list. The intro now lists all six exportable SQL
    dialects (adding Oracle and SQL Server) so it matches the
    Supported Databases section. Add the port 3000 dev-server URL to
    the local setup instructions, and switch the Docker Compose
    commands in README and DOCKER.md from the deprecated V1
    "docker-compose" to the current V2 "docker compose" syntax.
    albertoarena committed Aug 4, 2026
    Configuration menu
    Copy the full SHA
    557387a View commit details
    Browse the repository at this point in the history
  2. Merge pull request #6 from albertoarena/docs/fix-readme-docker-docs

    docs: fix README typos and Docker Compose syntax
    KarimTamani authored Aug 4, 2026
    Configuration menu
    Copy the full SHA
    ae9e052 View commit details
    Browse the repository at this point in the history
  3. build: raise Node heap for production build

    The production build renders thousands of modules and exceeds V8's
    default heap ceiling, so `npm run build` fails with a JavaScript
    heap out-of-memory error during "rendering chunks". Set
    NODE_OPTIONS=--max-old-space-size=8192 on the Vite build step via
    cross-env (kept portable for Windows), so a fresh clone builds
    without any manual environment setup. Document the matching Docker
    memory requirement in DOCKER.md, since the container build hits the
    same limit when the Docker VM has too little RAM.
    albertoarena committed Aug 4, 2026
    Configuration menu
    Copy the full SHA
    fe84e0d View commit details
    Browse the repository at this point in the history
  4. Merge pull request #7 from albertoarena/build/build-oom-heap-flag

    PR approved!
    
    Thank you, @albertoarena , for your contribution! We really appreciate your support.
    KarimTamani authored Aug 4, 2026
    Configuration menu
    Copy the full SHA
    fab51f2 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2026

  1. test: add Vitest and Phase 1 pure-helper suite

    Introduce automated testing to a project that had no test runner, no
    test script and no CI. Vitest fits the existing Vite setup with near-zero
    config; a standalone vitest.config.ts wires the @/ alias via
    vite-tsconfig-paths and runs in the node environment, avoiding the app's
    Tailwind/React/WASM plugins that pure-logic tests do not need.
    
    Cover the cheapest, highest-value surface first: pure helpers with no DOM,
    WASM or database. getNextSequence and cloneField (field.ts), the
    charset/collation and SQLite integer-column reordering plus enum naming
    (render-uttils.ts), and orderTables including the CircularDependencyError
    cycle path that backs the Foreign Key Cycle Detection feature.
    
    The build's tsc step is unaffected (plain tsc no-ops on the root config)
    and the new files typecheck clean under strict and lint clean.
    albertoarena committed Aug 5, 2026
    Configuration menu
    Copy the full SHA
    d0cd2d8 View commit details
    Browse the repository at this point in the history
  2. test: add Phase 2 SQL import tests for all dialects

    Cover getImporter().parseSql across MySQL, MariaDB, PostgreSQL, SQLite,
    Oracle and SQL Server. Each dialect gets a representative CREATE TABLE +
    foreign key + index fixture, asserting table and column counts, primary
    key, NOT NULL, UNIQUE and DEFAULT parsing, data-type mapping, and the
    captured foreign key (direction, cardinality and ON DELETE action). Also
    parse the bundled PostgreSQL dump as a realistic case and verify malformed
    input surfaces errors without dropping valid tables or throwing.
    
    Data-type fixtures are built from the seed arrays via the same transform
    the app uses in seedDataTypes, so tests run without booting the WASM
    SQLite database. The parser is a WASM module whose init() is async; the
    importer constructor does not await it, so the suite awaits init() once in
    beforeAll, after which every synchronous parseSql call resolves.
    albertoarena committed Aug 5, 2026
    Configuration menu
    Copy the full SHA
    585f5c7 View commit details
    Browse the repository at this point in the history
  3. test: add Phase 3 SQL render tests for all dialects

    Cover getRenderer().renderDDL across MySQL, MariaDB, PostgreSQL, SQLite,
    Oracle and SQL Server. A shared DatabaseType fixture (users + posts with a
    primary key, auto-increment, NOT NULL UNIQUE column with a length, DEFAULT
    and a posts to users foreign key) is rendered per dialect, asserting the
    emitted DDL creates both tables and columns and carries the primary key,
    unique constraint, dialect-specific auto-increment spelling (AUTO_INCREMENT,
    SERIAL, AUTOINCREMENT, IDENTITY), variable-length text type, DEFAULT value
    and the foreign key with ON DELETE CASCADE.
    
    The fixture is built from the seed data types so field type ids hydrate the
    way the app hydrates them, and embeds relationship source/target objects
    because the SQLite renderer orders tables from the raw database before the
    migration step re-hydrates. Assertions match quote-agnostic patterns rather
    than exact strings, since identifier quoting and formatting differ by dialect.
    albertoarena committed Aug 5, 2026
    Configuration menu
    Copy the full SHA
    91fe5d6 View commit details
    Browse the repository at this point in the history
  4. test: add round-trip tests and CI workflow

    Add the Phase 4 import -> render -> import round-trip: for each of the six
    dialects, parse a CREATE TABLE + foreign key schema into a model, render it
    back to DDL, parse the rendered DDL again, and assert the two models are
    equal. Comparison is on a normalized model (table and column names, resolved
    type names, key/constraint flags, relationships), not raw SQL, since
    formatting and identifier quoting legitimately differ. A small in-memory
    adapter assembles the DatabaseType the renderer consumes from the importer
    output, which the app normally reconstructs via the database.
    
    Primary keys are canonicalized to non-nullable in the comparison: SQL Server
    emits its primary key as a table-level constraint and the importer only
    forces NOT NULL for inline primary keys, so the flag would otherwise differ
    on the round trip although the schemas are equivalent.
    
    Add a GitHub Actions workflow running npm ci + npm test on pushes to main
    and on pull requests. Typecheck and lint are intentionally left out for now:
    the current codebase does not pass a strict project typecheck or a clean
    lint, so gating on them would fail CI on pre-existing, unrelated issues.
    albertoarena committed Aug 5, 2026
    Configuration menu
    Copy the full SHA
    42e2bcf View commit details
    Browse the repository at this point in the history
  5. Merge pull request #8 from albertoarena/test/automated-tests

    test: add automated test suite (Vitest) for the SQL import/render pipeline
    KarimTamani authored Aug 5, 2026
    Configuration menu
    Copy the full SHA
    994c797 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e169b84 View commit details
    Browse the repository at this point in the history
Loading