The interface is primarily what I am concerned with. If it makes sense for the implementation to be built on webpack, awesome! However, @benjamn indicated challenges in using Webpack which seemed to frame it as an “all or nothing” sort of thing:
In short, the argument for reusing the output formats of Browserify or Webpack is only compelling if you’re already using those tools during your build process, in their entirety. Without that harmonious integration of tool and output format, designing a new output format from scratch becomes a lot more appealing.
We already can do that, just not using packages corresponding to Webpack loaders. But I assume you’re talking about harnessing Webpack for its ecosystem of loaders in general. That’d be great. I’m just not sure it should be driving force of the whole operation though–code splitting should.
Either way, I think we’re in total agreement on this:
We could essentially generate the equivalent of all the webpack config files behind the scenes, and hide them from the end user–that seems to be the idea here. And we can use any interface we want to make it as natural as possible for Meteor users to configure. And ideally, there’s the easy version, intermediate version and advanced version (likely plain webpack.config.js files).
It does seem though that MDG would have to bite the bullet on their build tools being completely built on Webpack, and it does seem that @benjamn already avoided that route (for various reasons discussed in the above github link).
I hope validated-method could be integrated with rate limiter, thus let us define a method in one place(and one object). Oh although its name already implies it won’t be like that.
import sum from 'npm-base';
console.log(sum(1,2));
The last not work. Meteor output this error:
=> Started proxy.
=> Started MongoDB.
ReferenceError: dirPath is not defined
at ImportScanner._tryToResolveImportedPath (/tools/isobuild/import-scanner.js:273:27)
at /tools/isobuild/import-scanner.js:96:36
at Array.forEach (native)
at Function._.each._.forEach (/Users/flx/.meteor/packages/meteor-tool/.1.1.11-modules.0.106x9vk++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
at ImportScanner._scanDeps (/tools/isobuild/import-scanner.js:95:5)
at /tools/isobuild/import-scanner.js:68:24
...
Early Beta? I thought that was called Alpha right? No but seriously is this the version where current Blaze implementation will be replaced? What about SQL? Should I implement community SQL packages or expect something from the core. These are the features that I need in order to port real commercial projects from Rails.
Also note that things are happening in the other side of the fence as well. Rails 5 is coming out with build in Action Cable (websocket support), Turbolinks 3 (enable you to define partial page reloads instead of loading all), Rails API for SPA’s in core Rails and ruby < 2.2.1 for execution speed.
I think Rails 5 is heavily influenced what is happening in nodejs land and with meteor project.
It could be nice if you could give us a new beta release after a sever bug resolution. It could also reduce issues.
Think’s a lot, I was looking for what you’re doing for a while.
Make sure your package has api.use("templating"), and try putting import "./the-template.html" in the main module? While I hope that works, it’s worth mentioning that this is somewhat uncharted territory, so any feedback you have about working with templates in modules will be much appreciated!
@benjamn I was just wondering if you have any new info regarding lazy loading on new meteor apps? I’m getting ready to record a screencast on migrating a Meteor 1.2 app to 1.3 and that would factor into it a bit.
@benjamn, as indicated in the release notes, Meteor 1.3 will introduce Ecmascript async and await keywords. Since Meteor used fibers to runs asynchronous code in a synchronous style until now, I wonder if these two strategies will co-exist for some time, and if the new keywords will be recommended over usage of fibers (I‘m also not quite sure of the consequences of this series of commits but I guess that’s related). Concretely will we have to insert a await keyword in these kind of statements:
How do we find which commit on GitHub 1.3-modules-beta.1 is made from? EDIT: After cloning, I see the tag release/METEOR@1.3-modules-beta.1, but the strange thing is I don’t actually see this tag while in GitHub’s UI, which is where I was originally looking.
Now that users populate node_modules themselves, are there any implications of using NPM v2 vs v3?