barbatus / typescript-compiler

TypeScript Compilers for Meteor
14 stars 9 forks source link

Like it #1

Closed orefalo closed 8 years ago

orefalo commented 9 years ago

Hi,

My name is Olivier, I am one of the maintainers behind the meteor-typescript group. I really like your compiler and would like to replace the now outdated https://github.com/meteor-typescript/meteor-typescript-compiler

What do you think about the idea?

barbatus commented 9 years ago

Hi, I am very glad that you like it, thanks.

I have no objection of the idea to deprecate your package with this one. Though If you have ideas for features/improvements you are welcome.

Alex

orefalo commented 9 years ago

good,

I will work on it this week end and give you full privileges to the repos.

As far as features, I see that you are already reading the tsconfig and have caching/noncaching implementations.

The other option I can think of is choosing between an embedded compiler (npm) or a command line compiler.

Cheers,

On Oct 28, 2015, at 16:52, Alex notifications@github.com wrote:

Hi, I am very glad that you like it, thanks.

I have no objection of the idea to deprecate your package with this one. Though If you have ideas for features/improvements you are welcome.

Alex

— Reply to this email directly or view it on GitHub https://github.com/barbatus/ts-compilers/issues/1#issuecomment-151986728.

orefalo commented 9 years ago

Question... in a typical meteor project (obviously built in ts) - where would be a good place to reference:

Plugin.registerCompiler({
  extensions: ['ts'],
}, () => new TsCachingCompiler());
barbatus commented 9 years ago

In a plugin i.e. a new plugin should be created with that code inside.

I thought actually this is what you are going to do in meteor-typescript-compiler: register a new plugin with TsCachingCompiler and maybe add new meteor command to opt in/out new compiler during some transition period.

barbatus commented 9 years ago

The point why I didn't register a default compiler within a plugin inside this packages is that package has two compilers, at the same time there is no way to deregister a compiler. Another one point I was thinking about is that a compiler e.g. TsCachingCompiler might have constructor options.

orefalo commented 9 years ago

I see... Now that explains why my hello world doesn't pick it up.

I tried to put the code above in a project file .js, in a .ts getting error on unreferenced Plugin

there is something I must be missing, I though you were instantiating the compiler type based on the .tsconfig.

barbatus commented 9 years ago

yeah, it might be a good option to detect compiler type from the config. I tried though to keep config simple (close as possible to the original) at first, but now planning to add some new options for package development.

orefalo commented 9 years ago

IMHO, easier than creating an extra module with the right naming and code above ;-/

barbatus commented 9 years ago

well, easier doesn't always mean better )

orefalo commented 9 years ago

Agreed, but Alex, let me ask the question differently.

I am still puzzled as to how to use your meteor plugin. I am afraid the instructions do not work.

The sample angular project that you are referencing doesn't clearly show the integration and how to use the plugin.

hum, can we take this conversation 1-1 , plz reply to orefalo@yahoo.com tks

orefalo commented 9 years ago

It doesn't work - even with the above code in a local pkg.

20151030-06:35:21.081(-4)? (STDERR) ReferenceError: Plugin is not defined
W20151030-06:35:21.082(-4)? (STDERR)     at path (caching-compiler.js:1:12)
W20151030-06:35:21.082(-4)? (STDERR)     at /Users/orefalo/GitRepositories/PRIVATE/meteor-typescript/meteor-typescript-compiler/samples/helloworld/.meteor/local/build/programs/server/packages/caching-compiler.js:483:4
W20151030-06:35:21.082(-4)? (STDERR)     at multi-file-caching-compiler.js:216:2
W20151030-06:35:21.083(-4)? (STDERR)     at /Users/orefalo/GitRepositories/PRIVATE/meteor-typescript/meteor-typescript-compiler/samples/helloworld/.meteor/local/build/programs/server/boot.js:242:10
W20151030-06:35:21.083(-4)? (STDERR)     at Array.forEach (native)
W20151030-06:35:21.083(-4)? (STDERR)     at Function._.each._.forEach (/Users/orefalo/.meteor/packages/meteor-tool/.1.1.10.17kj7kg++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
orefalo commented 9 years ago

helloworld project can be found at this url

http://www.crionics.com/downloads/Helloworld.zip

barbatus commented 9 years ago

I've added a HelloWorld demo, please, check out.

barbatus commented 9 years ago

To clarify it once more, I meant this package as a generic compiler package, not a package with registered plugin that uses specific compiler. The argument behind. There is no way to deregister a plugin, at the same time each plugin takes a list of file extensions to compiler (someone might want to add, for some reason, another extension to handle), each compiler could take a list of constructor parameters, e.g., what module option should go by default? Angular2 users might want System.js by default, hence, they won't need to point out this in the config, someone definitely will design to see standard CommonJs as default etc.