-
Notifications
You must be signed in to change notification settings - Fork 11
Allow using the local version of webpack/dependency #54
Comments
I realised over the weekend this is quite important, because there is no other way to run canary on PRs |
A note on usability specific to how I intend to leverage this in contrib. We have a support matrix for Node & Webpack consisting of both Node LTS version + a can fail for what will become the next LTS ( i.e. 9 at the moment ) & current Webpack, the major version prior & a can fail for the next release. On the infrastructure side of things, we want to be able to go as wide as possible with the test matrix to keep the feedback time as low as possible. Possibility 1 All of this will be done in CircleCI leveraging Workflows not Travis because it allows us to use our own containers for the build. Given the way Node works, we are going to want to build containers like so...
Point being, there isn't going to be a webpack install per se, it will come with the container. Possibility 2 Something to the effect of
I'm leaning towards the second option. The docker container builds could be triggered every time a tag is cut & publish for the supported node versions. The consuming builds would simply target the Point being, for this to be leveraged in a CI environment, we don't need to worry about local Webpack as build containers are spun up & destroyed for every run. We could use local installs as defined in possibility 1 but the container builds would have to be triggered from Webpack to keep them up to date which I would like to avoid. The install time for |
There was never a concern about which node version will be used. I assumed the CI would handle this (e.g. with the travis The issue here is how to use the currently cloned repo as the test basis instead of the linked one. What I was proposing here is to define a separate module.exports = {
versions: {
'v3.6.0': [{
// dependency: 'https://github.com/webpack-contrib/extract-text-webpack-plugin/archive/master.tar.gz',
dependency: '@current', // This would use the current branch/commit instead of master
exampleDir: 'example',
test: 'npm test',
}],
},
}; |
It handles it because I create a config to We have libraries with system level requirements, it's not as easy as just flipping
Using the local dependency This should allow canary to be used from either side of the house. You could use it on the Webpack side by defining That change should also allow you to use it on the webpack-contrib side in a local library by simply not defining Using canary in contrib The simplest way to leverage canary is going to be from the command line as a
So let's take a look at how this is actually going to be leveraged by the org .... At it's most complex, this is what we have to test.
What that ends up looking like in the real world is this To limit the number of container slots we use on any given build while maintaining a reasonable feedback time on PRs, each test container is going to validate So while the usability issues may appear to muddy the water as it relates to this specific issue, the proposed fix is directly applicable to it's implementation as it pertains to the organization that's going to be consuming it. In short, there should be a concern about how this is consumed if you want |
Use the local version instead of pulling it from npm/github. This would optimise the CI installation and simplify local testing during development.
This would be defined as webpack/dependency version
"@current"
(to avoid any naming collisions).TBD: Can we use
npm link
/symlinks or do we need to copy the code (and what to copy).The text was updated successfully, but these errors were encountered: