Skip to content

Commit

Permalink
feat(Compilers): add support for PostgreSQL
Browse files Browse the repository at this point in the history
  • Loading branch information
hatemhosny committed Mar 28, 2024
1 parent 888e34f commit 1a49363
Show file tree
Hide file tree
Showing 16 changed files with 298 additions and 95 deletions.
28 changes: 28 additions & 0 deletions e2e/specs/starter.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,22 @@ test.describe('Starter Templates from UI', () => {
expect(resultText).toContain('Whatever you do, do it well. – Walt Disney');
});

test('PostgreSQL Starter', async ({ page, getTestUrl }) => {
await page.goto(getTestUrl());

const { app, getResult, waitForResultUpdate } = await getLoadedApp(page);

await app.click('[aria-label="Menu"]');
await app.click('text=New');
await app.click('text=PostgreSQL Starter');
await waitForEditorFocus(app);

await waitForResultUpdate();

const resultText = await getResult().innerText('table');
expect(resultText).toContain('Whatever you do, do it well. – Walt Disney');
});

test('Prolog Starter', async ({ page, getTestUrl }) => {
await page.goto(getTestUrl());

Expand Down Expand Up @@ -1006,6 +1022,18 @@ test.describe('Starter Templates from URL', () => {
expect(resultText).toContain('Whatever you do, do it well. – Walt Disney');
});

test('PostgreSQL Starter (in URL)', async ({ page, getTestUrl }) => {
await page.goto(getTestUrl({ template: 'postgresql' }));

const { app, getResult, waitForResultUpdate } = await getLoadedApp(page);

await waitForEditorFocus(app);
await waitForResultUpdate();

const resultText = await getResult().innerText('table');
expect(resultText).toContain('Whatever you do, do it well. – Walt Disney');
});

test('Prolog Starter (in URL)', async ({ page, getTestUrl }) => {
await page.goto(getTestUrl({ template: 'prolog' }));

Expand Down
2 changes: 1 addition & 1 deletion scripts/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ const esmBuild = () =>
'UI/embed-ui.ts',
'UI/editor-settings.ts',
'languages/diagrams/lang-diagrams-compiler-esm.ts',
'languages/pgsql/lang-pgsql-compiler-esm.ts',
'languages/postgresql/lang-postgresql-compiler-esm.ts',
'languages/r/lang-r-script-esm.ts',
'languages/rescript/lang-rescript-compiler-esm.ts',
]
Expand Down
10 changes: 10 additions & 0 deletions src/livecodes/assets/templates/postgresql.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/livecodes/compiler/compile.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
import { runOutsideWorker as rescript } from '../languages/rescript';
import { runOutsideWorker as mdx } from '../languages/mdx';
import { runOutsideWorker as diagrams } from '../languages/diagrams';
import { runOutsideWorker as pgsql } from '../languages/pgsql';
import { runOutsideWorker as postgresql } from '../languages/postgresql';

(window as any).compilers = {
rescript,
reason: rescript,
ocaml: rescript,
mdx,
diagrams,
pgsql,
postgresql,
};
29 changes: 29 additions & 0 deletions src/livecodes/html/language-info.html
Original file line number Diff line number Diff line change
Expand Up @@ -866,6 +866,35 @@ <h3>Perl</h3>
</li>
</ul>
</section>
<section data-lang="pgsql">
<h3>PostgreSQL</h3>
<div>PostgreSQL packaged as WASM using PGlite</div>
<ul>
<li>
<a href="https://www.postgresql.org/" target="_blank" rel="noopener"
>PostgreSQL official website</a
>
</li>
<li>
<a href="https://www.postgresql.org/docs/" target="_blank" rel="noopener"
>PostgreSQL documentation</a
>
</li>
<li>
<a href="https://github.com/electric-sql/pglite" target="_blank" rel="noopener"
>PGlite GitHub repo</a
>
</li>
<li>
<a href="https://learnxinyminutes.com/docs/sql/" target="_blank" rel="noopener"
>Learn X in Y minutes, where X=SQL</a
>
</li>
<li>
<a href="?template=pgsql" target="_parent" data-template="pgsql">Load starter template</a>
</li>
</ul>
</section>
<section data-lang="php">
<h3>PHP</h3>
<div>PHP running in the browser using Uniter.</div>
Expand Down
4 changes: 2 additions & 2 deletions src/livecodes/languages/languages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ import { rubyWasm } from './ruby-wasm';
import { luaWasm } from './lua-wasm';
import { phpWasm } from './php-wasm';
import { bbcode } from './bbcode';
import { pgsql } from './pgsql';
import { postgresql } from './postgresql';

export const languages: LanguageSpecs[] = [
html,
Expand Down Expand Up @@ -148,7 +148,7 @@ export const languages: LanguageSpecs[] = [
assemblyscript,
wat,
sql,
pgsql,
postgresql,
prolog,
blockly,
];
1 change: 0 additions & 1 deletion src/livecodes/languages/pgsql/index.ts

This file was deleted.

72 changes: 0 additions & 72 deletions src/livecodes/languages/pgsql/lang-pgsql-compiler-esm.ts

This file was deleted.

1 change: 1 addition & 0 deletions src/livecodes/languages/postgresql/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './lang-postgresql';

0 comments on commit 1a49363

Please sign in to comment.