diff --git a/.eslintrc.js b/.eslintrc.js
index 96ffaf2..9ccd6d3 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,232 +1,31 @@
module.exports = {
- "env": {
- "node": true,
- "browser": true,
- "commonjs": true
- },
- "extends": "eslint:recommended",
- "rules": {
- "object-shorthand": "off",
- "accessor-pairs": "error",
- "array-bracket-spacing": "error",
- "array-callback-return": "off",
- "arrow-body-style": "error",
- "arrow-parens": "error",
- "arrow-spacing": "error",
- "block-scoped-var": "error",
- "block-spacing": "error",
- "brace-style": [
- "error",
- "1tbs"
- ],
- "callback-return": "off",
- "camelcase": "error",
- "comma-dangle": "error",
- "comma-spacing": "off",
- "comma-style": "error",
- "complexity": "error",
- "computed-property-spacing": [
- "error",
- "never"
- ],
- "consistent-return": "off",
- "consistent-this": "error",
- "curly": "off",
- "default-case": "error",
- "dot-location": "error",
- "dot-notation": [
- "error",
- {
- "allowKeywords": true
- }
- ],
- "eol-last": "error",
- "eqeqeq": [
- "error",
- "smart"
- ],
- "func-names": [
- "error",
- "never"
- ],
- "func-style": "off",
- "generator-star-spacing": "error",
- "global-require": "error",
- "guard-for-in": "error",
- "handle-callback-err": "error",
- "id-blacklist": "error",
- "id-length": "off",
- "id-match": "error",
- "indent": [
- "error",
- 2
- ],
- "init-declarations": "error",
- "jsx-quotes": "error",
- "key-spacing": "error",
- "keyword-spacing": "off",
- "linebreak-style": [
- "error",
- "unix"
- ],
- "lines-around-comment": "error",
- "max-depth": "error",
- "max-len": "off",
- "max-lines": "off",
- "max-nested-callbacks": "error",
- "max-params": "off",
- "max-statements": "off",
- "max-statements-per-line": "error",
- "multiline-ternary": "off",
- "new-cap": "error",
- "new-parens": "error",
- "newline-after-var": "off",
- "newline-before-return": "off",
- "newline-per-chained-call": "off",
- "no-alert": "error",
- "no-array-constructor": "error",
- "no-bitwise": "off",
- "no-caller": "error",
- "no-catch-shadow": "error",
- "no-confusing-arrow": "error",
- "no-continue": "error",
- "no-div-regex": "error",
- "no-duplicate-imports": "error",
- "no-else-return": "off",
- "no-empty-function": "error",
- "no-eq-null": "error",
- "no-eval": "error",
- "no-extend-native": "error",
- "no-extra-bind": "error",
- "no-extra-label": "error",
- "no-extra-parens": "off",
- "no-floating-decimal": "error",
- "no-implicit-globals": "off",
- "no-implied-eval": "error",
- "no-inline-comments": "error",
- "no-inner-declarations": [
- "error",
- "functions"
- ],
- "no-invalid-this": "error",
- "no-iterator": "error",
- "no-label-var": "error",
- "no-labels": "error",
- "no-lone-blocks": "error",
- "no-lonely-if": "off",
- "no-loop-func": "error",
- "no-magic-numbers": "off",
- "no-mixed-operators": "error",
- "no-mixed-requires": "error",
- "no-multi-spaces": "off",
- "no-multi-str": "error",
- "no-multiple-empty-lines": "error",
- "no-negated-condition": "off",
- "no-nested-ternary": "error",
- "no-new": "error",
- "no-new-func": "error",
- "no-new-object": "error",
- "no-new-require": "error",
- "no-new-wrappers": "error",
- "no-octal-escape": "error",
- "no-param-reassign": "off",
- "no-path-concat": "error",
- "no-plusplus": "off",
- "no-process-env": "error",
- "no-process-exit": "error",
- "no-proto": "error",
- "no-prototype-builtins": "off",
- "no-restricted-globals": "error",
- "no-restricted-imports": "error",
- "no-restricted-modules": "error",
- "no-restricted-syntax": "error",
- "no-return-assign": "error",
- "no-script-url": "error",
- "no-self-compare": "error",
- "no-sequences": "error",
- "no-shadow": "off",
- "no-shadow-restricted-names": "error",
- "no-spaced-func": "error",
- "no-sync": "off",
- "no-ternary": "error",
- "no-throw-literal": "error",
- "no-trailing-spaces": "error",
- "no-undef-init": "error",
- "no-undefined": "off",
- "no-underscore-dangle": "error",
- "no-unmodified-loop-condition": "error",
- "no-unneeded-ternary": "error",
- "no-unused-expressions": "error",
- "no-use-before-define": "off",
- "no-useless-call": "error",
- "no-useless-computed-key": "error",
- "no-useless-concat": "error",
- "no-useless-constructor": "error",
- "no-useless-escape": "error",
- "no-useless-rename": "error",
- "no-var": "off",
- "no-void": "error",
- "no-warning-comments": "error",
- "no-whitespace-before-property": "error",
- "no-with": "error",
- "object-curly-newline": "error",
- "object-curly-spacing": "error",
- "object-property-newline": "error",
- "one-var": "off",
- "one-var-declaration-per-line": "error",
- "operator-assignment": "off",
- "operator-linebreak": "error",
- "padded-blocks": "off",
- "prefer-arrow-callback": "off",
- "prefer-const": "error",
- "prefer-reflect": "off",
- "prefer-rest-params": "error",
- "prefer-spread": "off",
- "prefer-template": "off",
- "quote-props": "error",
- "quotes": "off",
- "radix": "error",
- "require-jsdoc": "off",
- "rest-spread-spacing": "error",
- "semi": "error",
- "semi-spacing": [
- "error",
- {
- "after": true,
- "before": false
- }
- ],
- "sort-imports": "error",
- "sort-vars": "error",
- "space-before-blocks": "error",
- "space-before-function-paren": "off",
- "space-in-parens": "off",
- "space-infix-ops": "off",
- "space-unary-ops": [
- "error",
- {
- "nonwords": false,
- "words": false
- }
- ],
- "spaced-comment": "off",
- "strict": [
- "error",
- "never"
- ],
- "template-curly-spacing": "error",
- "unicode-bom": [
- "error",
- "never"
- ],
- "valid-jsdoc": "error",
- "vars-on-top": "off",
- "wrap-iife": "error",
- "wrap-regex": "error",
- "yield-star-spacing": "error",
- "yoda": [
- "error",
- "never"
- ]
- }
-};
+ parser: "babel-eslint",
+ env: {
+ browser: true,
+ es6: true,
+ node: true
+ },
+ rules: {
+ indent: [
+ "error",
+ 2
+ ],
+ quotes: [2, "single"],
+ 'comma-dangle': ["error", "never"],
+ 'linebreak-style': [
+ "error",
+ "unix"
+ ],
+ quotes: [
+ "off"
+ ],
+ semi: [
+ "error",
+ "never"
+ ],
+ 'no-console': [
+ "off"
+ ],
+ 'no-restricted-imports': [0]
+ }
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 17cf94b..355fc70 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,5 @@ node_modules
npm-debug.log
*.swp
.DS_Store
-test.js
-package-lock.json
\ No newline at end of file
+package-lock.json
+playground
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
index 854b14a..45d0037 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,14 +1,14 @@
node_modules
-npm-debug.log
test
+playground
+npm-debug.log
.coveralls.yml
.eslintrc.js
.travis.yml
.babelrc
+.vscode
*.swp
.DS_Store
webpack.config.js
-test.js
-.vscode
spellbook.js
package-lock.json
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 8b5fff0..32b3976 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,6 @@
language: node_js
node_js:
- "node"
+ - "8"
- "7"
- - "6"
- - "5"
- - "4"
- - '0.12'
- - "iojs"
\ No newline at end of file
+ - "6"
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 34e1913..0690483 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -5,7 +5,7 @@
"type": "node",
"request": "launch",
"name": "Node.js",
- "program": "${workspaceRoot}/spellbook.js"
+ "program": "${workspaceRoot}/src/main.js"
}
]
}
\ No newline at end of file
diff --git a/README.md b/README.md
index 54643d9..4ad4416 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,13 @@ Spellbook
===
> Functional and asynchronous conjurations for Javascript
-http://www.spellbook.io
+http://spellbook.io
[![npm version](https://badge.fury.io/js/spellbook.svg)](https://badge.fury.io/js/spellbook) [![GitHub version](https://badge.fury.io/gh/warlock%2Fspellbook.svg)](https://badge.fury.io/gh/warlock%2Fspellbook) [![Build Status](https://travis-ci.org/warlock/spellbook.svg?branch=master)](https://travis-ci.org/warlock/spellbook) [![Known Vulnerabilities](https://snyk.io/test/github/warlock/spellbook/badge.svg)](https://snyk.io/test/github/warlock/spellbook)
## INSTALL/DOWNLOAD
```sh
-npm install spellbook
+npm install spellbook -S
```
## MINIFIED CDN
@@ -28,11 +28,11 @@ https://github.com/warlock/spellbook
## Node.Js : Import module:
```javascript
-var sb = require("spellbook");
+const sb = require("spellbook")
```
## Web : Import module:
-```javascript
+```html