Releases: FlatLang/Airship
v0.4.2
Full Changelog: v0.4.1...v0.4.2
v0.4.1
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Full Changelog: https://github.com/FlatLang/Airship/compare/v0.2.0..v0.3.0
v0.2.0
NOTABLE CHANGES
tl;dr:
Add init
command
You can now run ./airship init
and it will guide you through the process
of creating a new Flat project.
$ node ./airship.js init
Package name (default: home): NewProject
Initialize package in current folder: "C:/Users/home"? (Y/n): n
Folder name (default: NewProject): NewProject
Package version (default: 0.1.0): 0.1.0
Package description: my fancy description
Package author: Bob
Package license (default: ISC): ISC
Default compilation target (default: es6): es6
Main class (e.g.: example/ClassName) [optional - press enter to skip]: bob/NewProject
Create a testing pipeline? (Y/n): y
Pipeline file (default: .github/workflows/test.yml):
Pipeline file created at "C:/Users/home/NewProject/.github/workflows/test.yml"
Add create
command
You can now run ./airship create {thing}
and it will guide you through the
process of creating a new component.
$ node ./airship.js create pipeline
Pipeline file (default: .github/workflows/test.yml):
Pipeline file created at "C:/Users/home/NewProject/.github/workflows/test.yml"
Add support for default exports
Default exports can now be defined in the flat.json file as such:
{
"name": "IO",
"version": "0.1.0",
...
"main": {
...
"defaultExports": [
"flatlang/io/Console"
]
}
}
This allows any package that imports this package as a dependency to automatically have
flatlang/io/Console
imported in all files.
General bug fixes
- Fix duplicate sources being added in some circumstances
- Only include current package test source files when doing a test build
Full Changelog: v0.1.17...v0.2.0
v0.1.17
NOTABLE CHANGES
tl;dr:
General bug fixes
- Fix null pointer on invalid source
Full Changelog: v0.1.16...v0.1.17
v0.1.16
NOTABLE CHANGES
tl;dr:
General bug fixes [Issue #5]
- Fix install git dependency not downloading repo if not downloaded already.
Full Changelog: v0.1.15...v0.1.16
v0.1.15
NOTABLE CHANGES
tl;dr:
Add basic setup
command
To make Flat installation quick and painless, there is now a setup
command.
When Airship is run with this command (e.g. ./airship setup
) it will
install Airship and all the necessary Flat dependencies from their sources.
Add --target-runtime
CLI arg
You can now use the --target-runtime
CLI argument to target specific
runtimes for runtime-specific code. For example, --target-runtime browser
can
be used to only compile browser-specific code. An example use case of this is if you want
to handle logging differently depending on the runtime. In node, you may want to use
process.stdout
instead of console.log
for messages:
[TargetRuntime browser]
logMessage(String message) {
external js {
console.log(#{message.chars.data});
}
}
[TargetRuntime not browser]
logMessage(String message) {
external js {
process.stdout.write(#{message.chars.data} + "\n");
}
}
General bug fixes
- Fix
./airship clean
command. - Rebuild dependency after updating dependency.
Full Changelog: v0.1.13...v0.1.15
v0.1.14
NOTABLE CHANGES
tl;dr:
Handle ES6 Compilation Target
The ES6 compilation target is now handled as a sub-target of js. That means that any existing js configuration files that are not overridden with ES6 ones will apply to ES6 builds. This makes it so common configuration that is likely shared between vanilla js and es6 target builds can easily be shared without having to duplicate the configuration.
Infrastructure Updates
Airship is now tested against vanilla JS and ES6 on every push to GitHub.
General bug fixes
The --target argument is now propagated to child dependencies.
Full Changelog: v0.1.13...v0.1.14
v0.1.13
Full Changelog: v0.1.12...v0.1.13