broccoli-static-compiler
Advanced tools
+85
| { | ||
| "maxerr" : 50, // {int} Maximum error before stopping | ||
| // Enforcing | ||
| "bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.) | ||
| "camelcase" : true, // true: Identifiers must be in camelCase | ||
| "curly" : false, // true: Require {} for every new block or scope | ||
| "eqeqeq" : true, // true: Require triple equals (===) for comparison | ||
| "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty() | ||
| "immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());` | ||
| "indent" : false, // {int} Number of spaces to use for indentation | ||
| "latedef" : false, // true: Require variables/functions to be defined before being used | ||
| "newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()` | ||
| "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee` | ||
| "noempty" : true, // true: Prohibit use of empty blocks | ||
| "nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment) | ||
| "plusplus" : false, // true: Prohibit use of `++` & `--` | ||
| "quotmark" : true, // Quotation mark consistency: | ||
| // false : do nothing (default) | ||
| // true : ensure whatever is used is consistent | ||
| // "single" : require single quotes | ||
| // "double" : require double quotes | ||
| "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) | ||
| "unused" : "vars", // true: Require all defined variables be used | ||
| "strict" : false, // true: Requires all functions run in ES5 Strict Mode | ||
| "trailing" : false, // true: Prohibit trailing whitespaces | ||
| "maxparams" : false, // {int} Max number of formal params allowed per function | ||
| "maxdepth" : false, // {int} Max depth of nested blocks (within functions) | ||
| "maxstatements" : false, // {int} Max number statements per function | ||
| "maxcomplexity" : false, // {int} Max cyclomatic complexity per function | ||
| "maxlen" : false, // {int} Max number of characters per line | ||
| // Relaxing | ||
| "asi" : true, // true: Tolerate Automatic Semicolon Insertion (no semicolons) | ||
| "boss" : true, // true: Tolerate assignments where comparisons would be expected | ||
| "debug" : false, // true: Allow debugger statements e.g. browser breakpoints. | ||
| "eqnull" : true, // true: Tolerate use of `== null` | ||
| "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`) | ||
| "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features) | ||
| // (ex: `for each`, multiple try/catch, function expression…) | ||
| "evil" : true, // true: Tolerate use of `eval` and `new Function()` | ||
| "expr" : false, // true: Tolerate `ExpressionStatement` as Programs | ||
| "funcscope" : false, // true: Tolerate defining variables inside control statements" | ||
| "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict') | ||
| "iterator" : false, // true: Tolerate using the `__iterator__` property | ||
| "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block | ||
| "laxbreak" : false, // true: Tolerate possibly unsafe line breakings | ||
| "laxcomma" : false, // true: Tolerate comma-first style coding | ||
| "loopfunc" : false, // true: Tolerate functions being defined in loops | ||
| "multistr" : false, // true: Tolerate multi-line strings | ||
| "proto" : false, // true: Tolerate using the `__proto__` property | ||
| "scripturl" : false, // true: Tolerate script-targeted URLs | ||
| "smarttabs" : false, // true: Tolerate mixed tabs/spaces when used for alignment | ||
| "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;` | ||
| "sub" : true, // true: Tolerate using `[]` notation when it can still be expressed in dot notation | ||
| "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;` | ||
| "validthis" : false, // true: Tolerate using this in a non-constructor function | ||
| // Environments | ||
| "browser" : false, // Web Browser (window, document, etc) | ||
| "couch" : false, // CouchDB | ||
| "devel" : false, // Development/debugging (alert, confirm, etc) | ||
| "dojo" : false, // Dojo Toolkit | ||
| "jquery" : false, // jQuery | ||
| "mootools" : false, // MooTools | ||
| "node" : true, // Node.js | ||
| "nonstandard" : false, // Widely adopted globals (escape, unescape, etc) | ||
| "prototypejs" : false, // Prototype and Scriptaculous | ||
| "rhino" : false, // Rhino | ||
| "worker" : false, // Web Workers | ||
| "wsh" : false, // Windows Scripting Host | ||
| "yui" : false, // Yahoo User Interface | ||
| // Legacy | ||
| "nomen" : false, // true: Prohibit dangling `_` in variables | ||
| "onevar" : false, // true: Allow only one `var` statement per function | ||
| "passfail" : false, // true: Stop on first error | ||
| "white" : false, // true: Check against strict whitespace and indentation rules | ||
| // Custom Globals | ||
| "globals" : {}, // additional predefined global variables | ||
| // Suppress specific warnings | ||
| "-W058": true // Missing '()' invoking a constructor. | ||
| } |
| var fs = require('fs') | ||
| var path = require('path') | ||
| var test = require('tap').test | ||
| var Builder = require('broccoli').Builder | ||
| var pickFiles = require('..') | ||
| var fixturePath = path.join(__dirname, 'fixtures') | ||
| test('when no files option is specified', function(t) { | ||
| t.test('with a nested destination directory', function(t) { | ||
| var tree = pickFiles(fixturePath, { | ||
| srcDir: '/', | ||
| destDir: '/foo' | ||
| }) | ||
| var builder = new Builder(tree) | ||
| builder.build() | ||
| .then(function(result) { | ||
| t.ok(fs.existsSync(path.join(result.directory, 'foo', 'dir1', 'blah.txt'))) | ||
| t.end() | ||
| }) | ||
| }) | ||
| t.test('with a root destination directory', function(t) { | ||
| var tree = pickFiles(fixturePath, { | ||
| srcDir: '/', | ||
| destDir: '/' | ||
| }) | ||
| var builder = new Builder(tree) | ||
| builder.build() | ||
| .then(function(result) { | ||
| t.ok(fs.existsSync(path.join(result.directory, 'dir1', 'blah.txt'))) | ||
| t.end() | ||
| }) | ||
| }) | ||
| t.end() | ||
| }) | ||
| test('with files glob specified', function(t) { | ||
| t.test('with a root destination directory', function(t) { | ||
| var tree = pickFiles(fixturePath, { | ||
| files: ['**/blah.txt'], | ||
| srcDir: '/', | ||
| destDir: '/' | ||
| }) | ||
| var builder = new Builder(tree) | ||
| builder.build() | ||
| .then(function(result) { | ||
| t.ok(fs.existsSync(path.join(result.directory, 'dir1', 'blah.txt'))) | ||
| t.ok(fs.existsSync(path.join(result.directory, 'dir2', 'blah.txt'))) | ||
| t.notOk(fs.existsSync(path.join(result.directory, 'dir1', 'tmp.txt'))) | ||
| t.notOk(fs.existsSync(path.join(result.directory, 'dir2', 'tmp.txt'))) | ||
| t.end() | ||
| }) | ||
| }) | ||
| t.end() | ||
| }) |
+4
-0
| # master | ||
| # 0.2.1 | ||
| * Fix regression in using a `destDir` of `/` (without an array if `file` globs). [#14](https://github.com/joliss/broccoli-static-compiler/pull/14) | ||
| # 0.2.0 | ||
@@ -4,0 +8,0 @@ |
+7
-0
@@ -52,3 +52,10 @@ var fs = require('fs') | ||
| } | ||
| // if destDir was / then remove the temp folder | ||
| // created by broccoli-writer so we can symlink | ||
| // directly | ||
| if (this.tmpDestDir === destPath) { | ||
| fs.rmdirSync(destPath); | ||
| } | ||
| symlinkOrCopySync(sourcePath, destPath) | ||
| } |
+9
-1
| { | ||
| "name": "broccoli-static-compiler", | ||
| "description": "Broccoli compiler to copy static files", | ||
| "version": "0.2.0", | ||
| "version": "0.2.1", | ||
| "author": "Jo Liss <joliss42@gmail.com>", | ||
@@ -21,3 +21,11 @@ "main": "index.js", | ||
| "symlink-or-copy": "^1.0.0" | ||
| }, | ||
| "devDependencies": { | ||
| "broccoli": "^0.13.1", | ||
| "jshint": "^2.5.6", | ||
| "tap": "^0.4.13" | ||
| }, | ||
| "scripts": { | ||
| "test": "jshint ./*.js test/*.js && tap --timeout 2 ./test/*_test.js" | ||
| } | ||
| } |
Sorry, the diff of this file is not supported yet
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
13822
137.49%13
85.71%104
126.09%3
Infinity%2
100%