From 6be7c36b0f73a490d0f6087929255618ad9c4637 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Mon, 31 Oct 2016 11:39:04 -0500 Subject: [PATCH 01/12] add sass support --- .gitignore | 40 ++ .idea/Neighborhoods-JS-Linting.iml | 8 + .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 6 + .idea/inspectionProfiles/Project_Default.xml | 10 + .../inspectionProfiles/profiles_settings.xml | 7 + .idea/misc.xml | 68 ++++ .idea/modules.xml | 8 + .idea/vcs.xml | 6 + .idea/workspace.xml | 379 ++++++++++++++++++ README.md | 6 +- .eslintrc => js/.eslintrc | 0 {base => js/base}/index.js | 0 {base => js/base}/rules/best-practices.js | 0 {base => js/base}/rules/errors.js | 0 {base => js/base}/rules/es6.js | 0 {base => js/base}/rules/imports.js | 0 {base => js/base}/rules/node.js | 0 {base => js/base}/rules/strict.js | 0 {base => js/base}/rules/style.js | 0 {base => js/base}/rules/variables.js | 0 index.js => js/index.js | 0 {react => js/react}/README.md | 0 {react => js/react}/index.js | 0 {react => js/react}/rules/react-a11y.js | 0 {react => js/react}/rules/react.js | 0 package.json | 15 +- scss/sass-lint.yaml | 354 ++++++++++++++++ 28 files changed, 902 insertions(+), 8 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/Neighborhoods-JS-Linting.iml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml rename .eslintrc => js/.eslintrc (100%) rename {base => js/base}/index.js (100%) rename {base => js/base}/rules/best-practices.js (100%) rename {base => js/base}/rules/errors.js (100%) rename {base => js/base}/rules/es6.js (100%) rename {base => js/base}/rules/imports.js (100%) rename {base => js/base}/rules/node.js (100%) rename {base => js/base}/rules/strict.js (100%) rename {base => js/base}/rules/style.js (100%) rename {base => js/base}/rules/variables.js (100%) rename index.js => js/index.js (100%) rename {react => js/react}/README.md (100%) rename {react => js/react}/index.js (100%) rename {react => js/react}/rules/react-a11y.js (100%) rename {react => js/react}/rules/react.js (100%) create mode 100644 scss/sass-lint.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dfdf543 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Yarn +yarn*.log* + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# 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 REPL history +.node_repl_history + diff --git a/.idea/Neighborhoods-JS-Linting.iml b/.idea/Neighborhoods-JS-Linting.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/Neighborhoods-JS-Linting.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..5e23ff4 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8c99c82 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + CSS + + + Code StylePHP + + + GeneralJavaScript + + + JavaScript + + + Node.jsJavaScript + + + PHP + + + UndefinedPHP + + + XML + + + + + NodeModulesDependencies + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..6fa3154 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..7fda6cb --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project + + + true + + bdd + + DIRECTORY + + false + + + + + + + + + + + + 1477578502703 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index cd50427..1f3f231 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# Neighborhoods.com JavaScript Style Guide +# Neighborhoods.com Facade Style Guide +## Styling +Only supports `scss`, utilizes [sass-lint](https://github.com/sasstools/sass-lint) + +## Javascript *Based on [AirBnb's JavaScript Style Guide](https://github.com/airbnb/javascript)* diff --git a/.eslintrc b/js/.eslintrc similarity index 100% rename from .eslintrc rename to js/.eslintrc diff --git a/base/index.js b/js/base/index.js similarity index 100% rename from base/index.js rename to js/base/index.js diff --git a/base/rules/best-practices.js b/js/base/rules/best-practices.js similarity index 100% rename from base/rules/best-practices.js rename to js/base/rules/best-practices.js diff --git a/base/rules/errors.js b/js/base/rules/errors.js similarity index 100% rename from base/rules/errors.js rename to js/base/rules/errors.js diff --git a/base/rules/es6.js b/js/base/rules/es6.js similarity index 100% rename from base/rules/es6.js rename to js/base/rules/es6.js diff --git a/base/rules/imports.js b/js/base/rules/imports.js similarity index 100% rename from base/rules/imports.js rename to js/base/rules/imports.js diff --git a/base/rules/node.js b/js/base/rules/node.js similarity index 100% rename from base/rules/node.js rename to js/base/rules/node.js diff --git a/base/rules/strict.js b/js/base/rules/strict.js similarity index 100% rename from base/rules/strict.js rename to js/base/rules/strict.js diff --git a/base/rules/style.js b/js/base/rules/style.js similarity index 100% rename from base/rules/style.js rename to js/base/rules/style.js diff --git a/base/rules/variables.js b/js/base/rules/variables.js similarity index 100% rename from base/rules/variables.js rename to js/base/rules/variables.js diff --git a/index.js b/js/index.js similarity index 100% rename from index.js rename to js/index.js diff --git a/react/README.md b/js/react/README.md similarity index 100% rename from react/README.md rename to js/react/README.md diff --git a/react/index.js b/js/react/index.js similarity index 100% rename from react/index.js rename to js/react/index.js diff --git a/react/rules/react-a11y.js b/js/react/rules/react-a11y.js similarity index 100% rename from react/rules/react-a11y.js rename to js/react/rules/react-a11y.js diff --git a/react/rules/react.js b/js/react/rules/react.js similarity index 100% rename from react/rules/react.js rename to js/react/rules/react.js diff --git a/package.json b/package.json index 924238a..84d4a54 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,26 @@ { - "name": "eslint-config-nhds", + "name": "lint-config-nhds", "version": "1.0.0", - "description": "Neighborhoods.com JavaScript Style Guide", + "description": "Neighborhoods.com Facade Style Guide", "keywords": [ "nhds", "js-style", "js-linting" ], "repository": { - "type" : "git", - "url" : "https://github.com/55places/Neighborhoods-JS-Linting.git" + "type": "git", + "url": "https://github.com/55places/Neighborhoods-JS-Linting.git" }, "bugs": { "url": "https://github.com/55places/Neighborhoods-JS-Linting/issues" }, - "main": "index.js", - "author": "Jon Rubins ", + "main": "js/index.js", + "author": "55places.com Team", "license": "MIT", "dependencies": { "eslint-plugin-import": "2.0.0", "eslint-plugin-jsx-a11y": "2.2.2", - "eslint-plugin-react": "6.3.0" + "eslint-plugin-react": "6.3.0", + "sass-lint": "1.9.1" } } diff --git a/scss/sass-lint.yaml b/scss/sass-lint.yaml new file mode 100644 index 0000000..99df016 --- /dev/null +++ b/scss/sass-lint.yaml @@ -0,0 +1,354 @@ +# Linter Options +# Docs: https://github.com/sasstools/sass-lint/tree/master/docs/rules +options: + # Don't merge default rules + merge-default-rules: false +# Rule Configuration +rules: + + # Best Practices + # -------------------- + + # Final Newline + # Force a new line at EOF + final-newline: + - 2 + - + include: true + + # No Color Keywords + # disallow color keywords + # e.g. good: `#000` / bad: `black` + no-color-keywords: 2 + + # No warn + # disallows debug statements + # e.g. bad: `@debug 'foo'` + no-debug: 2 + + # No Dupes + # disallows duplicate properties + no-duplicate-properties: 2 + + # No Empty rulesets + # disallows empty rulesets + no-empty-rulesets: 2 + + # No extends + # disallows @extends + # e.g. bad: `@extends foo` + no-extends: 2 + + # No warn + # disallows ids + # e.g. bad: `#foobar` + no-ids: 2 + + # No warn + # disallows `!important` + # e.g. bad: `foo: bar !important` + no-important: 2 + + # No invalid hex + # e.g. bad: `#ghijkl` + no-invalid-hex: 2 + + # No Mergeable Selectors + # merge selectors if the same + # e.g + # .foo .bar { + # color: #000; + # } + # + # // Will throw error as dupe selectors, should be merged + # .foo .bar { + # font-size: 1px; + # } + # + no-mergeable-selectors: 2 + + # No Misspelled props + # disallows any misspelled props + # e.g. good: `color: #000` \ bad: `col0r: #000` + no-misspelled-properties: 2 + + # No trailing whitespace + no-trailing-whitespace: 2 + + # No trailing zeros + # e.g. bad: `font-size: 1.5000em` or `font-size: 1.0em` + no-trailing-zero: 2 + + # No transition all + # must specify exact transition property to target + # e.g good: `transition-property: height 2s;` \ bad: `transition-property: all 2s;` + no-transition-all: 2 + + # No url protocols + # disallows the inclusion of url protocols + # e.g. good: `url('//foobar.com/img/bar.png')` \ bad: `url('https://foobar.com/img/bar.png')` + no-url-protocols: + - 2 + - + allow-protocol-relative-urls: true + + # No Vendor prefixes + # Prevent standard vendor prefixes + # must be on props list: https://github.com/sasstools/sass-lint/blob/master/data/properties.yml + no-vendor-prefixes: + - 2 + - + ignore-non-standard: true + + # No warn + # disallows warn + # e.g. bad: `@warn 'foo'` + no-warn: 2 + + # One declaration per line + # e.g. bad: + # .foo {content: 'baz', content: 'qux'}; + # + # .foo { + # content: 'baz'; content: 'qux'; + # } + one-declaration-per-line: 2 + + # up for debate.... + # which units to allow px, em etc. + property-units: 0 + + # Pseudo Element + # pseudo-elements must start with double colons + # e.g. good: `.foo::after` \ bad: `.foo:after` + # pseudo-classes must start with single colon + # e.g. good: `.foo:hover` \ bad: `.foo::hover` + pseudo-element: 2 + + # Url Quotes + # urls must have quotes + # e.g. good: `url('foo.png')` \ bad: `url(foo.png)` + url-quotes: 2 + + # Zero Unit + # requires all values of zero to omit a unit type + # e.g. good: `margin: 0` \ bad: `margin: 0px` + zero-unit: 2 + + # Code Styles + # -------------------- + + # Attributes must have a quote of "" surrounding the value, + # eg. good: `li[data-foo="bar"]` / bad: `li[data-foo=bar]` + attribute-quotes: + - 2 + - + include: true + + # Border prop must use `none` instead of `0` + border-zero: + - 2 + - + convention: 'none' + + # Brace style of: + # + # .foo { + # // Stuff + # } + # + # All others disallowed + brace-style: + - 2 + - + style: '1tbs' + allow-single-line: false + + # Classnaming conventions + # Hyphentated lowercase only + # e.g. `.foo-bar` + class-name-format: + - 2 + - + allow-leading-underscore: false + convention: hyphenatedlowercase + + # Clean Imports + # imports must omit `_` and extension + # e.g. @import 'foobar' / bad: @import '_foobar' or @import 'foobar.scss' + clean-import-paths: + - 2 + - + leading-underscore: false + filename-extension: false + + # Empty Line Between Blocks + # Add empty lines between blocks of styles + # disallow single line rule sets e.g. `.foobar { /* ... */ }` + empty-line-between-blocks: + - 2 + - + include: true + allow-single-line-rulesets: false + + # Extends before includes + # all `@extends` must be declared before all `@includes` + extends-before-mixins: 2 + + # Extends before declarations + # all `@extends` must be declared before any other prop declarations + extends-before-declarations: 2 + + # Function Naming + # all function names must be camelcase + # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` + function-name-format: + - 2 + - + allow-leading-underscore: false + convention: camelcase + + # Hex Length + # use hex shorts + # e.g. good: `#000` / bad: `#000000` + hex-length: + - 2 + - + style: short + + # Hex Notation + # hex values should be lowercase + # e.g. good: `#fff` / bad: `#FFF` + hex-notation: + - 2 + - + style: lowercase + + # Indentation + # indent all codes by a tab (2 spaces) + indentation: + - 2 + - + size: tab # defaults to `2` + + # Leading Zero + # values must include a 0 + # e.g. good: `0.5em` / bad: `.5em` + leading-zero: + - 2 + - + include: true + + # Nesting Depth + # items may only be nested 2 levels deep + nesting-depth: + - 2 + - + max-depth: 2 + + # Css Comments + # disallows css comments + # e.g. good: `// comment` / bad: `/* comment */` + no-css-comments: 2 + + # Property Sort order + # make sure properties are in sorted format + property-sort-order: + - 2 + - + # docs: https://github.com/sasstools/sass-lint/blob/develop/lib/config/property-sort-orders/concentric.yml + order: concentric + + # Quotes + # only single quotes allowed + quotes: + - 2 + - + style: single + + # Short hand values + # will force items to short hand + # e.g. good: `margin: 1px 2px` \ bad: `margin: 1px 2px 1px 2px` + shorthand-values: + - 2 + - + allowed-shorthands: + - 1 + - 2 + + # Single line per selector + # will force all selectors to a new line + # e.g. + # good: bad: + # .foo, .foo, .bar { + # .bar { ... + # ... } + # } + single-line-per-selector: 2 + + # Space after bang + # e.g. good: `content: 'bar' !default` \ bad: `content: 'bar' !default` + space-after-bang: + - 2 + - + include: false + + # Space after colon + # e.g. good: `content: 'bar';` \ bad: `content:'bar';` + space-after-colon: 2 + + # Space after comma + # e.g. good: `'foo', 'bar'` \ bad: `'foo','bar'` + space-after-comma: 2 + + # Space around operator + # e.g. good: `margin: 5px + 15px;` \ bad: `margin: 5px+15px;` + space-around-operator: 2 + + # Space before bang + # e.g. good: `foo !bar` \ bad: `foo!bar` + space-before-bang: 2 + + # Space before brace + # e.g. good: `.foo {` \ bad: `.foo{` + space-before-brace: 2 + + # Space between parens + # e.g. good: `foo(bar)` \ bad: `foo( bar )` + space-between-parens: 2 + + # Trailing semicolon + # all props must have a trailing `;` + trailing-semicolon: 2 + + # Variable Naming + # all variables should be camelCase + # e.g. good: `$fooBar` \ bad: `$foo-bar` or `$foo_bar` or `$_fooBar` + variable-name-format: + - 2 + - + convention: camelcase + allow-leading-underscore: false + + # Mixins + # -------------------- + + # Empty args + # Allow empty args in mixins + empty-args: + - 2 + - + include: false + + # Mixins befre declarations + # mixins (@includes) should be declared before other properties + mixins-before-declarations: 2 + + # Mixin Names + # mixins must be camelCase + # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` + mixin-name-format: + - 2 + - + allow-leading-underscore: false + convention: camelCase From bb5ce2e6ce8af8ca8b0376eb62881fc3a881ea28 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Mon, 31 Oct 2016 11:42:17 -0500 Subject: [PATCH 02/12] add linting --- .idea/workspace.xml | 43 +----- scss/sass-lint.yaml | 355 +------------------------------------------- 2 files changed, 9 insertions(+), 389 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 7fda6cb..01a87d3 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,34 +2,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -54,8 +27,8 @@ - - + + @@ -233,12 +206,12 @@ 1477578502703 - + - @@ -251,7 +224,7 @@ - + @@ -369,8 +342,8 @@ - - + + diff --git a/scss/sass-lint.yaml b/scss/sass-lint.yaml index 99df016..f22df8d 100644 --- a/scss/sass-lint.yaml +++ b/scss/sass-lint.yaml @@ -1,354 +1 @@ -# Linter Options -# Docs: https://github.com/sasstools/sass-lint/tree/master/docs/rules -options: - # Don't merge default rules - merge-default-rules: false -# Rule Configuration -rules: - - # Best Practices - # -------------------- - - # Final Newline - # Force a new line at EOF - final-newline: - - 2 - - - include: true - - # No Color Keywords - # disallow color keywords - # e.g. good: `#000` / bad: `black` - no-color-keywords: 2 - - # No warn - # disallows debug statements - # e.g. bad: `@debug 'foo'` - no-debug: 2 - - # No Dupes - # disallows duplicate properties - no-duplicate-properties: 2 - - # No Empty rulesets - # disallows empty rulesets - no-empty-rulesets: 2 - - # No extends - # disallows @extends - # e.g. bad: `@extends foo` - no-extends: 2 - - # No warn - # disallows ids - # e.g. bad: `#foobar` - no-ids: 2 - - # No warn - # disallows `!important` - # e.g. bad: `foo: bar !important` - no-important: 2 - - # No invalid hex - # e.g. bad: `#ghijkl` - no-invalid-hex: 2 - - # No Mergeable Selectors - # merge selectors if the same - # e.g - # .foo .bar { - # color: #000; - # } - # - # // Will throw error as dupe selectors, should be merged - # .foo .bar { - # font-size: 1px; - # } - # - no-mergeable-selectors: 2 - - # No Misspelled props - # disallows any misspelled props - # e.g. good: `color: #000` \ bad: `col0r: #000` - no-misspelled-properties: 2 - - # No trailing whitespace - no-trailing-whitespace: 2 - - # No trailing zeros - # e.g. bad: `font-size: 1.5000em` or `font-size: 1.0em` - no-trailing-zero: 2 - - # No transition all - # must specify exact transition property to target - # e.g good: `transition-property: height 2s;` \ bad: `transition-property: all 2s;` - no-transition-all: 2 - - # No url protocols - # disallows the inclusion of url protocols - # e.g. good: `url('//foobar.com/img/bar.png')` \ bad: `url('https://foobar.com/img/bar.png')` - no-url-protocols: - - 2 - - - allow-protocol-relative-urls: true - - # No Vendor prefixes - # Prevent standard vendor prefixes - # must be on props list: https://github.com/sasstools/sass-lint/blob/master/data/properties.yml - no-vendor-prefixes: - - 2 - - - ignore-non-standard: true - - # No warn - # disallows warn - # e.g. bad: `@warn 'foo'` - no-warn: 2 - - # One declaration per line - # e.g. bad: - # .foo {content: 'baz', content: 'qux'}; - # - # .foo { - # content: 'baz'; content: 'qux'; - # } - one-declaration-per-line: 2 - - # up for debate.... - # which units to allow px, em etc. - property-units: 0 - - # Pseudo Element - # pseudo-elements must start with double colons - # e.g. good: `.foo::after` \ bad: `.foo:after` - # pseudo-classes must start with single colon - # e.g. good: `.foo:hover` \ bad: `.foo::hover` - pseudo-element: 2 - - # Url Quotes - # urls must have quotes - # e.g. good: `url('foo.png')` \ bad: `url(foo.png)` - url-quotes: 2 - - # Zero Unit - # requires all values of zero to omit a unit type - # e.g. good: `margin: 0` \ bad: `margin: 0px` - zero-unit: 2 - - # Code Styles - # -------------------- - - # Attributes must have a quote of "" surrounding the value, - # eg. good: `li[data-foo="bar"]` / bad: `li[data-foo=bar]` - attribute-quotes: - - 2 - - - include: true - - # Border prop must use `none` instead of `0` - border-zero: - - 2 - - - convention: 'none' - - # Brace style of: - # - # .foo { - # // Stuff - # } - # - # All others disallowed - brace-style: - - 2 - - - style: '1tbs' - allow-single-line: false - - # Classnaming conventions - # Hyphentated lowercase only - # e.g. `.foo-bar` - class-name-format: - - 2 - - - allow-leading-underscore: false - convention: hyphenatedlowercase - - # Clean Imports - # imports must omit `_` and extension - # e.g. @import 'foobar' / bad: @import '_foobar' or @import 'foobar.scss' - clean-import-paths: - - 2 - - - leading-underscore: false - filename-extension: false - - # Empty Line Between Blocks - # Add empty lines between blocks of styles - # disallow single line rule sets e.g. `.foobar { /* ... */ }` - empty-line-between-blocks: - - 2 - - - include: true - allow-single-line-rulesets: false - - # Extends before includes - # all `@extends` must be declared before all `@includes` - extends-before-mixins: 2 - - # Extends before declarations - # all `@extends` must be declared before any other prop declarations - extends-before-declarations: 2 - - # Function Naming - # all function names must be camelcase - # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` - function-name-format: - - 2 - - - allow-leading-underscore: false - convention: camelcase - - # Hex Length - # use hex shorts - # e.g. good: `#000` / bad: `#000000` - hex-length: - - 2 - - - style: short - - # Hex Notation - # hex values should be lowercase - # e.g. good: `#fff` / bad: `#FFF` - hex-notation: - - 2 - - - style: lowercase - - # Indentation - # indent all codes by a tab (2 spaces) - indentation: - - 2 - - - size: tab # defaults to `2` - - # Leading Zero - # values must include a 0 - # e.g. good: `0.5em` / bad: `.5em` - leading-zero: - - 2 - - - include: true - - # Nesting Depth - # items may only be nested 2 levels deep - nesting-depth: - - 2 - - - max-depth: 2 - - # Css Comments - # disallows css comments - # e.g. good: `// comment` / bad: `/* comment */` - no-css-comments: 2 - - # Property Sort order - # make sure properties are in sorted format - property-sort-order: - - 2 - - - # docs: https://github.com/sasstools/sass-lint/blob/develop/lib/config/property-sort-orders/concentric.yml - order: concentric - - # Quotes - # only single quotes allowed - quotes: - - 2 - - - style: single - - # Short hand values - # will force items to short hand - # e.g. good: `margin: 1px 2px` \ bad: `margin: 1px 2px 1px 2px` - shorthand-values: - - 2 - - - allowed-shorthands: - - 1 - - 2 - - # Single line per selector - # will force all selectors to a new line - # e.g. - # good: bad: - # .foo, .foo, .bar { - # .bar { ... - # ... } - # } - single-line-per-selector: 2 - - # Space after bang - # e.g. good: `content: 'bar' !default` \ bad: `content: 'bar' !default` - space-after-bang: - - 2 - - - include: false - - # Space after colon - # e.g. good: `content: 'bar';` \ bad: `content:'bar';` - space-after-colon: 2 - - # Space after comma - # e.g. good: `'foo', 'bar'` \ bad: `'foo','bar'` - space-after-comma: 2 - - # Space around operator - # e.g. good: `margin: 5px + 15px;` \ bad: `margin: 5px+15px;` - space-around-operator: 2 - - # Space before bang - # e.g. good: `foo !bar` \ bad: `foo!bar` - space-before-bang: 2 - - # Space before brace - # e.g. good: `.foo {` \ bad: `.foo{` - space-before-brace: 2 - - # Space between parens - # e.g. good: `foo(bar)` \ bad: `foo( bar )` - space-between-parens: 2 - - # Trailing semicolon - # all props must have a trailing `;` - trailing-semicolon: 2 - - # Variable Naming - # all variables should be camelCase - # e.g. good: `$fooBar` \ bad: `$foo-bar` or `$foo_bar` or `$_fooBar` - variable-name-format: - - 2 - - - convention: camelcase - allow-leading-underscore: false - - # Mixins - # -------------------- - - # Empty args - # Allow empty args in mixins - empty-args: - - 2 - - - include: false - - # Mixins befre declarations - # mixins (@includes) should be declared before other properties - mixins-before-declarations: 2 - - # Mixin Names - # mixins must be camelCase - # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` - mixin-name-format: - - 2 - - - allow-leading-underscore: false - convention: camelCase +# add linting \ No newline at end of file From 7e562a596852a7e11a5dd1fae851d91659a0b3b0 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Mon, 31 Oct 2016 11:45:32 -0500 Subject: [PATCH 03/12] remove idea --- .idea/Neighborhoods-JS-Linting.iml | 8 - .idea/copyright/profiles_settings.xml | 3 - .idea/encodings.xml | 6 - .idea/inspectionProfiles/Project_Default.xml | 10 - .../inspectionProfiles/profiles_settings.xml | 7 - .idea/misc.xml | 68 ---- .idea/modules.xml | 8 - .idea/vcs.xml | 6 - .idea/workspace.xml | 352 ------------------ 9 files changed, 468 deletions(-) delete mode 100644 .idea/Neighborhoods-JS-Linting.iml delete mode 100644 .idea/copyright/profiles_settings.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml diff --git a/.idea/Neighborhoods-JS-Linting.iml b/.idea/Neighborhoods-JS-Linting.iml deleted file mode 100644 index c956989..0000000 --- a/.idea/Neighborhoods-JS-Linting.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 97626ba..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 5e23ff4..0000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 3b31283..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 8c99c82..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - CSS - - - Code StylePHP - - - GeneralJavaScript - - - JavaScript - - - Node.jsJavaScript - - - PHP - - - UndefinedPHP - - - XML - - - - - NodeModulesDependencies - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 6fa3154..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 01a87d3..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - true - - bdd - - DIRECTORY - - false - - - - - - - - - - - - 1477578502703 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 6f9ea3f1c38a3e13a89bce194ba0ba8f664f4b98 Mon Sep 17 00:00:00 2001 From: ZRosenbauer Date: Tue, 1 Nov 2016 08:06:51 -0500 Subject: [PATCH 04/12] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 84d4a54..f5581c3 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "url": "https://github.com/55places/Neighborhoods-JS-Linting/issues" }, "main": "js/index.js", - "author": "55places.com Team", + "author": "Neighborhoods.com Team", "license": "MIT", "dependencies": { "eslint-plugin-import": "2.0.0", From 568c47701029a75036206d5935aa015c5f66ce68 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Tue, 1 Nov 2016 10:33:37 -0500 Subject: [PATCH 05/12] init From 1ee96728c567a34483f23470558ac6cad0e4a392 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Tue, 1 Nov 2016 10:34:53 -0500 Subject: [PATCH 06/12] updates --- yarn.lock | 961 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 961 insertions(+) create mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..2a04496 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,961 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 +acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" + +ajv-keywords@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" + +ajv@^4.7.0: + version "4.8.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.2.tgz#65486936ca36fea39a1504332a78bebd5d447bdc" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +circular-json@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" + dependencies: + number-is-nan "^1.0.0" + +commander@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +damerau-levenshtein@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" + +debug@^2.1.1, debug@^2.2.0, debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@1.3.x: + version "1.3.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@~3.1, es6-symbol@~3.1.0, es6-symbol@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-module-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-1.0.0.tgz#c4a57fd3a53efd8426cc2d5550aadab9bbd05fd0" + dependencies: + debug "2.2.0" + pkg-dir "^1.0.0" + +eslint-plugin-import@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.0.0.tgz#5ccd46210162bc1a0d76221eb7518476d04fb089" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.3.x" + eslint-import-resolver-node "^0.2.0" + eslint-module-utils "^1.0.0" + has "^1.0.1" + lodash.cond "^4.3.0" + minimatch "^3.0.3" + pkg-up "^1.0.0" + +eslint-plugin-jsx-a11y@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.2.tgz#ac893b4f9ecb7534bc0373ff6a47388835d3a859" + dependencies: + damerau-levenshtein "^1.0.0" + jsx-ast-utils "^1.0.0" + object-assign "^4.0.1" + +eslint-plugin-react@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.3.0.tgz#fac3504a02917fc8b15f7f28514058cffde9cb76" + dependencies: + doctrine "^1.2.2" + jsx-ast-utils "^1.3.1" + +eslint@^2.7.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz#e4cc8fa0f009fb829aaae23855a29360be1f6c11" + dependencies: + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + es6-map "^0.1.3" + escope "^3.6.0" + espree "^3.1.6" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^1.1.1" + glob "^7.0.3" + globals "^9.2.0" + ignore "^3.1.2" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + optionator "^0.8.1" + path-is-absolute "^1.0.0" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.6.0" + strip-json-comments "~1.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.1.6: + version "3.3.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" + dependencies: + acorn "^4.0.1" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +fast-levenshtein@~2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^1.1.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +flat-cache@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" + dependencies: + circular-json "^0.3.0" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +fs-extra@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.2.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" + dependencies: + glob "~7.1.1" + lodash "~4.16.4" + minimatch "~3.0.2" + +gonzales-pe@3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-3.4.4.tgz#ffa05b82c96342b0460b489b2a0facae17f13430" + dependencies: + minimist "1.1.x" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +ignore@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@~2.0.1, inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-my-json-valid@^2.10.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +js-yaml@^3.5.1, js-yaml@^3.5.4: + version "3.6.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.3.tgz#ccfdbe0320ba03f7a1fc4e67ceaf7e2cc0169721" + dependencies: + acorn-jsx "^3.0.1" + object-assign "^4.1.0" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lodash.capitalize@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.kebabcase@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + +lodash@^4.0.0, lodash@^4.3.0, lodash@~4.16.4: + version "4.16.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8" + +merge@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +minimatch@^3.0.2, minimatch@^3.0.3, minimatch@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.1.x: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +require-uncached@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +rimraf@^2.2.8: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +sass-lint: + version "1.9.1" + resolved "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.9.1.tgz#acc654b7ed0f412977ad14828055a74e559b27bb" + dependencies: + commander "^2.8.1" + eslint "^2.7.0" + fs-extra "^0.30.0" + glob "^7.0.0" + globule "^1.0.0" + gonzales-pe "3.4.4" + js-yaml "^3.5.4" + lodash.capitalize "^4.1.0" + lodash.kebabcase "^4.0.0" + merge "^1.2.0" + path-is-absolute "^1.0.0" + util "^0.10.3" + +shelljs@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-json-comments@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + From 8249fa49866a42a53a8344bcd179af4b5bfff8f4 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Tue, 1 Nov 2016 10:36:45 -0500 Subject: [PATCH 07/12] add yaml file --- scss/sass-lint.yaml | 355 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 354 insertions(+), 1 deletion(-) diff --git a/scss/sass-lint.yaml b/scss/sass-lint.yaml index f22df8d..99df016 100644 --- a/scss/sass-lint.yaml +++ b/scss/sass-lint.yaml @@ -1 +1,354 @@ -# add linting \ No newline at end of file +# Linter Options +# Docs: https://github.com/sasstools/sass-lint/tree/master/docs/rules +options: + # Don't merge default rules + merge-default-rules: false +# Rule Configuration +rules: + + # Best Practices + # -------------------- + + # Final Newline + # Force a new line at EOF + final-newline: + - 2 + - + include: true + + # No Color Keywords + # disallow color keywords + # e.g. good: `#000` / bad: `black` + no-color-keywords: 2 + + # No warn + # disallows debug statements + # e.g. bad: `@debug 'foo'` + no-debug: 2 + + # No Dupes + # disallows duplicate properties + no-duplicate-properties: 2 + + # No Empty rulesets + # disallows empty rulesets + no-empty-rulesets: 2 + + # No extends + # disallows @extends + # e.g. bad: `@extends foo` + no-extends: 2 + + # No warn + # disallows ids + # e.g. bad: `#foobar` + no-ids: 2 + + # No warn + # disallows `!important` + # e.g. bad: `foo: bar !important` + no-important: 2 + + # No invalid hex + # e.g. bad: `#ghijkl` + no-invalid-hex: 2 + + # No Mergeable Selectors + # merge selectors if the same + # e.g + # .foo .bar { + # color: #000; + # } + # + # // Will throw error as dupe selectors, should be merged + # .foo .bar { + # font-size: 1px; + # } + # + no-mergeable-selectors: 2 + + # No Misspelled props + # disallows any misspelled props + # e.g. good: `color: #000` \ bad: `col0r: #000` + no-misspelled-properties: 2 + + # No trailing whitespace + no-trailing-whitespace: 2 + + # No trailing zeros + # e.g. bad: `font-size: 1.5000em` or `font-size: 1.0em` + no-trailing-zero: 2 + + # No transition all + # must specify exact transition property to target + # e.g good: `transition-property: height 2s;` \ bad: `transition-property: all 2s;` + no-transition-all: 2 + + # No url protocols + # disallows the inclusion of url protocols + # e.g. good: `url('//foobar.com/img/bar.png')` \ bad: `url('https://foobar.com/img/bar.png')` + no-url-protocols: + - 2 + - + allow-protocol-relative-urls: true + + # No Vendor prefixes + # Prevent standard vendor prefixes + # must be on props list: https://github.com/sasstools/sass-lint/blob/master/data/properties.yml + no-vendor-prefixes: + - 2 + - + ignore-non-standard: true + + # No warn + # disallows warn + # e.g. bad: `@warn 'foo'` + no-warn: 2 + + # One declaration per line + # e.g. bad: + # .foo {content: 'baz', content: 'qux'}; + # + # .foo { + # content: 'baz'; content: 'qux'; + # } + one-declaration-per-line: 2 + + # up for debate.... + # which units to allow px, em etc. + property-units: 0 + + # Pseudo Element + # pseudo-elements must start with double colons + # e.g. good: `.foo::after` \ bad: `.foo:after` + # pseudo-classes must start with single colon + # e.g. good: `.foo:hover` \ bad: `.foo::hover` + pseudo-element: 2 + + # Url Quotes + # urls must have quotes + # e.g. good: `url('foo.png')` \ bad: `url(foo.png)` + url-quotes: 2 + + # Zero Unit + # requires all values of zero to omit a unit type + # e.g. good: `margin: 0` \ bad: `margin: 0px` + zero-unit: 2 + + # Code Styles + # -------------------- + + # Attributes must have a quote of "" surrounding the value, + # eg. good: `li[data-foo="bar"]` / bad: `li[data-foo=bar]` + attribute-quotes: + - 2 + - + include: true + + # Border prop must use `none` instead of `0` + border-zero: + - 2 + - + convention: 'none' + + # Brace style of: + # + # .foo { + # // Stuff + # } + # + # All others disallowed + brace-style: + - 2 + - + style: '1tbs' + allow-single-line: false + + # Classnaming conventions + # Hyphentated lowercase only + # e.g. `.foo-bar` + class-name-format: + - 2 + - + allow-leading-underscore: false + convention: hyphenatedlowercase + + # Clean Imports + # imports must omit `_` and extension + # e.g. @import 'foobar' / bad: @import '_foobar' or @import 'foobar.scss' + clean-import-paths: + - 2 + - + leading-underscore: false + filename-extension: false + + # Empty Line Between Blocks + # Add empty lines between blocks of styles + # disallow single line rule sets e.g. `.foobar { /* ... */ }` + empty-line-between-blocks: + - 2 + - + include: true + allow-single-line-rulesets: false + + # Extends before includes + # all `@extends` must be declared before all `@includes` + extends-before-mixins: 2 + + # Extends before declarations + # all `@extends` must be declared before any other prop declarations + extends-before-declarations: 2 + + # Function Naming + # all function names must be camelcase + # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` + function-name-format: + - 2 + - + allow-leading-underscore: false + convention: camelcase + + # Hex Length + # use hex shorts + # e.g. good: `#000` / bad: `#000000` + hex-length: + - 2 + - + style: short + + # Hex Notation + # hex values should be lowercase + # e.g. good: `#fff` / bad: `#FFF` + hex-notation: + - 2 + - + style: lowercase + + # Indentation + # indent all codes by a tab (2 spaces) + indentation: + - 2 + - + size: tab # defaults to `2` + + # Leading Zero + # values must include a 0 + # e.g. good: `0.5em` / bad: `.5em` + leading-zero: + - 2 + - + include: true + + # Nesting Depth + # items may only be nested 2 levels deep + nesting-depth: + - 2 + - + max-depth: 2 + + # Css Comments + # disallows css comments + # e.g. good: `// comment` / bad: `/* comment */` + no-css-comments: 2 + + # Property Sort order + # make sure properties are in sorted format + property-sort-order: + - 2 + - + # docs: https://github.com/sasstools/sass-lint/blob/develop/lib/config/property-sort-orders/concentric.yml + order: concentric + + # Quotes + # only single quotes allowed + quotes: + - 2 + - + style: single + + # Short hand values + # will force items to short hand + # e.g. good: `margin: 1px 2px` \ bad: `margin: 1px 2px 1px 2px` + shorthand-values: + - 2 + - + allowed-shorthands: + - 1 + - 2 + + # Single line per selector + # will force all selectors to a new line + # e.g. + # good: bad: + # .foo, .foo, .bar { + # .bar { ... + # ... } + # } + single-line-per-selector: 2 + + # Space after bang + # e.g. good: `content: 'bar' !default` \ bad: `content: 'bar' !default` + space-after-bang: + - 2 + - + include: false + + # Space after colon + # e.g. good: `content: 'bar';` \ bad: `content:'bar';` + space-after-colon: 2 + + # Space after comma + # e.g. good: `'foo', 'bar'` \ bad: `'foo','bar'` + space-after-comma: 2 + + # Space around operator + # e.g. good: `margin: 5px + 15px;` \ bad: `margin: 5px+15px;` + space-around-operator: 2 + + # Space before bang + # e.g. good: `foo !bar` \ bad: `foo!bar` + space-before-bang: 2 + + # Space before brace + # e.g. good: `.foo {` \ bad: `.foo{` + space-before-brace: 2 + + # Space between parens + # e.g. good: `foo(bar)` \ bad: `foo( bar )` + space-between-parens: 2 + + # Trailing semicolon + # all props must have a trailing `;` + trailing-semicolon: 2 + + # Variable Naming + # all variables should be camelCase + # e.g. good: `$fooBar` \ bad: `$foo-bar` or `$foo_bar` or `$_fooBar` + variable-name-format: + - 2 + - + convention: camelcase + allow-leading-underscore: false + + # Mixins + # -------------------- + + # Empty args + # Allow empty args in mixins + empty-args: + - 2 + - + include: false + + # Mixins befre declarations + # mixins (@includes) should be declared before other properties + mixins-before-declarations: 2 + + # Mixin Names + # mixins must be camelCase + # e.g. good: `fooBar()` / bad: `foo-bar()` or `_foobar()` + mixin-name-format: + - 2 + - + allow-leading-underscore: false + convention: camelCase From b6bdd40cef9e6985f7078f5aa5b4748ae0cf9be6 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Tue, 1 Nov 2016 11:28:49 -0500 Subject: [PATCH 08/12] broke into 2 packages --- package.json => js/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename package.json => js/package.json (91%) diff --git a/package.json b/js/package.json similarity index 91% rename from package.json rename to js/package.json index f5581c3..c1b51d6 100644 --- a/package.json +++ b/js/package.json @@ -1,5 +1,5 @@ { - "name": "lint-config-nhds", + "name": "eslint-config-nhds", "version": "1.0.0", "description": "Neighborhoods.com Facade Style Guide", "keywords": [ @@ -14,7 +14,7 @@ "bugs": { "url": "https://github.com/55places/Neighborhoods-JS-Linting/issues" }, - "main": "js/index.js", + "main": "index.js", "author": "Neighborhoods.com Team", "license": "MIT", "dependencies": { From 52c35d7fc35281a8cb6f54c0d6b331cfe2ce88ac Mon Sep 17 00:00:00 2001 From: ZRosenbauer Date: Tue, 1 Nov 2016 11:30:38 -0500 Subject: [PATCH 09/12] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1f3f231..f875ad1 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ # Neighborhoods.com Facade Style Guide -## Styling -Only supports `scss`, utilizes [sass-lint](https://github.com/sasstools/sass-lint) +## Scss +Uses [sass-lint](https://github.com/sasstools/sass-lint) to lint scss files. + +**package-name:** sass-lint-nhds ## Javascript *Based on [AirBnb's JavaScript Style Guide](https://github.com/airbnb/javascript)* + +**package-name:** eslint-config-nhds From a16c377c3c4034583a9e3c2e7044c7de9e3c028f Mon Sep 17 00:00:00 2001 From: ZRosenbauer Date: Wed, 2 Nov 2016 10:16:33 -0500 Subject: [PATCH 10/12] Update package.json --- js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/package.json b/js/package.json index c1b51d6..b38a13e 100644 --- a/js/package.json +++ b/js/package.json @@ -17,7 +17,7 @@ "main": "index.js", "author": "Neighborhoods.com Team", "license": "MIT", - "dependencies": { + "peerDependencies": { "eslint-plugin-import": "2.0.0", "eslint-plugin-jsx-a11y": "2.2.2", "eslint-plugin-react": "6.3.0", From aca1b2ec32173fcddce2c9e539a6b57ad21ae5b2 Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Wed, 2 Nov 2016 11:06:09 -0500 Subject: [PATCH 11/12] package.json --- scss/package.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 scss/package.json diff --git a/scss/package.json b/scss/package.json new file mode 100644 index 0000000..8bfc2fc --- /dev/null +++ b/scss/package.json @@ -0,0 +1,23 @@ +{ + "name": "sass-lint-nhds", + "version": "1.0.0", + "description": "Sass linter", + "main": "sass-lint.yaml", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/55places/Neighborhoods-JS-Linting.git" + }, + "keywords": [ + "sass", + "lint" + ], + "author": "Neighborhoods.com Team", + "license": "MIT", + "bugs": { + "url": "https://github.com/55places/Neighborhoods-JS-Linting/issues" + }, + "homepage": "https://github.com/55places/Neighborhoods-JS-Linting#readme" +} From ef57fbd5607ee692c7f6e8b4e3b5cbec397603ab Mon Sep 17 00:00:00 2001 From: Zac Rosenbauer Date: Thu, 3 Nov 2016 12:32:42 -0500 Subject: [PATCH 12/12] mergin on up --- js/package.json | 5 ++--- scss/package.json | 7 +++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/js/package.json b/js/package.json index b38a13e..0433285 100644 --- a/js/package.json +++ b/js/package.json @@ -1,7 +1,7 @@ { "name": "eslint-config-nhds", "version": "1.0.0", - "description": "Neighborhoods.com Facade Style Guide", + "description": "Neighborhoods.com Javascript Style Guide", "keywords": [ "nhds", "js-style", @@ -20,7 +20,6 @@ "peerDependencies": { "eslint-plugin-import": "2.0.0", "eslint-plugin-jsx-a11y": "2.2.2", - "eslint-plugin-react": "6.3.0", - "sass-lint": "1.9.1" + "eslint-plugin-react": "6.3.0" } } diff --git a/scss/package.json b/scss/package.json index 8bfc2fc..62e2f2a 100644 --- a/scss/package.json +++ b/scss/package.json @@ -1,7 +1,7 @@ { "name": "sass-lint-nhds", "version": "1.0.0", - "description": "Sass linter", + "description": "Neighborhoods.com Sass (SCSS) Style Guide", "main": "sass-lint.yaml", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -19,5 +19,8 @@ "bugs": { "url": "https://github.com/55places/Neighborhoods-JS-Linting/issues" }, - "homepage": "https://github.com/55places/Neighborhoods-JS-Linting#readme" + "homepage": "https://github.com/55places/Neighborhoods-JS-Linting#readme", + "peerDependencies": { + "sass-lint": "1.9.1" + } }