How many times have you had this conversation?
"Hey, the project doesn't run on my machine any more."
"Have you tried running
npm install
?"
...pause...
"Yeah, that fixed it, thanks"
How many times have you had this conversation?
"Hey, the project doesn't run on my machine any more."
"Have you tried running
npm install
?"
...pause...
"Yeah, that fixed it, thanks"
before_script: | |
- npm install | |
test: | |
script: npm test |
pull-modules () { | |
BASE_DIR=$(pwd) | |
# find symlinks in node_modules | |
for MODULE in $(find node_modules -type l -depth 1) | |
do | |
cd "$MODULE" | |
BRANCH=$(git rev-parse --abbrev-ref HEAD) | |
echo "Updating $MODULE ($BRANCH)..." |
I hereby claim:
To claim this, I am signing this object:
Demo showing that by specifying a resolver for a scalar property, you can override the value.
This is useful for authorization as it means you can centrally check permissions per field. Your general resolvers can return whole objects without caring about which fields the current user may or may not be allowed to see.
// a very short TestCafe test suite | |
fixture('Admin user') | |
test('Create posts journey', t => { | |
const postTitle = 'Hello testing' | |
return t | |
.typeText(ReactSelector('PostCreator FormControl'), postTitle) | |
.click(ReactSelector('PostCreator Button')) | |
.expect(ReactSelector('Post').first().find('label').innerText) | |
.eql(postTitle) | |
}) |
// a very short Cypress test suite | |
describe('Admin user', () => { | |
it('Create posts journey', () => { | |
const postTitle = 'Hello testing' | |
cy.get('input[id=title]').type(postTitle) | |
cy.get('button[title=Create]').click() | |
cy.get('table tr:last label').should('contain', postTitle) | |
}) | |
}) |
Shows a list of all node processes and lets you select which one you want to debug.
For example
$ debug.sh
1) 73428 node webpack/webpackDevServer.js
2) 73494 node build/dist/server.js
Select which process to debug: █
//////// CONFIG ///////// | |
// your first direct user name | |
const username = '' | |
// your password (the one it asks for characters from) | |
const password = '' | |
// your memorable word | |
const memorable = '' | |
// set to false if you want to see the browser window as it runs | |
const headless = true |