View example.js
//DO | |
function example(options) { | |
//this clearly identifies what the expected parameters are | |
const { | |
injectedLibrary, | |
otherThing | |
} = options; | |
this.methodOne = function(){ | |
injectedLibrary.doSomething('methodOne') |
View example.js
function example(options) { | |
const {injectedLibrary} = options; | |
//DON'T | |
this.methodOne = function(){ | |
doSomethingInjectedLibrary('methodOne') | |
} | |
this.methodTwo = function(){ | |
doSomethingInjectedLibrary('methodTwo') |
View ThingViewModel.test.js
describe('when creating a ThingViewModel', function () { | |
var ctorArgs; | |
beforeEach(function(){ | |
ctorArgs = { | |
ThingApi: { | |
getThings: function(){} | |
}, | |
ThingUtility: {} | |
} | |
}); |
View ThingViewModel.test.js
describe('when creating a ThingViewModel', function () { | |
it('should return an object', function () { | |
var thingViewModel = new ThingViewModel(); | |
expect(typeof thingViewModel).toBe('object'); | |
}); | |
}); |
View MyModule.js
'use strict' | |
var MyModule = { | |
foo: function() { | |
//content with external dependency | |
return $.doSomething(); | |
}, | |
bar: function() { | |
//content |
View MyModule.js
;(function(root, factory) { | |
if (typeof define === 'function' && define.amd) { | |
define(['jquery'], factory); | |
} else if (typeof exports === 'object') { | |
module.exports = factory(require('jquery')); | |
} else { | |
root.MyModule = factory(root.jQuery); | |
} | |
}(this, function($) { | |
'use strict' |
View uglify.js
module.exports = { | |
options: { | |
... | |
}, | |
build: { | |
files: { | |
'dist/MyCompanyModules.js': [ | |
..., | |
'node_modules/MyModule/build/MyModule.js' | |
... |
View package.json
{ | |
"name": "MyCompany", | |
"description": "example package.json", | |
"version": "0.0.1", | |
"scripts": { | |
"start": "grunt watch", | |
"build": "grunt build", | |
"test": "grunt test", | |
"analysis": "grunt analysis" | |
}, |
View namepsace-example.js
window.MyCompany.Utilities = { | |
foo: window.MyModule.foo, | |
bar: window.MyModule.bar | |
} |
View knockout.debug.js
(function(undefined){ | |
// (0, eval)('this') is a robust way of getting a reference to the global object | |
// For details, see http://stackoverflow.com/questions/14119988/return-this-0-evalthis/14120023#14120023 | |
var window = this || (0, eval)('this'), | |
document = window['document'], | |
navigator = window['navigator'], | |
jQueryInstance = window["jQuery"], | |
JSON = window["JSON"]; | |
(function(factory) { |
NewerOlder