Repository navigation
Releases: undervolta/scaffscript
Release list
@scaffscript/core@0.3.6
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/coreIf 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/coreIf 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@latestWhat'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
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/coreIf 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/coreIf 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@latestWhat's Changed
- feat(parser): JSDoc support for class (struct constructor) exports
Full Changelog: v0.3.4...v0.3.5
@scaffscript/core@0.3.4
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/coreIf 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/coreIf 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@latestWhat's Changed
- feat(parser): JSDoc support for function exports
Full Changelog: v0.3.3...v0.3.4
@scaffscript/core@0.3.3
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/coreIf 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/coreIf 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@latestWhat's Changed
- fix(parser): extra
}on escaped quotes in #2 - fix(parser): broken
import,include, andintgstatements on{ ... }target with trailing comma
Full Changelog: v0.3.2...v0.3.3
@scaffscript/core@0.3.2
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/coreIf 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/coreIf 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@latestFixes
- Fixed broken class' method parsing
Full Changelog: v0.3.1...v0.3.2
@scaffscript/core@0.3.1
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/coreIf 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@latestBREAKING CHANGES
- ScaffScript now uses
.scafffile 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
importstatements - Added normal
.gmlinlining support onincludestatements - 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
extendsand&support forinterfaceandtypeexports - Added support on functions and arrow functions declared on a
classexports, which converted into function expression - Added
classinlining support usingimplstatements - 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
sourceoption inscaff.config.*as the root forscaffto scans the scaff source codes - Added
platformoption inscaff.config.*to tree-shaking the integration - Added support for reviewing changes in GameMaker IDE after integration
- Added
noderuntime support - Added
--integrateand--no-integrationflags toscaff generate - Added root (
~) support on path aliases to get the module fromsourceoption - Added support for ignoring directories and files that start with
_. - Added wildcard (
*) path aliases - Added images: banner, logo, icon
Changed
index.scaffnow 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
@valueofor@:directives now convert function exports into function expression
Deprecated
- Deprecated
srcargument ingeneratecommand in the CLI
Removed
- Removed
initcommand in the CLI
Fixed
- Fixed broken
implstatements on the same file with theclassdeclaration - Fixed broken
implstatements when using 2 or moreimplwithin 1 file - Fixed path resolution on
importandincludestatements - Fixed error on handling code integration on blank project
- Fixed missing GML keywords that will broke the parser
Security
noIntegrationoption inscaff.config.*nowtrueby default
Docs
- Added official documentation
Full Changelog: https://github.com/undervolta/scaffscript/commits/v0.3.1