livecodes

Code Playground That Just Works!

MIT License

Downloads
998
Stars
638
Committers
2

Bot releases are hidden (Show)

livecodes - v34 Latest Release

Published by hatemhosny 3 months ago

v34 (2024-07-27)

  • Config: allow setting custom editor title (95287d0)

  • SDK v0.6.0

livecodes - sdk-v0.6.0

Published by hatemhosny 3 months ago

sdk-v0.6.0 (2024-07-27)

Features

  • Config: allow setting custom editor title (95287d0)
  • SDK: add JSDoc comments (323ce5a)
  • SDK: add JSDoc comments for react & vue SDKs (cf7b46d)
  • SDK: change react SDK build to use react-jsx (d603103)
livecodes - v33

Published by hatemhosny 3 months ago

v33 (2024-07-13)

Highlights for this release:

  • BREAKING: Most compilers were upgraded to their latest versions. Some compilers do have breaking changes. The full list of compilers upgraded and their new versions can be found here.

    If your code stops working as intended, you may want to use a permanent URL to a previous LiveCodes version (e.g. https://v32.livecodes.io), till you upgrade your code.

  • A custom build for Monaco editor is now used to allow matching the playground TypeScript version and the use of ESM bundled version of Monaco. This now makes it much faster (than previously used CDN), and avoids some bugs related to the Monaco loader.

  • Fixed a bug that sometimes caused formatting to change the code in Monaco.

  • Added support for Vento template engine.

Bug Fixes

  • Editor: destroy editors in modals onClose (84736cb)
  • Editor: fix formatting on monaco (85cd72a)
  • Editor: when formatting in monaco, avoid referring to editors destroyed after closing modals (c6234bd)

Features

  • Compilers: add vento (cba3a35)
  • Editor: use custom build of monaco (a11b23b)
livecodes - v32

Published by hatemhosny 4 months ago

v32 (2024-06-30)

Highlights for this release:

  • Brython upgraded to v3.12.3 and fixed a bug that caused Python code to run twice.

Bug Fixes

  • Compilers: upgrade brython to v3.12.3 and fix bug of running code twice (28c2922)
livecodes - v31

Published by hatemhosny 4 months ago

v31 (2024-06-29)

Highlights for this release:

  • CodeMirror TypeScript editor support:

    This release adds TypeScript editor support for CodeMirror (the default editor on mobile).
    This includes auto-complete, type info on hover and linting (showing type errors).
    This also includes automatically loading types for imported npm modules and the support of custom (user-defined) types.

    All of these features (except showing type errors) are also available in JS & JSX.

  • The AI code assistant now works on CodeMirror editor.

Bug Fixes

  • App: fix race condition for AMD define between monaco editor and localforage (847d567)
  • Editor: fix multiple registers for twoslash completions (2f0147e)
  • Types: fix loading custom types (33458af)

Features

  • Editor: support adding types on codemirror (7ef6551)
livecodes - v30

Published by hatemhosny 4 months ago

v30 (2024-06-21)

Highlights for this release:

Thanks to @sharno for bug reports and suggestions.

Bug Fixes

  • App: do not format when auto-saving (10a3f44)
  • App: fix loading AMD modules (for autocomplete & qrcode) (da0f9a5)
  • Deploy: fix deploy user info (0e67a61)
  • Editor: fix solid jsx/tsx in monaco (0040f31)

Features

  • Compilers: upgrade typescript compiler to v5.5.2 (14fbf52)
  • Import: set activeEditor when importing (7f6fcd0)
  • Import: use files query param for file selection when importing (b787e03)
livecodes - v29

Published by hatemhosny 5 months ago

v29 (2024-05-15)

Highlights for this release:

  • Add TypeScript twoslash support in monaco editor. This works in JS, TS, JSX and TSX. See docs.
  • Change the way TypeScript types are loaded using Automatic Type Acquisition (ATA) to overcome some edge cases.
  • Use same typescript version for editor and compiler (currently v5.4.5).

in addition to other improvements and fixes listed below.

Bug Fixes

  • Compilers: add rest of official gleam modules (903e32b)
  • prevent using AMD when building (e.g. lz-string) (f4f7154)
  • ToolsPane: fix show test results in projects with no tests (0f1b25b)
  • ToolsPane: fix unnecessarily changing language of compiled code editor (4b0f023)
  • ToolsPane: hide loading spinner when tests complete (db1c7fc)
  • Types: fix type loader (cfbdec4)
  • Types: fix types in test editor (874f2ee)

Features

  • Editor: add twoslash support in monaco editor (b024c84)
  • Editor: use same typescript version for editor and compiler (9d65622)
  • Modules: add more CDNs (616bae7)
  • Types: enable Automatic Type Acquisition (ATA) for Monaco editor (1f2ab60)

Thanks to @dai-shi for feautre suggestions & bug reports

livecodes - v28

Published by hatemhosny 6 months ago

v28 (2024-04-24)

Highlights for this release:

  • Add support for Gleam language (starter template - docs)
  • Enable AI code completion on mobile editor (codemirror) - (experimental)
  • Upgrade monaco editor to v0.48.0, TypeScript compiler to v5.4.5, and prettier formatter to v3.2.5

Bug Fixes

  • Types: fix type bundler for subpaths (f4d88e1)

Features

  • App: upgrade monaco editor to v0.48.0 (88253f9)
  • Compilers: add support for gleam language (a1bb21e)
  • Compilers: allow gleam code to use npm modules without import maps (52a269a)
  • Compilers: allow loading custom gleam modules (cf13102)
  • Compilers: dynamically load gleam stdlib (9352da4)
  • Compilers: make official gleam packages available by default (5aed5ea)
  • Compilers: upgrade TypeScript to v5.4.5 (0d020ef)
  • Editor: enable AI code completion for codemirror (ac2c6f3)
  • Formatter: upgrade prettier to v3.2.5 (bf0ee4f)
  • Import-maps: allow config imports to override auto-generated user imports (e87018f)
  • Templates: add gleam starter template (cc57e38)
livecodes - v27

Published by hatemhosny 6 months ago

v27 (2024-04-17)

Highlights for this release:

In addition to many other improvements and bug fixes.

Thanks to @dai-shi , @gapmiss, @ahmadalfy and @medhatdawoud for suggesting features and reporting issues 💚.

Bug Fixes

  • App: fix ?view=result when loading external content (1314202)
  • App: fix popup window failing to use importmap (52b0e48)
  • compilers: change python-wasm default extension to wasm.py (db7f5c4)
  • Deploy: fix deploy for runtime languages with code in custom script block (use single file) (6caf303)
  • Import: fix import deployed projects (1877959)
  • Import: fix importing for github dir name with spaces (620898b)
  • UI: improve settings menu layout (fd5f243)

Features

  • Compilers: add support for PostgreSQL (1a49363)
  • compilers: allow compiler factory to be async (d76b351)
  • Config: make Config.tools fields optional (42342a7)
  • Deploy: add link to deploy status (8c49c58)
  • Import: load linked assets when importing from GitHub (bf0660d)
  • Modes: add focus mode (3608df4)
  • Modes: add simple mode (6690806)
  • SDK: allow the SDK watch method to watch for changes to external resources (a2aabf7)
  • SDK: allow the SDK watch method to watch for changes to processors (f23c848)
  • ToolsPane: show indicator for console output (eaa33de)
  • UI: allow changing layout horizontal/vertical (df3796f)
  • UI: make app menu responsive (46b7580)
  • UI: remove load buttons from screens. (94ee5d6)
livecodes - sdk-v0.5.0

Published by hatemhosny 6 months ago

sdk-v0.5.0 (2024-04-16)

  • Config: make Config.tools fields optional (42342a7)
  • Modes: add focus mode (3608df4)
  • Modes: add simple mode (6690806)
  • SDK: allow the SDK watch method to watch for changes to external resources (a2aabf7)
  • SDK: allow the SDK watch method to watch for changes to processors (f23c848)
  • UI: allow changing layout horizontal/vertical (df3796f)
livecodes - v26

Published by hatemhosny 8 months ago

v26 (2024-03-04)

Bug Fixes

  • Editor: revert css nesting workaround (66bd226)
  • Embed: fix embed UI code snippets (e01315e)
  • UI: fix toolspane double-click (3114e6c)

Features

livecodes - v25

Published by hatemhosny 8 months ago

v25 (2024-03-01)

Most notable changes in this release:

  • Adds support for JSR, the new JavaScript package registry, using esm.sh. Use the prefix jsr: in imports.

    Example:

    import { yassify } from 'jsr:@kwhinnery/yassify';
    
    console.log(yassify('Hello, World!'));
    
  • Adds BBCode language support.

  • Changes polyfill CDN to https://cdnjs.cloudflare.com/polyfill/. See #519 (Thanks @gapmiss).

  • Adds a noscript block to notify users that JavaScript is required. (Thanks @saidbakr)

  • Adds a temporary workaround for CSS nesting in Monaco editor. See #515 (Thanks @gapmiss).

Bug Fixes

  • Editor: monaco editor css nesting workaround (c932c29)
  • Templates: fix preact template imports (efbab86)

Features

  • App: add noscript block (e455240)
  • App: change polyfill CDN (1606b3f), closes #519
  • compilers: add support for BBCode (2f15b95)
  • Modules: add support for jsr package registry (e574ec3)
livecodes - v24

Published by hatemhosny 8 months ago

v24 (2024-02-17)

This is a hotfix for embeds failing to load.

Bug Fixes

  • Embed: fix setting on undefined (theme toggle in embeds) (1b845da)
livecodes - v23

Published by hatemhosny 8 months ago

v23 (2024-02-15)

This release allows using the AI code assistant without browser extension, with no account or API token required, totally for free, by just flipping a switch! (Powered by codeium)

The AI code assistant can be enabled from editor settings.
Also the new config property enableAI allows enabling it using the SDK.

In addition, new monochrome (light and dark) editor themes and the font Astigmata have been added.

Bug Fixes

  • UI: fix theme switch status (ce0fe2c)

Features

  • App: AI code assistant with no accounts or browser extensions (39916cf)
  • UI: allow enabling/disabling AI from UI (editor settings screen) (c422ded)
  • Editor: add Astigmata font (39cd99b)
  • Editor: add monochrome prism themes (0a507d1)
  • Editor: add monochrome themes for codemirror (3ad8b37)
  • Editor: add monochrome themes for monaco (876294a)
  • Editor: use AI context from content of multiple editors (e2066c5)
  • Result: load stylesheets in importmap (b943274)
livecodes - v22

Published by hatemhosny 9 months ago

v22 (2024-02-03)

Add more docs, including for the Preview in LiveCodes GitHub action.

Bug Fixes

  • fix importing data url stylesheet (d57a06c)
livecodes - v21

Published by hatemhosny 9 months ago

v21 (2024-01-27)

The major changes in this release include:

  • Auto-rendering of default export from JSX/TSX: This significantly reduces the boilerplate code required in JSX (to create and render react-dom root). This is mostly backward-compatible. Manual rendering still works. See JSX docs.
  • Use React new JSX transform
  • Apply same changes to react-native and solid
  • Change React, React-Native and Solid starter templates to use default export with auto-rendering
  • Allow the use of JSX fragments in Vue SFC
  • Improve fetching and bundling of types for editor intellisense. This should significantly improve code auto-completion and type info for imported modules, without the need for manual type-bundling or the use of custom types.
  • Add docs for: JSX, TSX, Solid, Solid(TS), React-Native, React-Native(TSX)

Thank you @dai-shi for suggesting some of these changes.

In addition to various improvements and fixes (see below).

Bug Fixes

  • App: fix loading mode & view (f982fe0)
  • App: fix result mode toolspane visibility (cd1861a)
  • Result: fix removing/ignoring stylesheet imports in scripts (c77980a)
  • Result: remove extra scripts added to detect classes for CSS processors (c63a32f)
  • Types: fix race condition in loading types (a85ba31)

Features

  • compilers: allow using JSX fragments in Vue SFC (32270d8)
  • compilers: render React component if it is the default export (6daace7)
  • compilers: render React component if it is the default export (2ba144f)
  • compilers: render react-native component if it is the default export (7db03f6)
  • compilers: render Solid component if it is the default export (4968f03)
  • compilers: set typescript option { jsx: 'react-jsx' } (e46450d)
  • compilers: set typescript option { jsx: 'react-jsx' } (8793627)
  • Config: allow disabling JSX auto-render from custom settings (20d5b5b)
  • Templates: update react and jest-react starter templates to use the new jsx runtime (2e5b9d1)
  • Types: bundle types in the browser (f9a7951)
  • UI: add links to docs in language info (0bf80a5)
  • UI: add share button to toolbar (9a1cb6d)
  • UI: use the new X/Twitter logo in share screen (848db7e)
livecodes - v20

Published by hatemhosny 9 months ago

v20 (2024-01-17)

Features

  • Editor: support editor themes (7eaafeb)
  • App: use esm.sh as default CDN
  • UI: add buttons for project info and custom settings in editor toolbar (e92a4f6)
  • UI: add editor settings button to editor toolbar (213cfc9)
livecodes - sdk-v0.4.0

Published by hatemhosny 9 months ago

sdk-v0.4.0 (2024-01-17)

Features

  • Editor: support editor themes (7eaafeb)
  • SDK: add getPlaygroundUrl function to SDK (ef2105b)
  • SDK: update options on changing props in react sdk (0544540)
  • SDK: update options on changing props in vue sdk (04c8ae8)
  • UI: add buttons for project info and custom settings in editor toolbar (e92a4f6)
  • UI: add editor settings button to editor toolbar (213cfc9)
livecodes - v19

Published by hatemhosny 11 months ago

v19 (2023-11-27)

Bug Fixes

  • Templates: fix solid template (32732a0)

Features

  • compilers: upgrade Brython to v3.12.1 running Python v3.12 (933f606)
  • Types: load types for imports from CDN URLs (8d25463)
livecodes - v18

Published by hatemhosny 11 months ago

v18 (2023-11-26)

This release allows adding content to result page head (e.g. meta tags), and to set html element attributes using Config.head and Config.htmlAttrs.

Now shared projects preserve app config (e.g. open console).

Added Lit starter template.

Fixed rich text editor (broken CDN URL).

Bug Fixes

  • compilers: fix quill CDN url (98381cc)

Features

  • Config: add Config.head and Config.htmlAttrs (360f2fe)
  • Share: include AppConfig in shared projects (9026101)
  • Templates: add Lit starter template (bc23a89)
  • UI: edit head and htmlAttrs from UI in Project Info screen (394d464)