Skip to content

Commit 8dcd1c2

Browse files
committed
adding dependencies, refactor build with grunt, orgranize folders
1 parent 8d0e307 commit 8dcd1c2

38 files changed

+3646
-6427
lines changed

.eslintrc.json

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true
5+
},
6+
"extends": "eslint:recommended",
7+
"globals": {
8+
"Atomics": "readonly",
9+
"SharedArrayBuffer": "readonly"
10+
},
11+
"parserOptions": {
12+
"ecmaVersion": 2018
13+
},
14+
"rules": {
15+
"accessor-pairs": "error",
16+
"array-bracket-newline": "error",
17+
"array-bracket-spacing": "error",
18+
"array-callback-return": "error",
19+
"array-element-newline": "error",
20+
"arrow-body-style": "error",
21+
"arrow-parens": "error",
22+
"arrow-spacing": "error",
23+
"block-scoped-var": "error",
24+
"block-spacing": "error",
25+
"brace-style": "error",
26+
"callback-return": "error",
27+
"camelcase": "error",
28+
"capitalized-comments": [
29+
"error",
30+
"never"
31+
],
32+
"class-methods-use-this": "error",
33+
"comma-dangle": "error",
34+
"comma-spacing": "off",
35+
"comma-style": "error",
36+
"complexity": "error",
37+
"computed-property-spacing": "error",
38+
"consistent-return": "error",
39+
"consistent-this": "error",
40+
"curly": "error",
41+
"default-case": "error",
42+
"default-param-last": "error",
43+
"dot-location": "error",
44+
"dot-notation": "error",
45+
"eol-last": "error",
46+
"eqeqeq": "error",
47+
"func-call-spacing": "error",
48+
"func-name-matching": "error",
49+
"func-names": "off",
50+
"func-style": "error",
51+
"function-paren-newline": "error",
52+
"generator-star-spacing": "error",
53+
"global-require": "error",
54+
"guard-for-in": "error",
55+
"handle-callback-err": "error",
56+
"id-blacklist": "error",
57+
"id-length": "off",
58+
"id-match": "error",
59+
"implicit-arrow-linebreak": "error",
60+
"indent": "error",
61+
"indent-legacy": "error",
62+
"init-declarations": "error",
63+
"jsx-quotes": "error",
64+
"key-spacing": "error",
65+
"keyword-spacing": "error",
66+
"line-comment-position": "error",
67+
"linebreak-style": [
68+
"error",
69+
"unix"
70+
],
71+
"lines-around-comment": "error",
72+
"lines-around-directive": "error",
73+
"lines-between-class-members": "error",
74+
"max-classes-per-file": "error",
75+
"max-depth": "error",
76+
"max-len": "error",
77+
"max-lines": "error",
78+
"max-lines-per-function": "error",
79+
"max-nested-callbacks": "error",
80+
"max-params": "error",
81+
"max-statements": "error",
82+
"max-statements-per-line": "error",
83+
"multiline-comment-style": "error",
84+
"multiline-ternary": "error",
85+
"new-cap": "error",
86+
"new-parens": "error",
87+
"newline-after-var": "off",
88+
"newline-before-return": "error",
89+
"newline-per-chained-call": "error",
90+
"no-alert": "error",
91+
"no-array-constructor": "error",
92+
"no-await-in-loop": "error",
93+
"no-bitwise": "error",
94+
"no-buffer-constructor": "error",
95+
"no-caller": "error",
96+
"no-catch-shadow": "error",
97+
"no-confusing-arrow": "error",
98+
"no-console": "error",
99+
"no-continue": "error",
100+
"no-div-regex": "error",
101+
"no-duplicate-imports": "error",
102+
"no-else-return": "error",
103+
"no-empty-function": "error",
104+
"no-eq-null": "error",
105+
"no-eval": "error",
106+
"no-extend-native": "error",
107+
"no-extra-bind": "error",
108+
"no-extra-label": "error",
109+
"no-extra-parens": "error",
110+
"no-floating-decimal": "error",
111+
"no-implicit-coercion": "error",
112+
"no-implicit-globals": "error",
113+
"no-implied-eval": "error",
114+
"no-import-assign": "error",
115+
"no-inline-comments": "error",
116+
"no-inner-declarations": [
117+
"error",
118+
"functions"
119+
],
120+
"no-invalid-this": "error",
121+
"no-iterator": "error",
122+
"no-label-var": "error",
123+
"no-labels": "error",
124+
"no-lone-blocks": "error",
125+
"no-lonely-if": "error",
126+
"no-loop-func": "error",
127+
"no-magic-numbers": "error",
128+
"no-mixed-operators": "error",
129+
"no-mixed-requires": "error",
130+
"no-multi-assign": "error",
131+
"no-multi-spaces": "error",
132+
"no-multi-str": "error",
133+
"no-multiple-empty-lines": "error",
134+
"no-native-reassign": "error",
135+
"no-negated-condition": "error",
136+
"no-negated-in-lhs": "error",
137+
"no-nested-ternary": "error",
138+
"no-new": "error",
139+
"no-new-func": "error",
140+
"no-new-object": "error",
141+
"no-new-require": "error",
142+
"no-new-wrappers": "error",
143+
"no-octal-escape": "error",
144+
"no-param-reassign": "error",
145+
"no-path-concat": "error",
146+
"no-plusplus": "error",
147+
"no-process-env": "error",
148+
"no-process-exit": "error",
149+
"no-proto": "error",
150+
"no-restricted-globals": "error",
151+
"no-restricted-imports": "error",
152+
"no-restricted-modules": "error",
153+
"no-restricted-properties": "error",
154+
"no-restricted-syntax": "error",
155+
"no-return-assign": "error",
156+
"no-return-await": "error",
157+
"no-script-url": "error",
158+
"no-self-compare": "error",
159+
"no-sequences": "error",
160+
"no-shadow": "error",
161+
"no-spaced-func": "error",
162+
"no-sync": "error",
163+
"no-tabs": "error",
164+
"no-template-curly-in-string": "error",
165+
"no-ternary": "error",
166+
"no-throw-literal": "error",
167+
"no-trailing-spaces": "error",
168+
"no-undef-init": "error",
169+
"no-undefined": "error",
170+
"no-underscore-dangle": "off",
171+
"no-unmodified-loop-condition": "error",
172+
"no-unneeded-ternary": "error",
173+
"no-unused-expressions": "error",
174+
"no-use-before-define": "error",
175+
"no-useless-call": "error",
176+
"no-useless-computed-key": "error",
177+
"no-useless-concat": "error",
178+
"no-useless-constructor": "error",
179+
"no-useless-rename": "error",
180+
"no-useless-return": "error",
181+
"no-var": "off",
182+
"no-void": "error",
183+
"no-warning-comments": "error",
184+
"no-whitespace-before-property": "error",
185+
"nonblock-statement-body-position": "error",
186+
"object-curly-newline": "error",
187+
"object-curly-spacing": "error",
188+
"object-property-newline": "error",
189+
"object-shorthand": "error",
190+
"one-var": "off",
191+
"one-var-declaration-per-line": "error",
192+
"operator-assignment": "error",
193+
"operator-linebreak": "error",
194+
"padded-blocks": "off",
195+
"padding-line-between-statements": "error",
196+
"prefer-arrow-callback": "error",
197+
"prefer-const": "error",
198+
"prefer-destructuring": "error",
199+
"prefer-named-capture-group": "error",
200+
"prefer-numeric-literals": "error",
201+
"prefer-object-spread": "error",
202+
"prefer-promise-reject-errors": "error",
203+
"prefer-reflect": "off",
204+
"prefer-regex-literals": "error",
205+
"prefer-rest-params": "off",
206+
"prefer-spread": "error",
207+
"prefer-template": "error",
208+
"quote-props": "off",
209+
"quotes": [
210+
"error",
211+
"single"
212+
],
213+
"radix": "error",
214+
"require-await": "error",
215+
"require-jsdoc": "error",
216+
"require-unicode-regexp": "error",
217+
"rest-spread-spacing": "error",
218+
"semi": "error",
219+
"semi-spacing": "error",
220+
"semi-style": [
221+
"error",
222+
"last"
223+
],
224+
"sort-imports": "error",
225+
"sort-keys": "error",
226+
"sort-vars": "error",
227+
"space-before-blocks": "error",
228+
"space-before-function-paren": "off",
229+
"space-in-parens": "off",
230+
"space-infix-ops": "error",
231+
"space-unary-ops": "error",
232+
"spaced-comment": [
233+
"error",
234+
"always"
235+
],
236+
"strict": [
237+
"error",
238+
"never"
239+
],
240+
"switch-colon-spacing": "error",
241+
"symbol-description": "error",
242+
"template-curly-spacing": "error",
243+
"template-tag-spacing": "error",
244+
"unicode-bom": [
245+
"error",
246+
"never"
247+
],
248+
"valid-jsdoc": "error",
249+
"vars-on-top": "off",
250+
"wrap-regex": "error",
251+
"yield-star-spacing": "error",
252+
"yoda": [
253+
"error",
254+
"never"
255+
]
256+
}
257+
}

