-
Notifications
You must be signed in to change notification settings - Fork 57
Conversation
e755557
to
7d06e40
Compare
@smhxx @GlenCFL @lierdakil @hackape Could you guys review this and help me with this? |
7d06e40
to
508ada5
Compare
cf1adc9
to
eef2990
Compare
It's going to be extremely hard to give a proper review. I would suggest doing this in stages. For instance, stage 1: just add typescript (non-strict mode). This should allow to simply rename js files and add minimal type annotations. Stage 2: add proper types. Self-explanatory. Stage 3: fix stuff uncovered during the first two stages. Also, side note. Since this is an npm project, it's generally considered to be a good practice to exclude generated files (js and d.ts) from version control. And to exclude TS sources from npm (via npmignore). |
eef2990
to
07031d5
Compare
I remade the commit history now.
I don't think this is a good idea:
|
417c9c8
to
e8fc11b
Compare
You're missing the point. The point is to avoid including generated files into version control. Npm is not like Atom packages, your npm package can have different/additional contents than the repo. Hence, generally, we don't check in generated content into the repo (because it's easy to regenerate when needed), and we don't include source TS into the npm distribution (i.e. |
All in all, I have remade history, and it is very easy to follow now. |
You're missing the point again. I'll repeat this one more time: you don't need to have generated files in the Git repo to have those in the NPM package. Prepublish script and |
Hi @aminya. Basically lierdakil is saying you mistake this git repo for the actual npm package. The contents of the published npm package is NOT identical to what presents here in this git repo. As per his suggestion "doing this in stages", you might follow these steps to create a cleaner commit history.
At this point you should've successfully converted all As for npm package. I hope this clears up the problem. |
Side note, I think for this repo, an |
Thank you for the instructions! It is really helpful. |
Yeah, that seems a faster way to get type definitions into work, but will make it hard to maintain two places. Although this package doesn't change much. It is in a stable mode now. Also, using TypeScript we can improve the package itself. |
e8fc11b
to
b199888
Compare
By following commit history you can see the changes. Renaming is done in 8cf2063 I followed your advice and I added Regarding adding Also, I have no idea why Travis fails on https://travis-ci.org/github/atom/etch/builds/666076960#L722 |
6a2f359
to
ef9abc4
Compare
We kept talking about the tooling and less important stuff, but no one gave me feedback on the actual types. Does anyone have any feedback about them? |
Sorry, didn't find time to do the review proper (yet). One thing that jumped at me is the amount of Also note, HTML5 custom elements are a thing, so I did write an etch typing at some point way back when, and while it's by far not ideal, you might be able to borrow something useful from it (or at least I hope so): https://github.com/atom-haskell/typings/blob/master/etch/index.d.ts |
Just popping in to say, if you want passing CI, take a look at #85. It updates Travis CI to run X Virtual Framebuffer correctly, so Atom can be tested in the headless CI environment. Required for the app to run in CI, much less pass tests. Alternative: Pin the CI environment to Ubuntu Trusty, by adding I won't attempt to review this, as I have no knowledge of TypeScript. |
This branch is a little out of date. I need to redo the work. I was thinking of adding the types in |
fdfa831
to
5f4c10e
Compare
instead of module.exports in index import dom instead Update index.ts
Update dom_codegen.ts Move dom_codegen
move to folder codegen
Fix bug in dom ( extends string for tag)
instead of just object
5f4c10e
to
646cac9
Compare
This branch is backed up at https://github.com/aminya/etch/tree/typescript. I will create a separate PR which only adds types. |
This is a work in progress, so feel free to give suggestions, feedback, or engage!
old PR
Description of the Change - Release Notes
index.d.ts
to expose the types soimport {dom} from 'etch'
givesdom
's information in IntelliSenseMaybe later:
Verification Process
How to review?
Possible Drawbacks
Alternate Designs