v1 release #389
Replies: 3 comments 2 replies
-
|
Beta Was this translation helpful? Give feedback.
-
I think the biggest stuff to nail down is the AST. Since once we go 1.0 we are going to be a lot more locked in to that. Since a lot of us want to leverage plugins this is likely to be the biggest issue we will run into since it's not just for internal transpiling. |
Beta Was this translation helpful? Give feedback.
-
At this point, I think we will move forward with v1. In the next few moments I will switch over the targets for the current breaking changes PRs to point to a new |
Beta Was this translation helpful? Give feedback.
-
BrighterScript has been in initial development mode (major version zero) for a while now. This entire project started as an experiment of what I could realistically implement as a superset language. However, many production applications are using BrighterScript to either transpile code or validate their code before releasing.
I believe we should be heading towards a v1 release. However, before we finalize v1, there are several changes that I want to make to the internals of the project. I've already made progress on several of the changes, but I wanted to open up the discussions here for what else might need to be done before we release version 1.
If we proceed with v1, then I will begin releasing pre-release versions of brighterscript until things stabilize (i.e.
v1.0.0-alpha.1
). Also, this will not hold up important bugfixes and other nonbreaking improvements to the 0.x version of brighterscript until v1 is finalized.srcPath
for brevity and clarity"source/main.brs"
is now"pkg:/source/main.brs"
)\
on windows,/
on everything else). NowpkgPath
always stores the unix separator because that's what is used on the roku device.program
file functions to auto-detect the path type and use the correct file collection (this.files
orthis.pkgMap
) accordingly.normalizePath: boolean
parameter to program.getFile to support skippingutil.standardizePath
when the caller knows the path has already been normalizedrange
property) to all SceneGraph/XML nodes.transpile()
functions in favor of the function from the base class.SGComponent
scripts
,children
, andinterface
properties into getter functions which are driven by the underlying XML AST. This means as you modify the AST, those getter functions will automatically reflect the changes.SGInterface
propertiesfields
andfunctions
to getter functions which are driven by the underlying XML AST (same benefits as previous point).SGParser
module functions onto the SGParser class itself to match the OO patterns in the rest of the project.So, questions for the community:
NOTE: I will continue to edit this initial post based on any feedback found in the discussions below.
Beta Was this translation helpful? Give feedback.
All reactions