-
Notifications
You must be signed in to change notification settings - Fork 524
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
builder and builder-victory component are runtime deps? #413
Comments
(Note that this is blocking Airbnb from being able to use victory) |
@ljharb -- Can you help us understand where the Yes, Please help us track down what is actually breaking things for you and I suspect a simple upgrade will fix it... |
For helpful reference here is the list of our actual top-level dependencies: |
@ryan-roemer for one, webpack, which is a MASSIVE runtime dependency to support the very rare (and community-discouraged) use case of git installs. In general, including anything that touches the filesystem as a runtime dependency, anywhere in the tree, is going to cause us problems - which includes almost every building/compiling tool that exists. The specific issue I'm seeing is in |
If you want to support git installs, I'd recommend compiling to things that are stored in git, but are npmignored. |
@ljharb -- I understand our dependencies, and thank you for the requested information. As I stated, we understand the issue and the tradeoffs the current stack makes to support git installs. And I've laid out a sensible path forward with You're welcome to do any of:
Thanks! |
@ljharb -- And to clarify
From an |
@ljharb I have a bit of time to take a stab at the |
If that's indeed the case, then I'm not sure why our @boygirl thanks‼ (Another alternative i thought of, btw, would be to make |
@ljharb git installs are super, super useful for our development workflow for |
With react-native tho, doesn't the packager transpile through node_modules, such that you wouldn't need to do it on postinstall? |
thanks for all your work on this @ljharb @boygirl @ryan-roemer! really appreciated! |
OK, so it turns out the problem is that I'd generated the shrinkwrap file on my Mac, and In short, this is still a serious problem and adds a lot of weight to our dep tree, but I don't think this is an immediate blocker anymore. @boygirl We really appreciate any time you can put into whatever is needed to clean up the dependencies vs devDependencies (ie, so that nothing build-related is a package.json dependency) throughout the victory dep graph - now or later, but it's OK if it isn't super rapid. Thanks again for everyone's fast responses! |
@ljharb the changes ended up being pretty non-invasive. I need to do a bit of a sanity check in the morning, but I think we can get this out by the weekend or Monday at the latest. |
@boygirl awesome, thanks! |
closed by #415. Released as |
And here's the new $ publish-diff -o [email protected] -n [email protected] Index: package.json
===================================================================
--- package.json [email protected]
+++ package.json [email protected]
@@ -1,7 +1,7 @@
{
"name": "victory",
- "version": "0.13.1",
+ "version": "0.13.2",
"description": "Data viz for React",
"keywords": [
"data visualization",
"React",
@@ -24,27 +24,41 @@
"homepage": "https://github.com/formidablelabs/victory",
"scripts": {
"postinstall": "cd lib || builder run npm:postinstall || (echo 'POSTINSTALL FAILED: If using npm v2, please upgrade to npm v3. See bug https://github.com/FormidableLabs/builder/issues/35' && exit 1)",
"preversion": "builder run npm:preversion",
+ "postversion": "builder run npm:postversion",
+ "postpublish": "builder run npm:postpublish",
"start": "builder run hot",
"test": "builder run check",
- "version": "builder run npm:version && git add dist && git commit -m \"Commit 'dist/' for publishing\""
+ "version": "builder run npm:version"
},
"dependencies": {
- "builder": "~2.9.1",
- "builder-victory-component": "^3.0.0",
- "victory-chart": "^13.0.0",
- "victory-core": "^9.0.1",
- "victory-pie": "^7.0.0"
+ "victory-chart": "^13.1.0",
+ "victory-core": "^9.1.0",
+ "victory-pie": "^7.1.0"
},
"devDependencies": {
- "builder-victory-component-dev": "^3.0.0",
+ "builder-victory-component-dev": "^3.1.0",
"chai": "^3.2.0",
"lodash": "^4.12.0",
"mocha": "^2.3.3",
"react": "^15.1.0",
"react-addons-test-utils": "^15.1.0",
"react-dom": "^15.1.0",
"sinon": "^1.17.2",
- "sinon-chai": "^2.8.0"
- }
-}
+ "sinon-chai": "^2.8.0",
+ "builder": "^3.1.0",
+ "builder-victory-component": "^3.1.0"
+ },
+ "publishr": {
+ "dependencies": [
+ "^builder"
+ ],
+ "files": {}
+ },
+ "_publishr": [
+ {
+ "created": false,
+ "path": "package.json"
+ }
+ ]
+} |
@boygirl thanks! That diff doesn't match https://github.com/FormidableLabs/victory/blob/master/package.json#L36 though - |
@ljharb -- that's the entire job of what publishr does: git dirty changes for npm publishing that are undone in real git repo. That's how we get the best of all worlds – – the npm Version is deliberately different than the Git version in a maintainable manner. That's also why I showed the diff with publish-diff going off of the real packages in the registry. Because it's meant to be different than in github |
@ljharb we built a little tool called publishr to move the dependencies on |
ha, jinx |
haha, totally |
aha, ok gotcha. Thanks for explaining, and for coming up with a solution! |
thank you guys so much!!! |
These components seem to be related to building - which is a dev dep concern - and since builder-victory-component depends on chokidar/fsevents, it won't compile on our Linux machines.
Do these things need to be runtime dependencies, or can they be devDependencies? Typically any building/compilation should be done at publish time, not at install time (postinstall scripts are deprecated).
The text was updated successfully, but these errors were encountered: