These are chat archives for systemjs/systemjs

11th
Jan 2015
Victor Bastos
@victorwpbastos
Jan 11 2015 02:33
Hello folks
Joe Pea
@trusktr
Jan 11 2015 02:34
Hello!
Victor Bastos
@victorwpbastos
Jan 11 2015 02:34
Hey, do you use systemjs?
Joe Pea
@trusktr
Jan 11 2015 02:35
Not directly, but I’m using jspm, which uses systemjs.
Victor Bastos
@victorwpbastos
Jan 11 2015 02:35
i want to write some files with custom extensions: something.ract
how can i require them in system js? any ideas?
Joe Pea
@trusktr
Jan 11 2015 02:36
Looks like you’ll have to make a plugin!
Justin Meyer
@justinbmeyer
Jan 11 2015 02:36
or you can add them to .paths
if they are just js
Joe Pea
@trusktr
Jan 11 2015 02:36
oh yeah, if they’re just js.
If they need special handling, then plugin. example plugin: https://github.com/systemjs/plugin-css
Victor Bastos
@victorwpbastos
Jan 11 2015 02:37
the only thing i dont like about plugins is: require('something.ract!')
the exclamation sign is so ugly
Joe Pea
@trusktr
Jan 11 2015 02:38
I suppose you can write a paths configuration to a plugin path.
Victor Bastos
@victorwpbastos
Jan 11 2015 02:38
how?
Joe Pea
@trusktr
Jan 11 2015 02:40
Maybe something like
System.config({
  “paths": {
    "*.ract": "*.ract!",
  }
});
Just guessing.
Try it out.
Victor Bastos
@victorwpbastos
Jan 11 2015 02:40
i'll try! thanks a lot, man!
Joe Pea
@trusktr
Jan 11 2015 02:41
Np! I think it’ll work. It should work.
@victorwpbastos Wait, but are those fact files just plain ol JS?
because the ! in the path config means it will load a plugin to f.e. compile or manipulate the contents.
Victor Bastos
@victorwpbastos
Jan 11 2015 02:42
nope, they are html, js and css together
in fact they are ractive.js components
how can I install a systemjs plugin?
Joe Pea
@trusktr
Jan 11 2015 02:45
hmmm
Well, if it’s all just HTMl/JS/CSS, you could use a template library (even if you don’t use the features), load the ract file, then insert it into your DOM.
Might not need any plugin for that.
What does a ract file look like, got a small example?
Victor Bastos
@victorwpbastos
Jan 11 2015 02:47
is just like a regular html file
Joe Pea
@trusktr
Jan 11 2015 02:48

SO can you just do