Gruntfile.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
module.exports = function(grunt) {
2+
const projectMap = require('./grunt/project-map.js');
3+
const sassConfig = require('./grunt/sass');
4+
const eslintConfig = require('./grunt/eslint');
5+
const copyConfig = require('./grunt/copy');
6+
const uglifyConfig = require('./grunt/uglify');
7+
const usebannerConfig = require('./grunt/usebanner');
8+
const cleanConfig = require('./grunt/clean');
9+
10+
grunt.initConfig({
11+
pkg: grunt.file.readJSON('./package.json'),
12+
meta: {
13+
banner : '/*!\n' +
14+
' * <%= pkg.name %>\n' +
15+
' * v<%= pkg.version %>\n' +
16+
' * <%= pkg.description %>\n' +
17+
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %> - <%= pkg.homepage %>\n' +
18+
' * License: <%= pkg.license %>\n' +
19+
' */\n\n',
20+
filename : 'bootstrap-tooltip-custom-class'
21+
},
22+
sass: sassConfig,
23+
eslint: eslintConfig,
24+
copy: copyConfig,
25+
uglify: uglifyConfig,
26+
usebanner: usebannerConfig,
27+
clean: cleanConfig,
28+
});
29+
30+
grunt.loadNpmTasks('grunt-sass');
31+
grunt.loadNpmTasks('grunt-contrib-copy');
32+
grunt.loadNpmTasks('grunt-contrib-uglify');
33+
grunt.loadNpmTasks('grunt-contrib-clean');
34+
grunt.loadNpmTasks('grunt-banner');
35+
grunt.loadNpmTasks('grunt-eslint');
36+
37+
grunt.registerTask(
38+
'buildAll',
39+
[
40+
'clean',
41+
'sass',
42+
'eslint',
43+
'copy',
44+
'uglify',
45+
'usebanner'
46+
]
47+
);
48+
49+
Object.keys(projectMap).forEach(function (project) {
50+
grunt.registerTask(
51+
`build${project}`,
52+
[
53+
`clean:${project}`,
54+
`sass:${project}Compressed`,
55+
`sass:${project}Expanded`,
56+
`eslint:${project}`,
57+
`copy:${project}`,
58+
`uglify:${project}`,
59+
`usebanner:${project}`
60+
]
61+
);
62+
});
63+
64+
grunt.registerTask('default', ['buildAll']);
65+
};

0 commit comments

Comments
 (0)