ipfs / aegir Goto Github PK
View Code? Open in Web Editor NEWAEgir - Automated JavaScript project building
Home Page: https://ipfs.github.io/aegir
License: Other
AEgir - Automated JavaScript project building
Home Page: https://ipfs.github.io/aegir
License: Other
When running ipfs-bitswap tests with aegir 9.2.0:
It is a very strange behaviour. aegir 9.1.2 is 👌🏽
From 80s to 20s (or even 15s), it is annoying to have to wait for some timeouts and in really, no test should need to take that long.
Aegir leaves (often) zombie processes created by the gulpfile tasks, when the tests fail. I find myself constantly having to kill processes manually by finding it through the port:
» lsof -n -i4TCP:9095 | grep LISTEN
node 4660 ground-control 22u IPv4 0x4d30d26af3bdd79b 0t0 TCP *:9095 (LISTEN)
Is there a way to get it to run the 'post:tests' tasks, so that it closes anything that it opened during the pre:test?
Would be effective if we could really get into the habit of writing git commit msgs that conforms to our standard.
One way of enforcing this could be to look through the commits pre-push, to make sure that they match our expectations.
Could also run in a post-commit hook I guess.
Related: #30
test:saucelabs
, and enabled by running aegir-test --env saucelabs
$SAUCE_USERNAME
and $SAUCE_ACCESS_KEY
(already done by the karma-sauce-launcher)Generation using
Documentation upload during aegir-relase
by using the technique from here:
As we are using callbacks in quite a lot of places and probably will so for a long time I would like to suggest adding these two new rules to the eslint config to enforce any deep nesting
This is probably due to gulp-mocha
npm doesn't let me publish
» npm publish
npm http request PUT https://registry.npmjs.org/aegir
npm http 403 https://registry.npmjs.org/aegir
npm ERR! publish Failed PUT 403
npm ERR! Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "publish"
npm ERR! node v4.3.2
npm ERR! npm v3.8.7
npm ERR! code E403
npm ERR! you do not have permission to publish "aegir". Are you logged in as the correct user? : aegir
Although it lists me as an owner https://www.npmjs.com/package/aegir
It has been at least more than 11 times that I was bitten by this and then I need to use very unorthodox techniques to figure out where the silenced error was thrown.
Can we print out those errors?
Related #67
Branch | Build failing 🚨 |
---|---|
Dependency | eslint-config-standard |
Current Version | 7.0.1 |
Type | dependency |
This version is covered by your current version range and after updating it in your project the build failed.
As eslint-config-standard is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot 🌴
When running tests under the karma-mocha-webworker plugin, some tests fail but they are not being marked as failed by karma-runner.
Branch | Build failing 🚨 |
---|---|
Dependency | webpack-merge |
Current Version | 4.0.0 |
Type | dependency |
This version is covered by your current version range and after updating it in your project the build failed.
As webpack-merge is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪
The new version differs by 9 commits .
d9559b9
4.1.0
ca835a7
Update lib
5ad8c5f
chore: Add @herecydev to contributors
5b643d5
chore: Update changelog
6bf19b6
Merge pull request #74 from herecydev/master
9e21275
Added multiple merging to readme
8b9d376
Formatting fixes
f62d69f
Added more tests to cover upsert
237117c
Added merge multiple that outputs an array
See the full diff.
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot 🌴
Current stats are showing we can do a lot to improve general test execution time.
npm run test:node 3.70s user 0.59s system 89% cpu 4.784 total
node_modules/.bin/aegir-test --env node 2.47s user 0.25s system 108% cpu 2.508 total
mocha 1.16s user 0.10s system 100% cpu 1.261 total
This also means we should not suggest to use npm run
, but rather provide a global command which avoids the large overhead npm run
has.
please 👼
I want a place describing rationale behind linting decisions in the documentation.
I just went to ipfs/community to the js-guidelines to look for a place to add a note about not nesting deps too deeply. There isn't a good place to put this. I think this isn't great; we should be able to explain our linting decisions in aegir, somewhere, if only in this README, or in the js-guidelines README.
It would be great if we could add a section for each linting decision, or each major design decision. I am 100% ok with pointing to issues in brief sentences, but I think this should exist. Otherwise, I don't know how to find the rationale for something if I find it controversial.
Any strong reason to keep:
[623] ./~/chai/lib/chai/utils/overwriteProperty.js 1.53 kB {1} {2} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {20} {21} {22} {23}
?
I just read upon jsnext:main
in https://github.com/rollup/rollup/wiki/jsnext:main and realised that the current setup is not correct. What we do is right now
main
: ES5 transpiled codejsnext:main
ES6 original code, fully compatible with @4 and aboveWhat the wiki article above actually suggest forjsnext:main
is
jsnext:main will point to a module that has ES2015 module syntax but otherwise only syntax features that node supports.
My suggestion to fixing this, is to stop transpiling for node code as we are already setting the engine version to node >= 4 and running CI against the non transpiled version. As such we can drop the whole lib
directory and just start pointing main
to src/index.js
.
This will also enable us to make npm link
work much better out of the box when doing development on multiple modules.
cc @diasdavid
use case:
aegir-test --entry=./test/core
aegir-test --entry=./test/cli
aegir-test --entry=./test/http-api
aegir-test --entry=./test/tests-for-lars-to-check-websockets-stuff
Currently this is a dependency so react
is pulled as well :(
I found the problem by installing js-ipfs
and having a second react install that broke my app.
Since this module is going to be used so widely across IPFS, I expect many current & prospective contributors to be funneled to this repo at one point or another. As such, I'd be really interested in seeing the README be very clear about
a. what is dignified.js? and
b. what problems does it solve?
Right now it does a very good job of explaining its subcommands and setting it up, but having Background and Description sections that explain a bit more could save @dignifiedquire the work of explaining things many more times via IRC or elsewhere.
Any technical reason for:
if (isNode) {
tfbPath = path.join(__dirname, '/fixtures/15mb.random')
testfileBig = fs.createReadStream(tfbPath, { bufferSize: 128 })
testfile = loadFixture(__dirname, '/fixtures/testfile.txt')
} else {
testfile = loadFixture(__dirname, 'fixtures/testfile.txt')
}
Found in https://github.com/ipfs/js-ipfs-api/blob/master/test/get.spec.js
The package.json in harmony branch on UglifyJS2 has rename name field to 'uglify-es'
Install fail! Error: [[email protected] › [email protected] › [email protected] › [email protected] › [email protected] › uglify-js@github:mishoo/UglifyJS2#harmony] Invalid Package, expected uglify-js but found uglify-es
When running the command aegis-test node
, I get the following error:
Message:
Command failed: mocha --colors ---r=spec --timeout=80000
error: unknown option `---r'
Any clue? Also, am willing to contribute fix..
Every module below 1.0.0 should use ~
instead of ^
. Aegir should check for this.
Followed by #99 (comment) and as @dignifiedquire has mentioned several times:
I am not saying the current version is particularly good, in reality the whole thing just needs refactoring and clean up, this was never intended to support many options.
We need to take the project to the next level, establish what it is all about, create a Roadmap, list out every item that needs to be handled and refactor the codebase to a state where it is easy to understand what is going on.
@dignifiedquire I believe you are the best person to create the Roadmap.
Another thing that might make sense, is move this to the IPFS org and welcome the community to take ownership and contribute, right now, the fact that it is only under your user account kind of hides it from contributors, I feel.
Sometimes, after npm run release
is executed, doing ^c
only stops the run of the tests, but the build + release steps are still executed, it is actually a way to bypass the tests.
Branch | Build failing 🚨 |
---|---|
Dependency | eslint-plugin-standard |
Current Version | 2.1.1 |
Type | dependency |
This version is covered by your current version range and after updating it in your project the build failed.
As eslint-plugin-standard is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot 🌴
Bundling babel-polyfill with libs is discouraged by Babel devs, see https://babeljs.io/docs/usage/polyfill/. The Babel polyfill can only run once in the browser, it throws the second time it runs and pulls everything else down with it.
Suggestions:
transform-runtime
plugin, orCame across this problem in ipfs/js-ipfs#631 where I made a PR from my fork to the main repository. Since Travis would hide environment variables for forks (and rightly so), Sauce Labs could not authenticate, therefore failing the tests.
Not sure about the solution, but currently, any PR coming from a contributor not having write access to the main repository, would fail.
Add eslint rule/plugin to check for self
vs window
.
Can we have an option to specify what is the root of the folder with the tests we want to run?
Getting this error on npm release
[22:37:55] Error: Cannot find module 'uglify-js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Gulp.gulp.task (/Users/koruza/code/js-ipfs-api/node_modules/aegir/tasks/build/browser.js:10:20)
at module.exports (/Users/koruza/code/js-ipfs-api/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/koruza/code/js-ipfs-api/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/koruza/code/js-ipfs-api/node_modules/orchestrator/index.js:214:10)
at /Users/koruza/code/js-ipfs-api/node_modules/orchestrator/index.js:279:18
at finish (/Users/koruza/code/js-ipfs-api/node_modules/orchestrator/lib/runTask.js:21:8)
at cb (/Users/koruza/code/js-ipfs-api/node_modules/orchestrator/lib/runTask.js:29:3)
at next (/Users/koruza/code/js-ipfs-api/node_modules/rimraf/rimraf.js:74:7)
at FSReqWrap.CB [as oncomplete] (/Users/koruza/code/js-ipfs-api/node_modules/rimraf/rimraf.js:110:9)
And if uglify-js is installed, I get a type error on .replace
during the minify step
When adding a new example to js-ipfs-api and running git commit
, aegir runs lint and it failed somewhere but not showing any real errors.
Running eslint
directly on the newly added code revealed the following error (but not sure if this is the only/right one)
➜ js-ipfs-api git:(master) ✗ ./node_modules/.bin/eslint -c node_modules/aegir/config/eslintrc.yml examples
Oops! Something went wrong! :(
ESLint couldn't find the plugin "eslint-plugin-react". This can happen for a couple different reasons:
1. If ESLint is installed globally, then make sure eslint-plugin-react is also installed globally. A globally-installed ESLint cannot find a locally-installed plugin.
2. If ESLint is installed locally, then it's likely that the plugin isn't installed correctly. Try reinstalling by running the following:
npm i eslint-plugin-react@latest --save-dev
If you still can't figure out the problem, please stop by https://gitter.im/eslint/eslint to chat with the team.
^c
does nothing to stop it
Can we get Istanbul as one of the convenient scripts inside the tool? Thank you :)
I'm not sure that dignified.js is the best name for this module, if it is to be accepted widely.
It comes off to me (as a native English speaker) that you're trying to give this tool respect by naming it something respectful. But you have to gain respect, not just name it, so it sounds a bit haughty. I think we should name it something else.
Ideally, the name would reflect the function. Naming is hard. But what does this actually do?
Automated JavaScript project management.
That's really broad. Can we have a more concise definition to work with?
Add this rule
Something like:
npm install --save-dev aegir chai pre-commit
Merged, and renamed to aegir
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.