Commit Graph

110 Commits

Author SHA1 Message Date
Alberto Arena 91fe5d6cf2 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.
2026-08-05 07:26:31 +02:00
Alberto Arena 585f5c7a7f 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.
2026-08-05 06:30:49 +02:00
Alberto Arena d0cd2d8fa4 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.
2026-08-05 06:24:18 +02:00
Tamani Karim fab51f2d13 Merge pull request #7 from albertoarena/build/build-oom-heap-flag
PR approved!

Thank you, @albertoarena , for your contribution! We really appreciate your support.
2026-08-04 17:46:11 +01:00
Alberto Arena fe84e0d748 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.
2026-08-04 18:06:11 +02:00
Tamani Karim ae9e052cf6 Merge pull request #6 from albertoarena/docs/fix-readme-docker-docs
docs: fix README typos and Docker Compose syntax
2026-08-04 16:30:10 +01:00
Alberto Arena 557387a4fd 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.
2026-08-04 17:25:52 +02:00
KarimTamani 4a2f6ae8f5 add COOP/COEP headers to nginx config to fix macOS database crashes 2026-06-30 16:12:15 +01:00
KarimTamani e8838d1f1e Update the README image 2026-06-10 22:34:07 +01:00
Tamani Karim c1ae2dbf69 New Dialects 2026-06-10 22:16:08 +01:00
KarimTamani eb6c80417c 1.4.0 v1.4.0 2026-06-10 22:12:23 +01:00
KarimTamani 5cce8cc03d 1.3.3 v1.3.3 2026-06-10 22:12:05 +01:00
KarimTamani caa277577a Improved UI/UX + Lazy Loading 2026-06-10 21:43:46 +01:00
KarimTamani 6c3b431ee2 Add Oracle & MSSQL Support 2026-06-10 18:09:54 +01:00
dependabot[bot] 3985e53886 Bump rollup from 4.52.2 to 4.60.1
Bumps [rollup](https://github.com/rollup/rollup) from 4.52.2 to 4.60.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.52.2...v4.60.1)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.60.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-09 21:33:30 +01:00
dependabot[bot] ef27393d9a Bump the npm_and_yarn group across 1 directory with 9 updates
Bumps the npm_and_yarn group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [lodash](https://github.com/lodash/lodash) | `4.17.21` | `4.18.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.20` | `5.4.21` |
| [minimatch](https://github.com/isaacs/minimatch) | `3.1.2` | `3.1.5` |
| [esbuild](https://github.com/evanw/esbuild) | `0.21.5` | `removed` |
| [flatted](https://github.com/WebReflection/flatted) | `3.3.3` | `3.4.2` |
| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.0` | `4.1.1` |
| [picomatch](https://github.com/micromatch/picomatch) | `2.3.1` | `2.3.2` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `6.23.0` | `6.30.3` |
| [tar](https://github.com/isaacs/node-tar) | `7.5.1` | `7.5.13` |



Updates `lodash` from 4.17.21 to 4.18.1
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.18.1)

Updates `vite` from 5.4.20 to 5.4.21
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.21/packages/vite)

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Removes `esbuild`

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `react-router` from 6.23.0 to 6.30.3
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router@6.30.3/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@6.30.3/packages/react-router)

Updates `tar` from 7.5.1 to 7.5.13
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.1...v7.5.13)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 5.4.21
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: esbuild
  dependency-version: 
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: react-router
  dependency-version: 6.30.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-version: 7.5.13
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-09 21:28:31 +01:00
Tamani Karim 9feb0397bc Merge pull request #4 from stackrender/copilot/dockerize-the-application
Copilot/dockerize the application

“Merge Docker build improvements and memory fix into main
2026-03-29 16:18:18 +01:00
KarimTamani 7e7f7c7397 Increase Node memory to prevent out-of-memory errors during build 2026-03-29 16:08:59 +01:00
KarimTamani e342ffa831 Merge remote-tracking branch 'origin/main' into copilot/dockerize-the-application 2026-03-29 14:22:50 +01:00
KarimTamani f1656fafcd Updated Reade.me 2026-03-29 14:06:22 +01:00
KarimTamani caca671b36 Add View docs link in import database dialog 2026-03-29 14:04:49 +01:00
Tamani Karim 1b1c8ebdf6 Merge pull request #3 from stackrender/KarimTamani-patch-1
Add docs link
2026-03-28 19:25:40 +01:00
Tamani Karim c31ab6423b Add docs link 2026-03-28 19:25:21 +01:00
KarimTamani aa3688a0e6 Improve performance and accessibility; add documentation 2026-03-28 19:22:59 +01:00
KarimTamani 39317143b1 Update Discord link & Security contaact email 2026-02-09 22:11:29 +01:00
Tamani Karim 14db841617 Merge pull request #1 from stackrender/uiux-improvements
V1.0.2
2026-01-01 15:52:47 +01:00
KarimTamani 1d78d05468 V1.0.2 2026-01-01 15:51:17 +01:00
KarimTamani d9e5333f96 Mobile Responsivity 2026-01-01 15:49:48 +01:00
copilot-swe-agent[bot] f68b0c97bf Add comprehensive Docker documentation
Co-authored-by: oovaa <103980029+oovaa@users.noreply.github.com>
2025-11-17 08:23:23 +00:00
copilot-swe-agent[bot] 42699038ad Remove obsolete version field from docker-compose.yml
Co-authored-by: oovaa <103980029+oovaa@users.noreply.github.com>
2025-11-17 08:21:29 +00:00
copilot-swe-agent[bot] f594b4e938 Add Docker support with Dockerfile, docker-compose, and nginx config
Co-authored-by: oovaa <103980029+oovaa@users.noreply.github.com>
2025-11-17 08:17:58 +00:00
copilot-swe-agent[bot] f6511df039 Initial exploration and planning for dockerization
Co-authored-by: oovaa <103980029+oovaa@users.noreply.github.com>
2025-11-17 07:41:02 +00:00
copilot-swe-agent[bot] 9f6b61643f Initial plan 2025-11-17 07:36:56 +00:00
KarimTamani 7c443f0edf Release V1.0.1 2025-09-27 18:19:21 +01:00
KarimTamani 6bb10b86f2 Merging UI/UX Improvements with the main branch 2025-09-26 20:52:12 +01:00
KarimTamani 1348262649 Redesign the app using ShadCn UI + new feature (order tables) 2025-09-26 20:30:57 +01:00
KarimTamani c226adfb27 Edit : make <create_database_modal> default CTA create empty diagram 2025-09-01 15:28:46 +01:00
KarimTamani 0e82e5b965 Test branch protection rules 2025-08-22 17:30:12 +01:00
KarimTamani cd9861bfd8 Add Spaces 2025-08-22 17:27:56 +01:00
KarimTamani 9e5e566bdf Improved table colors , and add ring to table node v1.0.0 2025-08-22 16:57:42 +01:00
KarimTamani ed19a5dc9b add package-lock.json 2025-08-19 20:25:52 +01:00
KarimTamani cff1cce906 Add NavBar 2025-08-16 11:27:02 +01:00
Tamani Karim 25eb5f603b Create SECURITY.md 2025-08-15 18:53:23 +01:00
Tamani Karim 596a8d2728 Create pull_request_template.md 2025-08-15 18:51:50 +01:00
Tamani Karim 5381579dfe Delete .github/ISSUE_TEMPLATE/pull_request_template.md 2025-08-15 18:51:08 +01:00
Tamani Karim c6c0377fb4 Create pull_request_template.md 2025-08-15 18:48:44 +01:00
Tamani Karim 3994701811 Update issue templates 2025-08-15 18:38:46 +01:00
Tamani Karim 3cb69c846b Update issue templates 2025-08-15 18:37:53 +01:00
Tamani Karim aba3e76e34 Update issue templates 2025-08-15 18:36:39 +01:00
Tamani Karim 0a65025dee Create CONTRIBUTING.md 2025-08-15 18:26:56 +01:00