Skip to content

Commit

Permalink
Update readme/roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
haxiomic committed May 1, 2020
1 parent 8603d35 commit 2bf2398
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Command-line tool to convert TypeScript type definitions to haxe externs
}
```

See examples/ for example projects using for popular libraries

# Roadmap
- [x] Rewrite in haxe using generated TypeScript compiler externs
Expand Down Expand Up @@ -77,6 +78,7 @@ Command-line tool to convert TypeScript type definitions to haxe externs

**Road to Beta**
- [ ] Validation system to confirm all test code compiles **← :star: currently working on this**
- [ ] Refined class and interface fields should be renamed rather than removed
- [ ] Interface extends
- [ ] Automatically handle remapping of js built-in and DOM types to haxe std js externs
- [ ] Index signatures
Expand Down
32 changes: 26 additions & 6 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
- Should we convert all `const Name: T;` fields to classes rather than global variables?
-> Probably, what about `var Name: T;`? I think so.

- Maybe use macro to enable finally
- Use macro to call complexType methods with type-stack pushing?
- Create alternative field for redefined class and interface fields (if type is not same)

- Complete validation

Expand Down Expand Up @@ -39,6 +35,14 @@

- `getTopLevelDeclarationSymbols` sucks, can we use alternative methods now? Why does it exist?

- Should we convert all `const Name: T;` fields to classes rather than global variables?
-> Probably, what about `var Name: T;`? I think so.

- Maybe use macro to enable finally
- Use macro to call complexType methods with type-stack pushing?

- **react+react-dom have issues**

- Playcanvas, why
`Warning: Type has construct signature but this is currently unhandled ([Object] ScriptType [Class] ClassDeclaration /Users/geo/Projects/dts2hx/test/libs/node_modules/playcanvas/build/output/playcanvas.d.ts:22545:5)`
When the type is a class?
Expand All @@ -50,6 +54,7 @@

- Issue: jquery sizzle dependency, generates sizzle files within jquery library
- Solution: don't generate types for external modules
- This is probably the same problem in react-dom, but here we get unexpectedly `@jsInaccessible`

- Issue: struct/function formatting problems in Typescript.hx

Expand Down Expand Up @@ -102,4 +107,19 @@ A generic build version of this would work

- **Command Line Interface**
- Created a file named test.d.ts in same directory as cli.js, didn't find it unless it was in a sub-directory
- maybe check for .d.ts at end and remove when doing module search
- maybe check for .d.ts at end and remove when doing module search

------

**haxe on npm**
- npm haxe version should exactly always match haxe compiler version
- e.g. `npm install haxe 4.0.5` should do exactly that
- Should include prebuilt binaries / download based on arch after install
- This is annoying because we can never reuse the same name/version on npm (may need to get in touch with npm admins?)
- We can unpublish specific old versions by contacting `[email protected]` and replace them with a shim to new version so they will still work
- We could leave all the other versions up unchanged
- This is a big change but I think it's worth it.
- npm publish should be an automatic part of haxe release process
- haxe lib directory set to node_modules/@haxe
- install haxe libraries with the @haxe namespace prefix
- `npm install @haxe/openfl`

0 comments on commit 2bf2398

Please sign in to comment.