var something = Ractive.extend({
  template: getFileContent(‘file.ract')
});

?

getFileCOntent can use XMLHTTPRequest, os $.ajax, etc.
Justin Meyer
@justinbmeyer
Jan 11 2015 02:49
Just created a pull request: systemjs/systemjs#310
anyone seen that problem?
A module deps [B, C], B deps [C]
B is ES6
A and B are CJS
Joe Pea
@trusktr
Jan 11 2015 02:50
@victorwpbastos Hmmm… so after you make that function to get the file content, then you could make a systemjs plugin that return the result of Ractive.extend.
I haven’t seen that problem yet @justinbmeyer
Victor Bastos
@victorwpbastos
Jan 11 2015 02:50
or the result of Ractive.parse
Joe Pea
@trusktr
Jan 11 2015 02:51
yeah!
there you go.
You know more about ract.js that me! :D
Justin Meyer
@justinbmeyer
Jan 11 2015 02:52
@trusktr do you understand how the linking system is supposed to work?
/ what it does?
Joe Pea
@trusktr
Jan 11 2015 02:52
Not entirely, I just started learning systems like last night. xD
Justin Meyer
@justinbmeyer
Jan 11 2015 02:52
linkSet and groups
ah, np
Joe Pea
@trusktr
Jan 11 2015 02:52
hehe
Good thing is the code isn’t super long, unless you start digging into the es6-module-loader.
Justin Meyer
@justinbmeyer
Jan 11 2015 02:53
it's es6ml
the linking code
everything works if you stick in ES format or any of the other formats, but mixing blows up
I'm very close to getting a project working that allows OS devs to write in ES6 and automatically build out NPM/CJS/browserify and amd/bower builds
heavily uses SystemJS
Joe Pea
@trusktr
Jan 11 2015 02:56
@justinbmeyer Interesting.
Justin Meyer
@justinbmeyer
Jan 11 2015 02:56
but the demo isn't working b/c of this bug
Joe Pea
@trusktr
Jan 11 2015 02:56
I’m writing my lib entirely in ES6, and using 6to5 to make it work with browserify and webpack.
Justin Meyer
@justinbmeyer
Jan 11 2015 02:56
which I'm presenting wed
Justin Meyer
@justinbmeyer
Jan 11 2015 02:57
very cool
the nice thing about this is you can "stick" with ES6 / SystemJS
I wrote an npm plugin
Joe Pea
@trusktr
Jan 11 2015 02:57
Yeah, that is true.
which allows you to load any module that already works with browserify
by "stick" ... I mean that if someone wants to npm install the project, but is using SystemJS
they can load your es6 modules via npm install
not sure if that makes sense
Joe Pea
@trusktr
Jan 11 2015 02:59
yeah, I think I know what you mean: that the source of the package on NPM can remain in ES6, and it will get loaded, no compiling to the filesystem needed.
That what you mean?
Looks cool!
Justin Meyer
@justinbmeyer
Jan 11 2015 02:59
yup :-)
so where can I see an infamous demo?
visit on mobile
Then try pulling out the side menu by swiping from the left.
give it time.
to load
My site isn’t production ready. xD
What you see there is a PushMenuLayout.
WIP :)
Justin Meyer
@justinbmeyer
Jan 11 2015 03:01
cool
on mobile ... it's hard to grab the menu
Joe Pea
@trusktr
Jan 11 2015 03:01
iOS?
Justin Meyer
@justinbmeyer
Jan 11 2015 03:02
w/o triggering safari's "back button swipe"
yes
Joe Pea
@trusktr
Jan 11 2015 03:02
yeah
haha
The width of the invisible area is configurable.
I should increase it from 30px to like 50px maybe.
for dragging
Justin Meyer
@justinbmeyer
Jan 11 2015 03:02
the globe is fun
once I figured out you can zoom
Joe Pea
@trusktr
Jan 11 2015 03:03
Try dragging with two fingers up and down.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:03
ooo
Joe Pea
@trusktr
Jan 11 2015 03:04
kind of a tilted perspective
I’m going to remake this using famo.us
th globe isn’t famo.us, it’s webglearth.
based on cesium.
Adam Hoddinott
@NervosaX
Jan 11 2015 03:05
That's pretty nice, trusktr.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:06
lately, I've been feeling that I should author everything in CJS
as ES is going through significant changes
Victor Bastos
@victorwpbastos
Jan 11 2015 03:06
@trusktr the map config for plugins doesn't work :(
Joe Pea
@trusktr
Jan 11 2015 03:06
Thanks @NervosaX :)
Victor Bastos
@victorwpbastos
Jan 11 2015 03:06
systemjs/systemjs#259
Joe Pea
@trusktr
Jan 11 2015 03:06
@victorwpbastos Really!!!??!?!
lol
That would be intuitive!
Adam Hoddinott
@NervosaX
Jan 11 2015 03:07
I can't wait to be able to use 6to5 instead of traceur.
Victor Bastos
@victorwpbastos
Jan 11 2015 03:07
I think so
Joe Pea
@trusktr
Jan 11 2015 03:08
@justinbmeyer I’m loving it. I’m using ES6 mainly just for the module system. I love the syntax.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:09
but name resolution is changing
Joe Pea
@trusktr
Jan 11 2015 03:09
@NervosaX Why can’t you use 6to5 instead of traceur?
Justin Meyer
@justinbmeyer
Jan 11 2015 03:09
which concerns me quite a bit
Joe Pea
@trusktr
Jan 11 2015 03:09
SOme features not in 6to5 yet?
Justin Meyer
@justinbmeyer
Jan 11 2015 03:09
and it was pulled from ES6
your module names will need to include the ".js"
Adam Hoddinott
@NervosaX
Jan 11 2015 03:10
SystemJS uses traceur for ES6, not 6to5, right?
systemjs/systemjs#232
Justin Meyer
@justinbmeyer
Jan 11 2015 03:13
why will 6to5 be better?
smaller / more features than traceur?
Adam Hoddinott
@NervosaX
Jan 11 2015 03:13
Smaller, and it plays nicely with phantom JS. Eventually that issue will go away.
But traceur uses .bind in its runtime, and Phantom JS 1.x just explodes.
And 6to5 runs better with older browsers
oh
it works in phantom!?
Adam Hoddinott
@NervosaX
Jan 11 2015 03:15
6to5 converts to ES5
Justin Meyer
@justinbmeyer
Jan 11 2015 03:15
Yeah, I created an issue on traceur a while ago
for phantom
Adam Hoddinott
@NervosaX
Jan 11 2015 03:15
It's a known issue for a long, long time.
Phantom JS 2.0 (there's an alpha/beta out atm) has the issue fixed.
Joe Pea
@trusktr
Jan 11 2015 03:16
@justinbmeyer Looks at the output of 6to5, it’s clean.
And no runtime lib needed for it to work.
After traceur compiles your code, then you need traceur runtime to run it. No dep needed with 6to5. I think that’s pretty cool.
Adam Hoddinott
@NervosaX
Jan 11 2015 03:18
Yeah, exactly.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:26
@trusktr is your UI library going to be a single "module" or will people be able to consume it in pieces?
do you expect them to do require("infamous/foo"), require("infamous/bar") or just a single require("infamous")
Joe Pea
@trusktr
Jan 11 2015 03:36
@justinbmeyer Both. I’m making a global build next.
So you can do
import PushMenuLayout from 'infamous/PushMenuLayout' // ES6
var PushMenuLayout = require('infamous/PushMenuLayout') // CJS
var PushMenuLayout = infamous.PushMenuLayout // global
A workflow for everyone.
In the last example, infamous would be a single module in the global scope.
A CDN link will be available for the global version.
This message was deleted
Maybe I can even make every module available through CDN.
Joe Pea
@trusktr
Jan 11 2015 03:42
I want to get these workflows out of the way, then focus on making components.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:49
@trusktr thanks ... this is the exact problem I'm trying to solve generally
we do all of this for http://canjs.com/ we even have a little download builder
but it's all very custom
so, I'm trying to get a general workflow for multi-module projects ... especially ones that have dependencies
but getting require('infamous/PushMenuLayout') and import PushMenuLayout from 'infamous/PushMenuLayout'
to work is proving extremely difficult
via npm
if you want that w/o configuration
defunctzombie/node-browser-resolve#51
browserify could make it easier
this is partly why I'm thinking of authoring in CJS
Joe Pea
@trusktr
Jan 11 2015 03:52
Oh ok.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:53
essentially .. I'd like someone to be able to write a plugin that depends on infamous and use the same workflow something like infamous is using
Joe Pea
@trusktr
Jan 11 2015 03:53
So the postinstall script in infamous’s package.json compiles to ES5, then at that point the workflows for browserify and web pack are straight forward. I haven’t tried mixing modules types though.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:53
turtles
Joe Pea
@trusktr
Jan 11 2015 03:54
hehe yeah, once browsers support ES6 Modules, things will start getting easier!
Justin Meyer
@justinbmeyer
Jan 11 2015 03:54
how has post install worked for you?
Adam Hoddinott
@NervosaX
Jan 11 2015 03:54
IE will hold everything back for yeaaars, wooo
Joe Pea
@trusktr
Jan 11 2015 03:54
Seems to be working nice.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:54
I've found problems in certain envs with modules that do postinstall
Joe Pea
@trusktr
Jan 11 2015 03:55
@NervosaX Interestingly, ES6 Modules are under consideration for IE.
And they ahve the most support for ES6 of any browser.
Adam Hoddinott
@NervosaX
Jan 11 2015 03:55
I mean anything < modern IE
yeah
Adam Hoddinott
@NervosaX
Jan 11 2015 03:55
I still have to support IE9+ at work :(
Justin Meyer
@justinbmeyer
Jan 11 2015 03:55
and you are adding some transpiler as a "dependency"
Joe Pea
@trusktr
Jan 11 2015 03:55
+1 to the new IE for the efforts they’re putting into WebGL and ES6.
ouch
nasty
IE9
haha
Justin Meyer
@justinbmeyer
Jan 11 2015 03:56
why not transpile before publish?
Joe Pea
@trusktr
Jan 11 2015 03:56
5 years from now things will look pretty nice.
Adam Hoddinott
@NervosaX
Jan 11 2015 03:56
Yep. Our major app we are running in node-webkit and phonegap though. :/
So I have places I can play with nice things :)
Joe Pea
@trusktr
Jan 11 2015 03:56
@justinbmeyer I thought about it, but I came to the conclusion that to make my library as consumable as possible, I should just supply them with everything. Space is cheap they say.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:57
I'm not sure why that would matter for "transpile before publish"
if anything .. ship the transpiled code
Joe Pea
@trusktr
Jan 11 2015 03:57
@NervosaX hehe yeah. Qt’s Web Engine and Webview modules are nice. They work everywhere, Windows, Linux, OS X, iOS, Android, Windows Phone, Blackberry.
Justin Meyer
@justinbmeyer
Jan 11 2015 03:57
if space is cheap
Joe Pea
@trusktr
Jan 11 2015 03:58
@justinbmeyer So if they install with jspm npm endpoint, the postinstall script isn’t fired, and they can use the ES6 modules directly in browser with systemjs.
s/nom/npm
Adam Hoddinott
@NervosaX
Jan 11 2015 03:59
Yeah, transpiling will fix all the IE issues, but it's an annoying step to have to hold on to as modern browsers support ES6.
Joe Pea
@trusktr
Jan 11 2015 04:00
Plus, the postinstall scripts move everything out of src into the root, so it’s easy to do require(‘infamous/foo’) instead of require(‘infamous/src/foo’)
@NervosaX yeah
Justin Meyer
@justinbmeyer
Jan 11 2015 04:00
but are you doing infamous/src/foo in jspm?
import infamous/src/jspm
Joe Pea
@trusktr
Jan 11 2015 04:02
also infamous/foo
Justin Meyer
@justinbmeyer
Jan 11 2015 04:02
is this via a jspm config?
or something jspm does?
Joe Pea
@trusktr
Jan 11 2015 04:03
yeah, it’s also in the package.json
Justin Meyer
@justinbmeyer
Jan 11 2015 04:03
I've not seen that
Joe Pea
@trusktr
Jan 11 2015 04:04
    "directories": {
      "lib": "src"
    }
That thing makes it happen.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:04
sorry one sec ...
Joe Pea
@trusktr
Jan 11 2015 04:04
no prob
Justin Meyer
@justinbmeyer
Jan 11 2015 04:05
this is package.json's directories config?
which CJS/require does not respect?
but JSPM does?
Joe Pea
@trusktr
Jan 11 2015 04:05
Well I’m using the one in the jspm field.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:05
yeah, but jspm follows that
Joe Pea
@trusktr
Jan 11 2015 04:05
  "jspm": {
    "registry": "jspm",
    "dependencies": {
      "army-knife": "github:trusktr/army-knife@~0.0.4",
      "famous": "github:trusktr/famous@jspm",
      "jss": "github:jsstyles/jss@^0.10.0"
    },
    "directories": {
      "lib": "src"
    }
  },
Justin Meyer
@justinbmeyer
Jan 11 2015 04:05
thanks
ok, interesting ...
Joe Pea
@trusktr
Jan 11 2015 04:06
@guybedford just recently decided to allow it for npm endpoint packages: jspm/npm#35
So the trick is that infamous is using the github: endpoint with jspm.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:07
I'm still not sure about the post-install script (I'm alright doing that prior to publish) ... but you've given me a lot to think about
I suppose the post-install script makes things less messy for you
if you are copying a bunch of folders into the root dir
Joe Pea
@trusktr
Jan 11 2015 04:08
Yeah, it’s all automatic. :D
Yeah, once installed, I don’t mind the postinstall mess.
It just works.
but in dev I love everytying in the src folder.
away from all the bookkeeping and build file clutter.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:09
but you need to have your transpiler as a dep
Joe Pea
@trusktr
Jan 11 2015 04:09
6to5 yeah.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:09
(unless your script installs it)
hmmm
Joe Pea
@trusktr
Jan 11 2015 04:09
I found out that postinstall scripts use the dependencies, not the devDependencies.
so 6to5 had to be in dependencies.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:10
yeah
that kinda stinks, but not that bad
Joe Pea
@trusktr
Jan 11 2015 04:10
I figure it just the same as when people use node-gyp.
People don’t care, we just install, let the console messages fly by, then off we go!
hehe
Justin Meyer
@justinbmeyer
Jan 11 2015 04:11
I wish npm supported lib
Joe Pea
@trusktr
Jan 11 2015 04:11
Yeah, it would be nice.
At least jspm now will. That’s super convenient.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:12
have you ever messed up a transpile?
meaning, you released a version that didn't transpile right?
Joe Pea
@trusktr
Jan 11 2015 04:12
Yeah, I tried compiling with 6to5 with different config flags and formats until I found the one I liked.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:12
for canjs, we test the transpiled output
against our tests
Joe Pea
@trusktr
Jan 11 2015 04:12
Posted a issue on 6to5 github, and now all good.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:13
I could see on larger projects having conflicts
if everything was copied to root
Joe Pea
@trusktr
Jan 11 2015 04:13
Why so?
I mean root as in the root of the infamous folder inside node_modules.
It’s just a build step.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:14
yeah, but a "blind" one
Joe Pea
@trusktr
Jan 11 2015 04:14
Just like node-gyp is used for a postinstall build step.
it’s not really blind, because everytime it’s installed, you get what you get.
if you’re using npm.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:14
it's blind b/c you aren't running tests agains the final output
Joe Pea
@trusktr
Jan 11 2015 04:14
Oh, I see what you mean.
Well, I do plan to include test scripts.
unit testing.
It’s all just starting, WIP. xD
I’ll test both compiled and precompiled modules.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:15
yeah, I'm struggling with the require("infamous/foo") issue in my workflow
Joe Pea
@trusktr
Jan 11 2015 04:15
SO yeah, sort of blind right now, based on the fact I’ve loaded in the borwser and it works using the workflows I’ve put in the README
Justin Meyer
@justinbmeyer
Jan 11 2015 04:16
and copying everything to root post install certainly would clean that up
Joe Pea
@trusktr
Jan 11 2015 04:16
I suppose a prepublish script could do that trick too though. I haven’t tried it, but then will that leave you with a messed up structure and you’ve then gotta git reset —hard?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:16
but introduce a postinstall and a "dependency" on my project
Joe Pea
@trusktr
Jan 11 2015 04:17
Is the extra deep all that bad though? It’s not actually needed for runtime.
I definitely didn’t want traceur, because that would be what you said, plus a runtime requirement. grossed out face
hah
Justin Meyer
@justinbmeyer
Jan 11 2015 04:18
well, my tranpsiler is based on systemjs
so it is traceur
Joe Pea
@trusktr
Jan 11 2015 04:18
Oh, well, I guess that evens things out. eitherway we both need a dependency installed in the final destination. xD
lol
Justin Meyer
@justinbmeyer
Jan 11 2015 04:19
mine currently doesn't need a dependency?
Joe Pea
@trusktr
Jan 11 2015 04:19
It doesn’t need the traceur runtime?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:19
sorry, mine doesn't need a dependency
oh, if you are writing in ES6 and traceurRuntime is detected
traceur / 6to5 ... doesn't matter so much to me
I'm guessing they are a wash in a big enough app
Joe Pea
@trusktr
Jan 11 2015 04:20
I figured 6to5 would end up being easier for the final users of the lib. They wouldn’t need to worry about loading traceur first.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:21
oh, I compile it in
Joe Pea
@trusktr
Jan 11 2015 04:21
Oh, like into the bundle?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:21
yes
if it's needed
there's a flag to drop it
by that's the default behavior
but when system supports 6to5 ... that will work
Adam Hoddinott
@NervosaX
Jan 11 2015 04:22
That'll be nice
Joe Pea
@trusktr
Jan 11 2015 04:22
Oh I see. Makes sense for a bundle. But for the workflow of importing only the specific files, wouldn’t you need to have the user set up traceur first?
Or perhaps a shim config then require(’traceur-runtime’) in every file.
My postinstall script is building each file into it’s own CJS file, not a whole bundle.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:23
yeah, it does the same thing
Joe Pea
@trusktr
Jan 11 2015 04:23
Oh, for sure. I see what you mean.
So you dev with all the files, then for npm publish the bundle?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:24
I dev in /lib
and then run grunt build
which produces a /dist
with the all the transpiled files in CJS
and amd
Joe Pea
@trusktr
Jan 11 2015 04:24
Oh for sure.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:24
dist/cjs, dist/amd, dist/standalone
Joe Pea
@trusktr
Jan 11 2015 04:25
yeah systemjs supporting 6to5 would be niiiiiiice.
oh interesting.
I was thinking about doing that too.
dist/* for each type.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:25
yeah, I wouldn't need to worry about traceurRuntime
Joe Pea
@trusktr
Jan 11 2015 04:25
yeah
I figured I’d just compile to CJS, show all the workflows in CJS since it’s likely the most consumable, but I also add the build-amd/umd scripts just in case someone wants to use them.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:26
another thing ... I like being able to have the same "structure" everywhere ... including bower
yeah
Joe Pea
@trusktr
Jan 11 2015 04:26
I want to do a bower+requirejs workflow next.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:27
is what the project I'm working on is
WIP as you said :-)
I want a transpiler based off SystemJS
so I can write SystemJS extensions
and have it work
Joe Pea
@trusktr
Jan 11 2015 04:28
Yeah, that would be cool.
document.js looks nice!!!
I need some docuemtnations.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:29
it's cool to see it transpile a mustache template or less to .js or .css
but not have to have some "extra" transformer to do it
that's my next project
my hope is to combine all 3 by this summer ... have a single workflow for build / test / doc
Joe Pea
@trusktr
Jan 11 2015 04:30
Wow, yeah, that’d be really awesome.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:32
I will have to reduce my steal-tools deps if I'm going to post-install
Adam Hoddinott
@NervosaX
Jan 11 2015 04:32
Documentjs > jsdoc?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:32
well, in terms of features, yes
it ironically needs a lot of docs still
Adam Hoddinott
@NervosaX
Jan 11 2015 04:33
Hah.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:33
and cleaning up of its core workflow
Joe Pea
@trusktr
Jan 11 2015 04:33
haha
Justin Meyer
@justinbmeyer
Jan 11 2015 04:33
but it's designed for multi-version docs
Joe Pea
@trusktr
Jan 11 2015 04:33
Yeah, and the site looks very nice.
That kind of stuff turns me on to projects.
Adam Hoddinott
@NervosaX
Jan 11 2015 04:34
Me too.
Joe Pea
@trusktr
Jan 11 2015 04:35
oh very nice.
Can’t wait to try it.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:35
well, if any of you want to try it out ... please let me know
I'll help you set it up
I've actually been talking to JDD of lodash
Adam Hoddinott
@NervosaX
Jan 11 2015 04:35
I have no personal projects to use it on, kind of scared to use beta frameworks on my app at work. :<
Justin Meyer
@justinbmeyer
Jan 11 2015 04:36
I created a very close clone, but couldn't squeeze it in before 3.0, and the holidays
isn't SystemJS beta?
Joe Pea
@trusktr
Jan 11 2015 04:36
I guess ES6 is beta. xD
Adam Hoddinott
@NervosaX
Jan 11 2015 04:36
Yeah, I'm finding it hard to get people to use ES6 at work yet. :P
Set up 6to5 in our build system and I had to turn it off, haha.
Joe Pea
@trusktr
Jan 11 2015 04:37
aaaw :(
lol
It’s hard for me too. I’m the first one pushing ES6 at work.
It’s a bower/requirejs/backbone shop.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:37
how many of you are using SystemJS outside of "builds"?
Joe Pea
@trusktr
Jan 11 2015 04:38
none
all bower. And finally, now webpack on one project.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:38
meaning ... you use it for demo pages
Adam Hoddinott
@NervosaX
Jan 11 2015 04:38
I think our next project will be using systemjs. We're testing browserify atm, but SystemJS seems to be the best.
Joe Pea
@trusktr
Jan 11 2015 04:38
We use nothing but bower+requirejs.
and a single webpack project.
Adam Hoddinott
@NervosaX
Jan 11 2015 04:38
We currently use requirejs.
Joe Pea
@trusktr
Jan 11 2015 04:38
:(
Justin Meyer
@justinbmeyer
Jan 11 2015 04:38
so what are you doing here :P
Adam Hoddinott
@NervosaX
Jan 11 2015 04:39
Because this is way better :P
Joe Pea
@trusktr
Jan 11 2015 04:39
On my free time I don’t use bower+requirejs. :D
Justin Meyer
@justinbmeyer
Jan 11 2015 04:39
so a big reason I'm using SystemJS is b/c I can load everything in the browser and refresh
Joe Pea
@trusktr
Jan 11 2015 04:39
Oh, and this webpack project is also the first with gulp.
All the others are grunt.
yeah!
Justin Meyer
@justinbmeyer
Jan 11 2015 04:39
we are really big on creating a demo page for every module
Joe Pea
@trusktr
Jan 11 2015 04:39
no build needed.
(well, it just builds in-browser)
Yeah, that’d be cool.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:40
yeah, we have lots of pages that it would be nightmare to create a build for each one
pages that demo each module of the app
Joe Pea
@trusktr
Jan 11 2015 04:40
yeah
Adam Hoddinott
@NervosaX
Jan 11 2015 04:40
Does that work well, justinbmeyer?
Joe Pea
@trusktr
Jan 11 2015 04:40
dynamic is easiest for dev.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:40
oh yeah ... we've used it on a lot of sites
Adam Hoddinott
@NervosaX
Jan 11 2015 04:41
I have the luxury of probably rewriting a good portion of our app. Can't wait to do it in SystemJS, if that's the way we go. :/
Justin Meyer
@justinbmeyer
Jan 11 2015 04:41
we actually put every module in its own folder like:
slider/
slider_test.js
slider.js
slider.md
test.html
slider.mustache
Adam Hoddinott
@NervosaX
Jan 11 2015 04:42
Oh, that's cool.
.md is a readme?
Justin Meyer
@justinbmeyer
Jan 11 2015 04:42
yeah
for docs
yeah, our "app" workflow is super tight ... now trying to make an equally good "plugin" workflow
btw, shameless plug ... steal-tools (based on SystemJS) does multi-page progressive builds
basically if you have page modules A, B, C which might want to progressively load modules W, X, Y, or Z
it analysis the dependency graph and optimally packages every module to optimize page loading
Joe Pea
@trusktr
Jan 11 2015 04:45
nice
Justin Meyer
@justinbmeyer
Jan 11 2015 04:45
analysis = analyzes
yeah, we are using it on m.samsclub.com
Adam Hoddinott
@NervosaX
Jan 11 2015 04:46
Swish
Justin Meyer
@justinbmeyer
Jan 11 2015 04:47
So if A and B and C have very common dependencies (like jQuery) it will package them in a A+B+C package. It will also make a A+B, B+C, and A+C packages.
Joe Pea
@trusktr
Jan 11 2015 04:47
mmmm look good
Justin Meyer
@justinbmeyer
Jan 11 2015 04:47
same with all the combinations of WXYZ
Joe Pea
@trusktr
Jan 11 2015 04:47
oh that’s nice.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:47
but limit the number of total scripts
to whatever you set
so if you don't want any page to load more than 3 scripts
Joe Pea
@trusktr
Jan 11 2015 04:48
I got my team at works to move away from loading “common” libs in a common requireconfig on every site.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:48
yeah, this is an attempt to solve that problem
what did you move to?
Joe Pea
@trusktr
Jan 11 2015 04:48
Interesting.
We moved to just having each module explicitly define (amd) what it needs.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:49
oh
Joe Pea
@trusktr
Jan 11 2015 04:49
and now the web pack project CJS.
SO that’s at least better.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:49
this is not solving that problem
Joe Pea
@trusktr
Jan 11 2015 04:49
than forcing certain things to be used.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:49
this is solving the problem where you have a lot of pages using the same set of modules
Joe Pea
@trusktr
Jan 11 2015 04:49
But I see how yours can take ours a step further.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:49
and you want that to be cached
Joe Pea
@trusktr
Jan 11 2015 04:49
We have multople modules using common things.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:50
but don't want to manually specify/guess what the module modules are
this figures it out
and adjusts for the minified/gzipped sizes of things
and can weigh certain pages ( homepage ) more ... so it will favor them
not sure if people are building apps like this
progressively loaded SPAs
Joe Pea
@trusktr
Jan 11 2015 04:51
That’s some trickery right there! WOuld be totally useful.
I can’t wait to the day large corporate sites are single page apps. I think it can happen. Especially if browsers have a module system, which is almost reality.
Justin Meyer
@justinbmeyer
Jan 11 2015 04:53
yeah, its happening
the problem has been search
more than a module system
Adam Hoddinott
@NervosaX
Jan 11 2015 04:53
I don't think SPA are the answer to all websites...
Justin Meyer
@justinbmeyer
Jan 11 2015 04:53
not all ... just most
@trusktr http://stealjs.com/docs/stealTools.build.html stealTools.build(["login","homepage"], baseURL: __dirname})
I'm about to push a branch that uses SystemJS 0.11.1
Joe Pea
@trusktr
Jan 11 2015 04:58
nice.
Adam Hoddinott
@NervosaX
Jan 11 2015 05:00
I should probably stop thinking code and concentrate on my weekend..
Joe Pea
@trusktr
Jan 11 2015 05:00
lol. My weekend is the only time I have for my personal code right now.
I can wait to release the first version of my app and take a break.
Adam Hoddinott
@NervosaX
Jan 11 2015 05:03
Yeah, me too... but I dunno, I coded all week. ;P
Joe Pea
@trusktr
Jan 11 2015 05:03
eat sleep code
and some skateboarding every few weeks.
my app’s called sk8earth. :D
Here’s I am hanging out in #systemjs thanks to skateboarding. :) Who woulda thought?
Adam Hoddinott
@NervosaX
Jan 11 2015 05:06
Hehe
Joe Pea
@trusktr
Jan 11 2015 05:06
sk8earth.com
Justin Meyer
@justinbmeyer
Jan 11 2015 05:06
great domain name
Joe Pea
@trusktr
Jan 11 2015 05:06
thanks!
everytime you visit sk8earth without the subdomains, it picks a random one.