apache / apache/royale-asjs

(Feature Request) Use ES6 modules

Open
#247 9 comments 2 reactions 0 assignees View on GitHub
Dominant language
ActionScript
Stars
380
Forks
120
PR merge metrics
No merged PRs in 30d

Description

The EcmaScript 2015 standard (ES6) introduced a module system, that allows for multiple JavaScript files to import from one another and build complex applications.

The latest version of most browsers support ES6 syntax, and even support using these modules without a compiler.

The first library we used for bundling modules in the NPM release of OpenFL was browserify, but circular references resulted in needing to remove features from the library. ES6 modules have better handling of cyclic dependencies, depending on the implementation. We use Webpack, and have no circular dependency issues. Being compatible with modern JavaScript toolchains also opens up a wide world of ways to mix/match/interact/expand on the codebase.

If Royale supported ES module output, we would gain support for using SWF assets, for granular code splitting, for many, many features "for free" from the NPM community, and make the cost of integrating ActionScript-based sources much lower in an NPM-based project.

Contributor guide

No contributing guide indexed for this repository

Research direction

No file, test, or entry point is named. Start by locating the NPM release bundling path and its browserify or Webpack configuration, then define the required ES module output, including the stated SWF asset and code-splitting use cases; done means Royale output can be consumed by modern JavaScript toolchains.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, webpack
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.