Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions LAB-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
* add your own gitignore
* include a package.json
* include the class eslint
* add a glup file
* add a gulp file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love that you fixed the typos. You're awesome.


### Gulp Tasks
* make a lint task for running eslint
* make a test task for running mocha
* make a dev task that waches your files and runs the lint and test taks
* make a defalut task that runs your favorite task
* make a dev task that watches your files and runs the lint and test task
* make a default task that runs your favorite task

## Rubric:
* Correct Submission: 2pts
Expand Down
24 changes: 24 additions & 0 deletions lab-elizabeth/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"rules": {
"comma-dangle": ["error", "always-multiline"],
"no-console": "off",
"indent": [ "error", 2 ],
"quotes": [ "error", "single" ],
"semi": ["error", "always"],
"linebreak-style": [ "error", "unix" ]
},
"env": {
"es6": true,
"node": true,
"mocha": true,
"jasmine": true
},
"globals": {
},
"ecmaFeatures": {
"modules": true,
"experimentalObjectRestSpread": true,
"impliedStrict": true
},
"extends": "eslint:recommended"
}
130 changes: 130 additions & 0 deletions lab-elizabeth/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@

# Created by https://www.gitignore.io/api/osx,linux,node,vim,sublimetext

### OSX ###
*.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk


### Linux ###
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*


### Node ###
# Logs
logs
*.log
npm-debug.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules
jspm_packages

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history


### Vim ###
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags


### SublimeText ###
# cache files for sublime text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache

# workspace files are user-specific
*.sublime-workspace

# project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using SublimeText
# *.sublime-project

# sftp configuration file
sftp-config.json

# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
bh_unicode_properties.cache

# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
23 changes: 23 additions & 0 deletions lab-elizabeth/gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict';

const gulp = require('gulp');
const eslint = require('gulp-eslint');
const mocha = require('gulp-mocha');

gulp.task('lint', function(){
return gulp.src(['**/*.js', '!node_modules/**'])
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});

gulp.task('test', function(){
gulp.src('./test/*-test.js', {read: false})
.pipe(mocha({reporter: 'landing'}));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work reading the docs and finding a different reporter than the nyan cat to use!

});

gulp.task('dev', function(){
gulp.watch(['**/*.js', '!node_modules/**'], ['lint', 'test']);
});

gulp.task('default', ['test']);
5 changes: 5 additions & 0 deletions lab-elizabeth/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
'use strict';

const greet = require('./lib/greet');

greet('liz');
6 changes: 6 additions & 0 deletions lab-elizabeth/lib/greet.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict';

module.exports = function greet(name) {
if(!name) throw new Error('expected name');
return `hello ${name}`;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job using string interpolation!

};
18 changes: 18 additions & 0 deletions lab-elizabeth/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "lab-elizabeth",
"version": "1.0.0",
"description": "day 01 lab assignment",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "tenlia@hotmail.com",
"license": "MIT",
"devDependencies": {
"eslint": "^3.5.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to install eslint as a dependency of your project -- it only needs to be installed globally via npm and when you have an .eslintrc file in your project, the linter will work without being installed as a library within your project.

"gulp": "^3.9.1",
"gulp-eslint": "^3.0.1",
"gulp-mocha": "^3.0.1",
"mocha": "^3.0.2"
}
}
13 changes: 13 additions & 0 deletions lab-elizabeth/test/greet-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
'use strict';

const greet = require('../lib/greet');
const assert = require('assert');

describe('testing greet.js module', function(){
it('should return hello lizzie', function(){
assert.equal(greet('lizzie'), 'hello lizzie', 'expected "hello lizzie"');
});
it('should throw error for missing input', function(){
assert.throws(greet, 'expected missing name error');
});
});