Skip to content
This repository was archived by the owner on Jun 16, 2026. It is now read-only.

Releases: undervolta/scaffscript

@scaffscript/core@0.3.6

Choose a tag to compare

@undervolta undervolta released this 08 May 08:59
Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's @scaffscript/core@0.3.x (x < 3), update to the latest version:

# using bun
bun update @scaffscript/core

# using pnpm
pnpm update @scaffscript/core

# using npm
npm update @scaffscript/core

If there's no @scaffscript/core@0.3.6, or the scaffscript version is lower than 0.3.0, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

What's Changed

  • fix(parser): broken class implementation if JSDoc has string char (", ')

Full Changelog: v0.3.5...v0.3.6

@scaffscript/core@0.3.5

Choose a tag to compare

@undervolta undervolta released this 02 May 10:22
Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's @scaffscript/core@0.3.x (x < 3), update to the latest version:

# using bun
bun update @scaffscript/core

# using pnpm
pnpm update @scaffscript/core

# using npm
npm update @scaffscript/core

If there's no @scaffscript/core@0.3.5, or the scaffscript version is lower than 0.3.0, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

What's Changed

  • feat(parser): JSDoc support for class (struct constructor) exports

Full Changelog: v0.3.4...v0.3.5

@scaffscript/core@0.3.4

Choose a tag to compare

@undervolta undervolta released this 01 May 10:22
Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's @scaffscript/core@0.3.x (x < 3), update to the latest version:

# using bun
bun update @scaffscript/core

# using pnpm
pnpm update @scaffscript/core

# using npm
npm update @scaffscript/core

If there's no @scaffscript/core@0.3.4, or the scaffscript version is lower than 0.3.0, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

What's Changed

  • feat(parser): JSDoc support for function exports

Full Changelog: v0.3.3...v0.3.4

@scaffscript/core@0.3.3

Choose a tag to compare

@undervolta undervolta released this 11 Apr 16:05
Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's @scaffscript/core@0.3.x (x < 3), update to the latest version:

# using bun
bun update @scaffscript/core

# using pnpm
pnpm update @scaffscript/core

# using npm
npm update @scaffscript/core

If there's no @scaffscript/core@0.3.3, or the scaffscript version is lower than 0.3.0, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

What's Changed

  • fix(parser): extra } on escaped quotes in #2
  • fix(parser): broken import, include, and intg statements on { ... } target with trailing comma

Full Changelog: v0.3.2...v0.3.3

@scaffscript/core@0.3.2

Choose a tag to compare

@undervolta undervolta released this 09 Apr 22:39
Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's @scaffscript/core@0.3.x (x < 2), update to the latest version:

# using bun
bun update @scaffscript/core

# using pnpm
pnpm update @scaffscript/core

# using npm
npm update @scaffscript/core

If there's no @scaffscript/core@0.3.2, or the scaffscript version is lower than 0.3.0, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

Fixes

  • Fixed broken class' method parsing

Full Changelog: v0.3.1...v0.3.2

@scaffscript/core@0.3.1

Choose a tag to compare

@undervolta undervolta released this 09 Apr 04:06

Public Initial Release

Updating

Check current scaff version first:

# make sure you're in your project root directory
cd path/to/your/project

# using bun
bun pm ls @scaffscript/core

# using pnpm
pnpm list @scaffscript/core

# using npm
npm list @scaffscript/core

If there's no @scaffscript/core@0.3.1, or the scaffscript version is lower than 0.3.1, install the new version:

# using bun
bun add @scaffscript/core@latest

# using pnpm
pnpm add @scaffscript/core@latest

# using npm
npm install @scaffscript/core@latest

BREAKING CHANGES

  • ScaffScript now uses .scaff file extension instead of .ss

Added

  • Added export types: variable, constant, function, function expression, arrow function, enum, class, interface, type
  • Added 'multi-exports' import and 'import-all exports' on import statements
  • Added normal .gml inlining support on include statements
  • Added barrel export (re-export) support: export ... from "..."
  • Added content directives for module exports: @content, @valueof / @:, @nameof, @typeof, @use
  • Added special values: @now, @today, @version, @file, @line, @counter
  • Added extends and & support for interface and type exports
  • Added support on functions and arrow functions declared on a class exports, which converted into function expression
  • Added class inlining support using impl statements
  • Added GameMaker object's events integration support
  • Added more integration block style for the GameMaker object's events
  • Added flags support on integration blocks
  • Added block-merging support on integration blocks for the same block name
  • Added virtual path for the GameMaker integration
  • Added source option in scaff.config.* as the root for scaff to scans the scaff source codes
  • Added platform option in scaff.config.* to tree-shaking the integration
  • Added support for reviewing changes in GameMaker IDE after integration
  • Added node runtime support
  • Added --integrate and --no-integration flags to scaff generate
  • Added root (~) support on path aliases to get the module from source option
  • Added support for ignoring directories and files that start with _.
  • Added wildcard (*) path aliases
  • Added images: banner, logo, icon

Changed

  • index.scaff now become a special file:
    • Always the last file processed in its directory
    • Its module store key is the directory path (not dir/index), so you import from the directory directly
    • Recommended for barrel exports here (export ... from ... )
    • For code generation and integration
  • CLI output now uses colored formatting by default
  • @valueof or @: directives now convert function exports into function expression

Deprecated

  • Deprecated src argument in generate command in the CLI

Removed

  • Removed init command in the CLI

Fixed

  • Fixed broken impl statements on the same file with the class declaration
  • Fixed broken impl statements when using 2 or more impl within 1 file
  • Fixed path resolution on import and include statements
  • Fixed error on handling code integration on blank project
  • Fixed missing GML keywords that will broke the parser

Security

  • noIntegration option in scaff.config.* now true by default

Docs

Full Changelog: https://github.com/undervolta/scaffscript/commits/v0.3.1