-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create an official typescript
and typescript-compiler
packages
#102
Comments
It's actually bad idea to install typings via any package. For other definitions not available globally, we could create a Github repo for each particular definitions and recommend to install them using |
ok sounds good about the typings libs repo. |
we also want to add a chapter on Typescript in the Meteor guide |
adding @fullflavedave perfectly fine with the idea. |
Not having much context on all this, it looks like this is part of an awesome effort that could greatly improve the experience of using TypeScript with Meteor. Are you all creating a new build compiler package that will make using TypeScript with Meteor almost as easy as using CoffeeScript? I'm happy to deprecate |
typescript
and typescript-compiler
packages
add ES3 and CommonJS to the default compiler options, add jasmine-node and multiple unit tests This part of the effort to create an official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
This part of the effort to create an official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
This is part of the effort to create an official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
This is part of the effort to create an official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
This is part of the effort to create an official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
beta version of the future Packages involved:
UPD: latest version barbatus:[email protected] |
default compiler options should be converted to TS format bug fix This is part of the effort to create the official TypeScript compiler: Urigo/angular2-meteor#89 Urigo/angular2-meteor#90 Urigo/angular2-meteor#102
Hey, I just saw this repo due to your comment. How are multiple tsconfig's handled? TypeScript 1.8 implemented the handling of tsconfig files closest in the path of a ts file. This is especially important for isomorphic code, because definition files, declaring i.e. a class "Plugin", are completely different things i.e. on the client vs. the server. See here a feature illustration that was implemented in Webstorm: https://youtrack.jetbrains.com/issue/WEB-17472#comment=27-1098038 Also, last year I investigated what is necessary to bring TypeScript to meteor (we stopped because of missing module support and currently use webpack), for which I wanted explicitly TypeScripts incremental build feature because TypeScript code bases can become rather large for which the compile method creates a lot of overhead. A good way is to use the native language service API. You can read up on it here: microsoft/TypeScript#4382 (comment) |
@D1no About the last one. Yes, I plan to implement some in-memory files cache to avoid reading overhead. |
Hey @barbatus, thanks for your reply! I tried to find it - but couldn't - that TypeScript (the language service api) already supports multiple tsconfig files by recursively running from a file down the folder structure picking the first tsconfig it finds. Identical behaviour to what is found in the webstorm ticket. But maybe I am wrong. Also, I fully embrace that this is prototyping for a functional compiler and the TypeScript project is far from simple. I already did a tech evaluation a while back on it... of course it is not so present in my mind as it should be. But here some feedback to your reply - stuff you may know - which may leap up deep into further versions. (Edit: I didn’t finish the comment last night. In retrospect, could have been a blog post... typescript in isomorphic environments is still a pain.) Importance of tsconfig.jsonThe tsconifg.json has far more official options than just files. For meteor, the important one here is the flag Beware,
|
Add debug and time logging Minor re-factoring Update unit tests Urigo/angular2-meteor#102
Re-factoring: add new logger, make some methods for the input files to be mix-ins Urigo/angular2-meteor#102
…if files or typings have been changed since last interaction New unit test Urigo/angular2-meteor#102
…ames Fix bug in how changes of the files evaluated when constructing the rebuild map Add new test Urigo/angular2-meteor#102
Some quick updates on the last changes in the compiler and on the progress in general. @D1no meteor-typescript compiler doesn’t make any difference between TypeScript declaration files and general TypeScript files, which means all TS files will be processed and @mattmccutchen As to diagnostics re-evaluation when file references change, it should work now. Please verify that it works for you as well. One note though on rendering files barely in the automatic way when they don't export anything, i.e., what we're discussing some time ago. I was forced to remove this feature (content checking for exports), and leave only one way, i.e. when |
Thanks for the updates @barbatus I know this might be a little bit of an annoying question, but can you provide more context around @Urigo's first post in this thread and give a brief explanation of how the current meteortypescript:compiler relates to all of the other packages listed here, and what the future plan is. I have spent the past half hour trying to answer a basic question: what project can I fork to bump the official However, I feel like I am going a bit mad tab-jumping to a bunch of different repositories, and its a little bit hard to get the "Big Picture" of Typescript in Meteor. |
@jacobdr |
@barbatus I think @jacobdr makes a good point that we haven't documented well the goal and relashanships of all the packages that form the new Typescript package. I think we should specify in their readme files what they do, how they related to each other and how does it relate to the
We can also update and specify that in the first comment of this issue |
Sounds good. To be clear: as a Typescript consumer looking for the latest Meteor build compiler, I want to I would be happy to contribute to the documentation/standardization of packages effort, but to do so I probably need some context on the topic. Is there something in the Angular-Meteor design docs or Trello that you guys might be able to point me to? |
@jacobdr I've changed |
Fix bug when diagnostics info is taken from the cache while it's not actual due to new node modules have been installed since Urigo/angular2-meteor#102
@fullflavedave Can you please look/approve Definitelytyped PR? |
I just approved it, but a few, easily fixed lines (my fault) in the test file are holding up the Travis CI build process. |
TypeScript n00b here:
I had a bunch of sections like the following in my project:
```
declare module "meteor/meteor" {
let Meteor: any
export Meteor
}
```
This let me `import {Meteor} from "meteor/meteor"` until the definitions
were updated. Now that they are, when I install this module and remove
the above block, I still get:
`server/stripe.ts (1, 22): Cannot find module 'meteor/meteor'.`
What am I not getting this time? :) Do these type definitions not
include what is needed to import Meteor modules using ES2015 syntax?
Thanks.
|
@ndarilek it's not updated yet |
Ah, got it. I did "typings install --ambient --save meteor" and got a
definition that claims to be for 1.3. Also, the deprecation warning went
away. Am I installing the wrong definition, or is the update only partial?
Thanks.
|
@ndarilek Here is that PR DefinitelyTyped/DefinitelyTyped#9113. |
Yes -- the 1.3 claim is wrong. The previous definitions were automatically generated from the official Meteor 1.3 JSDocs JSON file, but the necessary additions were not made for Meteor 1.3 imports and exports. |
process typings accordingly to the structure the typings util lays them out (main and browser), minor improvements to the logging Urigo/angular2-meteor#102
@fullflavedave I've recently started moving Meteor and major packages' typings to dedicated repos under one organization, i.e. check out https://github.com/meteor-typings and https://github.com/meteor-typings/meteor for more info. I think it's time to deprecate https://github.com/meteor-typescript/meteor-typescript-libs since most Meteor specific typings have been moved there, to my mind, while others - either deprecated or third part libs typings, which already exist and are maintained in other registries (either DefinitelyTyped or BTW, if you still have desire to help with typings, I could invite you to the organization. |
Great work! I'll deprecate https://github.com/meteor-typescript/meteor-typescript-libs and reference the typings and DefinitelyTyped registries in the README. I'd love to help out with typings, since I use TypeScript and Meteor everyday for my work and occasionally find random improvements for the definitions. Thanks for all of your good work on this! |
Looks good, will give it a try in a few weeks when I can find free time. Olivier
@fullflavedave I've recently started moving Meteor and major packages' typings to dedicated repos under one organization, i.e. check out https://github.com/meteor-typings and https://github.com/meteor-typings/meteor for more info. I think it's time to deprecate https://github.com/meteor-typescript/meteor-typescript-libs since most Meteor specific typings have been moved to my mind, while others - either deprecated or third part libs typings, which already exist and is maintained in other registries (either DefinitelyTyped or typings's registry).— |
I just saw this announcement: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/. So would it make sense to try to point the meteor definitions at https://www.npmjs.com/package/@types/meteor to the newest meteor-typings definitions or temporarily update the definitions on the DefinitelyTyped branch that it's pulling from (or perhaps both)? |
@fullflavedave It seems to be intended for NPMs. Since Meteor doesn't come as NPM, not sure it's going to work for it. |
Thanks all for the awesome suggestions/help etc (@mattmccutchen, @D1no, @fullflavedave etc)! |
Create an official
typescript
andtypescript-compiler
packages and talk with and deprecate - https://github.com/meteor-typescript/meteor-typescript-compilerFollow also the
typescript
label.Also, merge https://github.com/meteor-typescript/meteor-typescript-libs into the
typescript
packageBeta version:
Last version: barbatus:[email protected]
Main repo: https://github.com/barbatus/typescript
Packages involved: https://github.com/barbatus/typescript-compiler, https://github.com/barbatus/meteor-typescript, https://github.com/barbatus/typescript-runtime
The text was updated successfully, but these errors were encountered: