- TypeScript compiler (uses the TS Compiler API)
-
com.adobe.air
typings, includingdeclare global
d.ts -
ts4air
command-
ts4air new --app
: Create new application project- Look at src/tsair-testproj for a blank project example.
- Automatically run
npm install
for the first time.
-
ts4air new --lib
: Create new library- Automatically run
npm install
for the first time.
- Automatically run
-
ts4air ts2swf
-
ts4air validate
: runsts2swf
, but does not generate SWF. Used for validating a program. -
ts4air doc
for running TypeDoc.
-
- Are multiple
DoABC
s fine in SWF? https://forum.starling-framework.org/d/23830-multiple-doabc
- Reader
- Only the ABC, DefineBinaryData and SymbolClass tags will be read from a SWF at the moment.
- Opcodes won't be read as that is not necessary.
- ABC
- Not necessary for now as ABCs don't need to be merged: at least I think.
- SWF
- https://github.com/ruffle-rs/ruffle/blob/master/swf/src/read.rs
- https://github.com/ruffle-rs/ruffle/blob/master/swf/src/avm2/read.rs
- Writer
- Re-structure the map and set iterators in
com.asprelude.util
so that they can be used as proper ECMAScript iterators. Maybe improve some other things too there. - Add
WeakMap
andWeakSet
.
- 1. Merge prelude SWF
- 2. Create some built-ins manually, like
Promise
. - 3. Compile nodes
- Fix various parts involving
ts.createProgram()
. I've discovered TSConfig is handled fine. - If the source file is the entry point of a library (
state.libEntryPoints.has(path.normalize(sourceFilePath))
), compile it viacompileProject
; otherwise compile it as part of the current project. -
import.meta.embedBytes
: while incrementing theBinaryData
id, check if it doesn't duplicate too due to merged SWFs.
- Fix various parts involving
- 4. Generate SWF
- The application's entry point .ts exports a default
Sprite
subclass. Add aSymbolClass
with character tag ID 0 (the "main" class) and the name of that default class.- Report an error if either the entry point does not export a default class or that default class does not extend
Sprite
.
- Report an error if either the entry point does not export a default class or that default class does not extend
- The application's entry point .ts exports a default
Filter this list.
- Uncategorized
- ts.SyntaxKind.SourceFile
- ts.SyntaxKind.QualifiedName
- ts.SyntaxKind.ComputedPropertyName
- ts.SyntaxKind.TypeParameter
- ts.SyntaxKind.Parameter
- ts.SyntaxKind.Decorator
- ts.SyntaxKind.PropertySignature
- ts.SyntaxKind.PropertyDeclaration
- ts.SyntaxKind.MethodSignature
- ts.SyntaxKind.MethodDeclaration
- ts.SyntaxKind.Constructor
- ts.SyntaxKind.GetAccessor
- ts.SyntaxKind.SetAccessor
- ts.SyntaxKind.CallSignature
- ts.SyntaxKind.ConstructSignature
- ts.SyntaxKind.IndexSignature
- ts.SyntaxKind.TypePredicate
- ts.SyntaxKind.TypeReference
- ts.SyntaxKind.FunctionType
- ts.SyntaxKind.ConstructorType
- ts.SyntaxKind.TypeQuery
- ts.SyntaxKind.TypeLiteral
- ts.SyntaxKind.ArrayType
- ts.SyntaxKind.TupleType
- ts.SyntaxKind.OptionalType
- ts.SyntaxKind.RestType
- ts.SyntaxKind.UnionType
- ts.SyntaxKind.IntersectionType
- ts.SyntaxKind.ConditionalType
- ts.SyntaxKind.InferType
- ts.SyntaxKind.ParenthesizedType
- ts.SyntaxKind.ThisType
- ts.SyntaxKind.TypeOperator
- ts.SyntaxKind.IndexedAccessType
- ts.SyntaxKind.MappedType
- ts.SyntaxKind.LiteralType
- ts.SyntaxKind.ImportType
- ts.SyntaxKind.ObjectBindingPattern
- ts.SyntaxKind.ArrayBindingPattern
- ts.SyntaxKind.BindingElement
- Expressions
- ts.SyntaxKind.ArrayLiteralExpression
- ts.SyntaxKind.ObjectLiteralExpression
- ts.SyntaxKind.PropertyAccessExpression
- ts.SyntaxKind.ElementAccessExpression
- ts.SyntaxKind.CallExpression
- ts.SyntaxKind.NewExpression
- ts.SyntaxKind.TaggedTemplateExpression
- ts.SyntaxKind.TypeAssertionExpression
- ts.SyntaxKind.ParenthesizedExpression
- ts.SyntaxKind.FunctionExpression
- ts.SyntaxKind.ArrowFunction
- ts.SyntaxKind.DeleteExpression
- ts.SyntaxKind.TypeOfExpression
- ts.SyntaxKind.VoidExpression
- ts.SyntaxKind.AwaitExpression
- ts.SyntaxKind.PrefixUnaryExpression
- ts.SyntaxKind.PostfixUnaryExpression
- ts.SyntaxKind.BinaryExpression
- ts.SyntaxKind.ConditionalExpression
- ts.SyntaxKind.TemplateExpression
- ts.SyntaxKind.YieldExpression
- ts.SyntaxKind.SpreadElement
- ts.SyntaxKind.ClassExpression
- ts.SyntaxKind.OmittedExpression
- ts.SyntaxKind.ExpressionWithTypeArguments
- ts.SyntaxKind.AsExpression
- ts.SyntaxKind.NonNullExpression
- ts.SyntaxKind.MetaProperty
- ts.SyntaxKind.SyntheticExpression
- ts.SyntaxKind.TemplateSpan
- ts.SyntaxKind.CommaListExpression
- ts.SyntaxKind.PropertyAssignment
- ts.SyntaxKind.ShorthandPropertyAssignment
- ts.SyntaxKind.SpreadAssignment
- ts.SyntaxKind.SyntheticReferenceExpression
- ts.SyntaxKind.JsxElement
- ts.SyntaxKind.JsxSelfClosingElement
- ts.SyntaxKind.JsxOpeningElement
- ts.SyntaxKind.JsxClosingElement
- ts.SyntaxKind.JsxFragment
- ts.SyntaxKind.JsxOpeningFragment
- ts.SyntaxKind.JsxClosingFragment
- ts.SyntaxKind.JsxAttribute
- ts.SyntaxKind.JsxAttributes
- ts.SyntaxKind.JsxSpreadAttribute
- ts.SyntaxKind.JsxExpression
- Statements
- ts.SyntaxKind.SemicolonClassElement
- ts.SyntaxKind.Block
- ts.SyntaxKind.EmptyStatement
- ts.SyntaxKind.VariableStatement
- ts.SyntaxKind.ExpressionStatement
- ts.SyntaxKind.IfStatement
- ts.SyntaxKind.DoStatement
- ts.SyntaxKind.WhileStatement
- ts.SyntaxKind.ForStatement
- ts.SyntaxKind.ForInStatement
- ts.SyntaxKind.ForOfStatement
- ts.SyntaxKind.ContinueStatement
- ts.SyntaxKind.BreakStatement
- ts.SyntaxKind.ReturnStatement
- ts.SyntaxKind.WithStatement
- ts.SyntaxKind.SwitchStatement
- ts.SyntaxKind.LabeledStatement
- ts.SyntaxKind.ThrowStatement
- ts.SyntaxKind.TryStatement
- ts.SyntaxKind.DebuggerStatement
- ts.SyntaxKind.VariableDeclaration
- ts.SyntaxKind.VariableDeclarationList
- ts.SyntaxKind.FunctionDeclaration
- ts.SyntaxKind.ClassDeclaration
- ts.SyntaxKind.InterfaceDeclaration
- ts.SyntaxKind.TypeAliasDeclaration
- ts.SyntaxKind.EnumDeclaration
- ts.SyntaxKind.ModuleDeclaration
- ts.SyntaxKind.ModuleBlock
- ts.SyntaxKind.CaseBlock
- ts.SyntaxKind.NamespaceExportDeclaration
- ts.SyntaxKind.ImportEqualsDeclaration
- ts.SyntaxKind.ImportDeclaration
- ts.SyntaxKind.ImportClause
- ts.SyntaxKind.NamespaceImport
- ts.SyntaxKind.NamedImports
- ts.SyntaxKind.ImportSpecifier
- ts.SyntaxKind.ExportAssignment
- ts.SyntaxKind.ExportDeclaration
- ts.SyntaxKind.NamedExports
- ts.SyntaxKind.ExportSpecifier
- ts.SyntaxKind.MissingDeclaration
- ts.SyntaxKind.ExternalModuleReference
- ts.SyntaxKind.CaseClause
- ts.SyntaxKind.DefaultClause
- ts.SyntaxKind.HeritageClause
- ts.SyntaxKind.CatchClause
- ts.SyntaxKind.EnumMember
- ts.SyntaxKind.NotEmittedStatement