From d706f7238023e2b8f7f29297d86ceb3eeffce0ad Mon Sep 17 00:00:00 2001 From: Stanislav Sysoev Date: Fri, 26 Feb 2016 23:29:48 +0300 Subject: [PATCH] feat(*): Initial commit --- .babelrc | 4 + .editorconfig | 9 ++ .eslintrc | 262 +++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 44 ++++++++ .istanbul.yml | 3 + .travis.yml | 14 +++ README.md | 65 ++++++++++++ package.json | 70 +++++++++++++ src/cli.js | 27 +++++ src/lib/index.js | 8 ++ test/index.js | 8 ++ 11 files changed, 514 insertions(+) create mode 100644 .babelrc create mode 100644 .editorconfig create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .istanbul.yml create mode 100644 .travis.yml create mode 100644 README.md create mode 100644 package.json create mode 100644 src/cli.js create mode 100644 src/lib/index.js create mode 100644 test/index.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..03df99e --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["es2015"], + "plugins": ["transform-function-bind"] +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6aa275d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +trim_trailing_whitespace = true diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..0e7b66f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,262 @@ +{ + "parser": "babel-eslint", + "env": { + "es6": true, + "node": true, + "mocha": true, + "browser": true + }, + "ecmaFeatures": { + "arrowFunctions": true, + "blockBindings": true, + "classes": true, + "defaultParams": true, + "destructuring": true, + "forOf": true, + "generators": false, + "modules": true, + "objectLiteralComputedProperties": true, + "objectLiteralDuplicateProperties": false, + "objectLiteralShorthandMethods": true, + "objectLiteralShorthandProperties": true, + "spread": true, + "superInFunctions": true, + "templateStrings": true, + "jsx": true + }, + "rules": { + // possible errors + "comma-dangle": [2, "never"], + "no-cond-assign": [2, "always"], + "no-console": [2], + "no-constant-condition": [2], + "no-control-regex": [2], + "no-debugger": [2], + "no-dupe-args": [2], + "no-dupe-keys": [2], + "no-duplicate-case": [2], + "no-empty": [2], + "no-empty-character-class": [2], + "no-ex-assign": [2], + "no-extra-boolean-cast": [2], + "no-extra-parens": [0], + "no-extra-semi": [2], + "no-func-assign": [2], + "no-inner-declarations": [2], + "no-invalid-regexp": [2], + "no-irregular-whitespace": [2], + "no-negated-in-lhs": [2], + "no-obj-calls": [2], + "no-regex-spaces": [2], + "no-sparse-arrays": [2], + "no-unexpected-multiline": [2], + "no-unreachable": [2], + "use-isnan": [2], + "valid-jsdoc": [2, { + "requireReturn": false, + "requireParamDescription": false, + "requireReturnDescription": false + }], + "valid-typeof": [2], + + // best practices + "accessor-pairs": [2], + "array-callback-return": [2], + "block-scoped-var": [2], + "complexity": [1, 8], + "consistent-return": [0], + "curly": [2, "multi-line"], + "default-case": [2], + "dot-location": [2, "property"], + "dot-notation": [2], + "eqeqeq": [2], + "guard-for-in": [0], + "no-alert": [2], + "no-caller": [2], + "no-case-declarations": [2], + "no-div-regex": [2], + "no-else-return": [2], + "no-empty-function": [2], + "no-empty-pattern": [2], + "no-eq-null": [2], + "no-eval": [2], + "no-extend-native": [2], + "no-extra-bind": [2], + "no-extra-label": [2], + "no-fallthrough": [2], + "no-floating-decimal": [2], + "no-implicit-coercion": [0], + "no-implicit-globals": [2], + "no-implied-eval": [2], + "no-invalid-this": [2], + "no-iterator": [2], + "no-labels": [2], + "no-lone-blocks": [2], + "no-loop-func": [2], + "no-magic-numbers": [1, { "ignoreArrayIndexes": true }], + "no-multi-spaces": [2], + "no-multi-str": [2], + "no-native-reassign": [2], + "no-new": [2], + "no-new-func": [2], + "no-new-wrappers": [2], + "no-octal": [2], + "no-octal-escape": [2], + "no-param-reassign": [0], + "no-process-env": [0], + "no-proto": [2], + "no-redeclare": [2], + "no-return-assign": [2], + "no-script-url": [2], + "no-self-assign": [2], + "no-self-compare": [2], + "no-sequences": [2], + "no-throw-literal": [2], + "no-unmodified-loop-condition": [2], + "no-unused-expressions": [2, { "allowShortCircuit": true }], + "no-unused-labels": [2], + "no-useless-call": [2], + "no-useless-concat": [2], + "no-void": [2], + "no-warning-comments": [0], + "no-with": [2], + "radix": [2], + "vars-on-top": [0], + "wrap-iife": [2, "inside"], + "yoda": [2, "never"], + + // strict + "strict": [0], + + // variables + "init-declarations": [0], + "no-catch-shadow": [2], + "no-delete-var": [2], + "no-label-var": [2], + "no-shadow": [2], + "no-shadow-restricted-names": [2], + "no-undef": [2], + "no-undef-init": [2], + "no-undefined": [2], + "no-unused-vars": [2], + "no-use-before-define": [2], + + // node.js + "callback-return": [0], + "global-require": [0], + "handle-callback-err": [2], + "no-mixed-requires": [2], + "no-new-require": [2], + "no-path-concat": [2], + "no-process-exit": [2], + "no-restricted-imports": [0], + "no-restricted-modules": [0], + "no-sync": [0], + + // stylistic + "array-bracket-spacing": [2, "never"], + "block-spacing": [2], + "brace-style": [2, "1tbs", { "allowSingleLine": true }], + "camelcase": [2, { "properties": "never" }], + "comma-spacing": [2, { + "before": false, + "after": true + }], + "comma-style": [2, "last"], + "computed-property-spacing": [2, "never"], + "consistent-this": [2, "_this"], + "eol-last": [2], + "func-names": [0], + "func-style": [0], + "indent": [2, 2], + "jsx-quotes": [2, "prefer-single"], + "key-spacing": [2, { + "beforeColon": false, + "afterColon": true + }], + "keyword-spacing": [2], + "linebreak-style": [2, "unix"], + "lines-around-comment": [2, { + "beforeBlockComment": true + }], + "max-depth": [2, 4], + "max-len": [2, 120, 4], + "max-nested-callbacks": [2, 4], + "max-params": [0], + "max-statements": [0], + "new-cap": [2], + "new-parens": [2], + "newline-after-var": [2], + "newline-per-chained-call": [0], + "no-array-constructor": [2], + "no-bitwise": [0], + "no-continue": [0], + "no-inline-comments": [0], + "no-lonely-if": [2], + "no-mixed-spaces-and-tabs": [2], + "no-multiple-empty-lines": [2], + "no-negated-condition": [0], + "no-nested-ternary": [2], + "no-new-object": [2], + "no-plusplus": [0], + "no-spaced-func": [2], + "no-ternary": [0], + "no-trailing-spaces": [2], + "no-underscore-dangle": [0], + "no-unneeded-ternary": [2], + "no-whitespace-before-property": [2], + "object-curly-spacing": [2, "always"], + "one-var": [2, { + "uninitialized": "always", + "initialized": "never" + }], + "one-var-declaration-per-line": [0], + "operator-assignment": [0], + "operator-linebreak": [2, "before"], + "padded-blocks": [0], + "quote-props": [2, "as-needed"], + "quotes": [2, "single"], + "require-jsdoc": [0], + "semi": [2, "always"], + "semi-spacing": [2, { + "before": false, + "after": true + }], + "sort-imports": [0], + "sort-vars": [0], + "space-before-blocks": [2, "always"], + "space-before-function-paren": [2, { + "anonymous": "always", + "named": "never" + }], + "space-in-parens": [2, "never"], + "space-infix-ops": [2], + "space-unary-ops": [2], + "spaced-comment": [2, "always"], + "wrap-regex": [2], + + // ecmascript6 + "arrow-body-style": [0], + "arrow-parens": [2], + "arrow-spacing": [2, { "before": true, "after": true }], + "constructor-super": [2], + "generator-star-spacing": [2, "after"], + "no-class-assign": [2], + "no-confusing-arrow": [0], + "no-const-assign": [2], + "no-dupe-class-members": [2], + "no-new-symbol": [2], + "no-this-before-super": [2], + "no-useless-constructor": [2], + "no-var": [2], + "object-shorthand": [0], + "prefer-arrow-callback": [0], + "prefer-const": [2], + "prefer-reflect": [0], + "prefer-rest-params": [0], + "prefer-spread": [0], + "prefer-template": [2], + "require-yield": [2], + "template-curly-spacing": [2, "never"] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..44386b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,44 @@ +# Custom +test/.temp + +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed + +# Coverage directory used by tools like istanbul +coverage +lib-cov +.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 directory +# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git +node_modules + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +# OS generated files +.DS_Store +.DS_Store? +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db diff --git a/.istanbul.yml b/.istanbul.yml new file mode 100644 index 0000000..ccc12d5 --- /dev/null +++ b/.istanbul.yml @@ -0,0 +1,3 @@ +instrumentation: + root: src/ + include-all-sources: true diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3d4b7cd --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +node_js: + - "0.12" + - "4" + - "5" +install: + - npm install +script: + - npm run check + - npm run build + - npm run validate +after_success: + - npm run coveralls + - npm run github-release diff --git a/README.md b/README.md new file mode 100644 index 0000000..3111568 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +

aik

+ +

+ + NPM Version + + + + License + + + + Github Issues + + + + + Travis Status + + + + + + Coveralls + + + + + + Commitizen Friendly + + +

+ +

+Frontend Dev REPL +

+ + +## Features +// TODO + +## Install + +```sh +npm install aik +``` + +## Usage + +```sh +// TODO +``` + +## Author + +Stanislav Sysoev d4rkr00t@gmail.com https://github.com/d4rkr00t/aik + +## License + +- **MIT** : http://opensource.org/licenses/MIT + +## Contributing + +Contributions are highly welcome! This repo is commitizen friendly — please read about it [here](http://commitizen.github.io/cz-cli/). diff --git a/package.json b/package.json new file mode 100644 index 0000000..41afbae --- /dev/null +++ b/package.json @@ -0,0 +1,70 @@ +{ + "name": "aik", + "version": "0.0.0", + "description": "Frontend Dev REPL", + "bin": "cli.js", + "main": "lib/index.js", + "files": [ + "lib/", + "cli.js" + ], + "keywords": [ + "node","frontend","repl","react","babel","webpack","playground","experiments","boostrap","boilerplate", "postcss", "cssmodules" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/d4rkr00t/aik" + }, + "scripts": { + "audit": "nsp check package", + "build": "babel -d ./ ./src", + "check": "npm run audit && npm outdated --depth 0", + "coverage": "nyc --require babel-core/register --reporter=lcov --reporter=text --reporter=html npm test", + "coveralls": "npm run coverage && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage", + "github-release": "conventional-github-releaser -p angular", + "lint": "eslint src test", + "test": "ava", + "test:watch": "chokidar 'test/*.js' 'src/**' -c 'npm test' --silent --initial", + "validate": "npm run lint && npm test", + "prepare": "npm run build && npm run validate && npm run check", + "pp": "npm run prepare", + "major": "pmm major", + "minor": "pmm minor", + "patch": "pmm patch" + }, + "author": { + "name": "Stanislav Sysoev", + "email": "d4rkr00t@gmail.com", + "url": "https://github.com/d4rkr00t/aik" + }, + "pre-commit": [ + "validate" + ], + "dependencies": { + "meow": "^3.7.0", + "chalk": "^1.1.1" + }, + "devDependencies": { + "ava": "^0.11.0", + "babel-cli": "^6.5.1", + "babel-core": "^6.5.2", + "babel-eslint": "^5.0.0", + "babel-plugin-transform-function-bind": "^6.5.2", + "babel-preset-es2015": "^6.5.0", + "chokidar-cli": "^1.2.0", + "conventional-github-releaser": "^1.1.0", + "coveralls": "^2.11.6", + "cz-conventional-changelog": "^1.1.5", + "eslint": "^2.2.0", + "nsp": "^2.2.0", + "nyc": "^5.6.0", + "pmm": "^1.3.0", + "pre-commit": "^1.1.2" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + } +} diff --git a/src/cli.js b/src/cli.js new file mode 100644 index 0000000..dbd3634 --- /dev/null +++ b/src/cli.js @@ -0,0 +1,27 @@ +#! /usr/bin/env node + +import meow from 'meow'; +import aik from './lib/'; + +const cli = meow({ + help: [ + 'Usage', + ' $ aik [input]', + '', + 'Options', + ' --foo Lorem ipsum. [Default: false]', + '', + 'Examples', + ' $ aik', + ' unicorns & rainbows', + ' $ aik ponies', + ' ponies & rainbows' + ] +}); + +const input = cli.input || []; +const flags = cli.flags || {}; + +console.log(cli.help); // eslint-disable-line + +aik(input, flags); diff --git a/src/lib/index.js b/src/lib/index.js new file mode 100644 index 0000000..4cdcf3b --- /dev/null +++ b/src/lib/index.js @@ -0,0 +1,8 @@ +/** + * Main function + * + * @return {Type} + */ +export default function () { + return true; +} diff --git a/test/index.js b/test/index.js new file mode 100644 index 0000000..84faa23 --- /dev/null +++ b/test/index.js @@ -0,0 +1,8 @@ +import test from 'ava'; +import 'babel-core/register'; + +import aik from '../src/lib/'; + +test('aik', (t) => { + t.is(aik(), true); +});