Compare commits

...

269 Commits

Author SHA1 Message Date
Francisco Hodge
f2479c47d2 Build update 2019-11-07 16:30:07 +00:00
Francisco Hodge
0e94d9c4e7 2.27.1 2019-11-07 16:30:00 +00:00
Francisco Hodge
d47d3d60ae Build update 2019-11-07 11:28:42 -05:00
Francisco Hodge
f2a97b6dcb Tests update 2019-11-07 11:26:27 -05:00
Francisco Hodge
70b99b44c6 Demo update 2019-11-07 11:26:19 -05:00
Francisco Hodge
0c481cb29a Fix activeButtonClass handling 2019-11-07 11:25:43 -05:00
Francisco Hodge
d92f84f5c3 Expand garbage collection 2019-11-07 11:25:18 -05:00
Francisco Hodge
6fe56c3abc Build update 2019-11-07 10:31:09 +00:00
Francisco Hodge
6578a8d867 2.26.25 2019-11-07 10:31:04 +00:00
dependabot-preview[bot]
b6303de61f Merge pull request #292 from hodgef/dependabot/npm_and_yarn/copy-webpack-plugin-5.0.5 2019-11-07 10:29:45 +00:00
dependabot-preview[bot]
4e888c5e91 Merge pull request #293 from hodgef/dependabot/npm_and_yarn/babel/core-7.7.2 2019-11-07 10:28:56 +00:00
dependabot-preview[bot]
d9c9e40800 Bump @babel/core from 7.7.0 to 7.7.2
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.0 to 7.7.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.0...v7.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-07 10:25:31 +00:00
dependabot-preview[bot]
6996e59871 Bump copy-webpack-plugin from 5.0.4 to 5.0.5
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.0.4...v5.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-07 10:23:51 +00:00
Francisco Hodge
35f26a4882 Build update 2019-11-06 10:53:05 +00:00
Francisco Hodge
e1c146d66e 2.26.24 2019-11-06 10:53:00 +00:00
dependabot-preview[bot]
c4382e586d Merge pull request #289 from hodgef/dependabot/npm_and_yarn/babel/preset-env-7.7.1 2019-11-06 10:51:42 +00:00
dependabot-preview[bot]
ff69ff516b Bump @babel/preset-env from 7.6.3 to 7.7.1
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 10:46:27 +00:00
Francisco Hodge
3c71de374c Build update 2019-11-06 10:45:05 +00:00
Francisco Hodge
57a1240505 2.26.23 2019-11-06 10:45:00 +00:00
dependabot-preview[bot]
6f3d749f19 Merge pull request #291 from hodgef/dependabot/npm_and_yarn/babel/core-7.7.0 2019-11-06 10:43:47 +00:00
dependabot-preview[bot]
a0dd220b1b Bump @babel/core from 7.6.4 to 7.7.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.4 to 7.7.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 10:38:08 +00:00
Francisco Hodge
30bbf0a44f Build update 2019-11-06 10:37:18 +00:00
Francisco Hodge
5a11fa9b1d 2.26.22 2019-11-06 10:37:13 +00:00
dependabot-preview[bot]
39830f3ca0 Merge pull request #290 from hodgef/dependabot/npm_and_yarn/babel/preset-react-7.7.0 2019-11-06 10:35:41 +00:00
dependabot-preview[bot]
ef91217dd2 Bump @babel/preset-react from 7.6.3 to 7.7.0
Bumps [@babel/preset-react](https://github.com/babel/babel) from 7.6.3 to 7.7.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 10:30:31 +00:00
Francisco Hodge
020fa57a97 Build update 2019-11-06 10:29:46 +00:00
Francisco Hodge
acd511de86 2.26.21 2019-11-06 10:29:40 +00:00
dependabot-preview[bot]
e4c0a1a767 Merge pull request #288 from hodgef/dependabot/npm_and_yarn/babel/plugin-proposal-class-properties-7.7.0 2019-11-06 10:28:08 +00:00
dependabot-preview[bot]
49a24dad17 Bump @babel/plugin-proposal-class-properties from 7.5.5 to 7.7.0
Bumps [@babel/plugin-proposal-class-properties](https://github.com/babel/babel) from 7.5.5 to 7.7.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.5.5...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 10:20:37 +00:00
Francisco Hodge
80ae730f4b Build update 2019-11-04 01:28:09 +00:00
Francisco Hodge
44347b8450 2.26.20 2019-11-04 01:28:03 +00:00
Francisco Hodge
2ac055b8d2 Update README.md 2019-11-03 20:26:45 -05:00
Francisco Hodge
9f772a1b28 Build update 2019-11-02 15:05:06 +00:00
Francisco Hodge
6df471aff7 2.26.19 2019-11-02 15:05:01 +00:00
Francisco Hodge
315ddc3892 Merge pull request #287 from Entkenntnis/master
Visual feedback on mobile&desktop
2019-11-02 08:03:48 -07:00
Francisco Hodge
68cbe73b23 Setting lighter tone for activeButton 2019-11-02 10:59:41 -04:00
Francisco Hodge
1cf6f3884f Build update 2019-11-02 14:26:07 +00:00
Francisco Hodge
1bfe7bac85 2.26.18 2019-11-02 14:26:02 +00:00
Francisco Hodge
cb44bdaaf1 Update pull_request_template.md 2019-11-02 10:24:52 -04:00
David Li
15f8ef056b don't change useTouchEventsAuto default 2019-11-02 09:23:12 +01:00
David Li
5b608d4f71 Visual feedback on mobile&desktop 2019-11-02 09:00:19 +01:00
Francisco Hodge
0c49b12341 Build update 2019-10-29 15:17:12 +00:00
Francisco Hodge
dcfd0f160d 2.26.17 2019-10-29 15:17:06 +00:00
Francisco Hodge
7206558540 Merge pull request #285 from vickylance/master
Changed the condition to >= to check for character string inputs like ".com"
2019-10-29 08:12:24 -07:00
Francisco Hodge
d1cdbd2d11 Update Utilities.js 2019-10-29 10:58:24 -04:00
Francisco Hodge
6cf99720c4 Update Utilities.test.js 2019-10-29 10:57:45 -04:00
Vignesh S
86caf021fa Update Utilities.js 2019-10-29 20:03:08 +05:30
Francisco Hodge
6c3df6725b Build update 2019-10-28 09:24:00 +00:00
Francisco Hodge
fb3daa3e7a 2.26.16 2019-10-28 09:23:54 +00:00
dependabot-preview[bot]
06f36cffda Merge pull request #284 from hodgef/dependabot/npm_and_yarn/eslint-6.6.0 2019-10-28 09:22:22 +00:00
dependabot-preview[bot]
38eb1d4975 Bump eslint from 6.5.1 to 6.6.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.5.1 to 6.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.5.1...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 09:17:47 +00:00
Francisco Hodge
eab836e4e9 Build update 2019-10-23 09:28:41 +00:00
Francisco Hodge
e2ff5e29c4 2.26.15 2019-10-23 09:28:36 +00:00
dependabot-preview[bot]
4a8bc0e16d Merge pull request #283 from hodgef/dependabot/npm_and_yarn/react-dom-16.11.0 2019-10-23 09:27:12 +00:00
dependabot-preview[bot]
9c896fd2f5 Merge pull request #280 from hodgef/dependabot/npm_and_yarn/webpack-dev-server-3.9.0 2019-10-23 09:25:18 +00:00
dependabot-preview[bot]
9a6fae4968 Merge pull request #282 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.2.1 2019-10-23 09:24:24 +00:00
dependabot-preview[bot]
a921edd637 Merge pull request #281 from hodgef/dependabot/npm_and_yarn/eslint-plugin-react-hooks-2.2.0 2019-10-23 09:23:26 +00:00
Francisco Hodge
0471e84958 Build update 2019-10-23 09:22:38 +00:00
Francisco Hodge
757504d929 2.26.14 2019-10-23 09:22:33 +00:00
dependabot-preview[bot]
b013025762 Bump react-dom from 16.10.2 to 16.11.0
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.10.2 to 16.11.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.11.0/packages/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 09:22:28 +00:00
dependabot-preview[bot]
ae993c4a58 Merge pull request #279 from hodgef/dependabot/npm_and_yarn/react-16.11.0 2019-10-23 09:20:00 +00:00
dependabot-preview[bot]
587933f14b Bump terser-webpack-plugin from 2.1.3 to 2.2.1
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.1.3 to 2.2.1.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.1.3...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 09:19:38 +00:00
dependabot-preview[bot]
1e21d0e759 Bump eslint-plugin-react-hooks from 2.1.2 to 2.2.0
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 09:18:40 +00:00
dependabot-preview[bot]
775c4866b3 Bump webpack-dev-server from 3.8.2 to 3.9.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.2 to 3.9.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.2...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 09:16:55 +00:00
dependabot-preview[bot]
e2e7dbd571 Bump react from 16.10.2 to 16.11.0
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.10.2 to 16.11.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.11.0/packages/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-23 09:14:31 +00:00
Francisco Hodge
2b1a875f01 Build update 2019-10-16 03:16:16 +00:00
Francisco Hodge
c4713082f8 2.26.13 2019-10-16 03:16:11 +00:00
dependabot-preview[bot]
1282464e3b Merge pull request #277 from hodgef/dependabot/npm_and_yarn/dotenv-8.2.0 2019-10-16 03:14:42 +00:00
dependabot-preview[bot]
368cf1588d Merge pull request #276 from hodgef/dependabot/npm_and_yarn/webpack-4.41.2 2019-10-16 03:13:14 +00:00
dependabot-preview[bot]
997e448ed2 Bump dotenv from 8.1.0 to 8.2.0
Bumps [dotenv](https://github.com/motdotla/dotenv) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v8.1.0...v8.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-16 03:10:35 +00:00
dependabot-preview[bot]
460cd8753d Bump webpack from 4.41.1 to 4.41.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.1 to 4.41.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.1...v4.41.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-16 03:08:54 +00:00
Francisco Hodge
2c0bce1d93 Build update 2019-10-15 21:01:59 +00:00
Francisco Hodge
d5caa8161c 2.26.12 2019-10-15 21:01:53 +00:00
Francisco Hodge
ce24a1b5e0 Update README.md 2019-10-15 17:00:15 -04:00
Francisco Hodge
3f465f2514 Build update 2019-10-13 16:05:32 +00:00
Francisco Hodge
91b66183cb 2.26.11 2019-10-13 16:05:26 +00:00
Francisco Hodge
a71bf0c81d Update README.md 2019-10-13 12:03:48 -04:00
Francisco Hodge
9e7bc9f303 Build update 2019-10-13 04:22:59 +00:00
Francisco Hodge
b03864d0e5 2.26.10 2019-10-13 04:22:54 +00:00
Francisco Hodge
be0f4a016d Update publish.yml 2019-10-13 00:21:46 -04:00
Francisco Hodge
3472031203 Build Update 2019-10-13 04:16:26 +00:00
Francisco Hodge
7c5def8e40 2.26.9 2019-10-13 04:16:20 +00:00
Francisco Hodge
2af26a861f Update publish.yml 2019-10-13 00:15:12 -04:00
Francisco Hodge
7ed08cff0d Build Update 2019-10-13 03:28:40 +00:00
Francisco Hodge
8c2ad22c48 2.26.8 2019-10-13 03:28:35 +00:00
Francisco Hodge
c6e96c5fa4 Update publish.yml 2019-10-12 23:27:28 -04:00
Francisco Hodge
71b451f02a Update publish.yml 2019-10-12 23:23:48 -04:00
Francisco Hodge
9aa1490087 2.26.7 2019-10-13 03:11:46 +00:00
Francisco Hodge
f1b6d5cbd8 Build Update 2019-10-13 03:11:45 +00:00
Francisco Hodge
46302acff0 Update publish.yml 2019-10-12 23:10:36 -04:00
Francisco Hodge
a43b32954d Update publish.yml 2019-10-12 23:01:48 -04:00
Francisco Hodge
3764e7b6f9 Update publish.yml 2019-10-12 22:58:04 -04:00
Francisco Hodge
17ac7b56de Update publish.yml 2019-10-12 22:54:08 -04:00
Francisco Hodge
991a5c58c8 Create publish.yml 2019-10-12 22:44:26 -04:00
Francisco Hodge
a7323fa8ce Delete publish.yml 2019-10-12 22:36:15 -04:00
Francisco Hodge
45396c0a0f Create publish.yml 2019-10-12 15:18:28 -04:00
Francisco Hodge
116f90910d Publishing workflow 2019-10-12 15:17:39 -04:00
dependabot-preview[bot]
14c7d33664 Merge pull request #273 from hodgef/dependabot/npm_and_yarn/babel/preset-env-7.6.3 2019-10-12 09:29:59 +00:00
dependabot-preview[bot]
7906ff209f Merge pull request #271 from hodgef/dependabot/npm_and_yarn/webpack-4.41.1 2019-10-12 09:29:27 +00:00
dependabot-preview[bot]
e2522931a7 Merge pull request #272 from hodgef/dependabot/npm_and_yarn/babel/preset-react-7.6.3 2019-10-12 09:28:04 +00:00
dependabot-preview[bot]
a9b475782f Bump @babel/preset-env from 7.6.2 to 7.6.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.2 to 7.6.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-12 09:26:25 +00:00
dependabot-preview[bot]
49f3357975 Bump webpack from 4.41.0 to 4.41.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.0 to 4.41.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.0...v4.41.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-12 09:26:23 +00:00
dependabot-preview[bot]
bddc1ccdf1 Bump @babel/preset-react from 7.0.0 to 7.6.3
Bumps [@babel/preset-react](https://github.com/babel/babel) from 7.0.0 to 7.6.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.0.0...v7.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-12 09:24:44 +00:00
dependabot-preview[bot]
735928e7fc Merge pull request #270 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.1.3 2019-10-12 09:24:14 +00:00
dependabot-preview[bot]
b6130d2834 Bump terser-webpack-plugin from 2.1.2 to 2.1.3
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.1.2...v2.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-12 09:20:51 +00:00
dependabot-preview[bot]
949876e7f4 Merge pull request #269 from hodgef/dependabot/npm_and_yarn/babel/core-7.6.4 2019-10-12 09:17:09 +00:00
dependabot-preview[bot]
fd82ea8f3f Bump @babel/core from 7.6.2 to 7.6.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.2 to 7.6.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.2...v7.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-12 09:13:45 +00:00
Francisco Hodge
7c4c40cfd4 Build update 2019-10-08 18:17:41 -04:00
Francisco Hodge
4505438932 Build update 2019-10-08 18:11:01 -04:00
Francisco Hodge
6280875f4c Updated devDependencies 2019-10-08 18:10:53 -04:00
Francisco Hodge
46c809cbf9 Removing unneeded arg in syncInstanceInputs 2019-10-08 18:10:34 -04:00
dependabot-preview[bot]
f71917377f Merge pull request #265 from hodgef/dependabot/npm_and_yarn/webpack-dev-server-3.8.2 2019-10-05 09:35:49 +00:00
dependabot-preview[bot]
3321b92f73 Bump webpack-dev-server from 3.8.1 to 3.8.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.1...v3.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:31:31 +00:00
dependabot-preview[bot]
bb830ad60a Merge pull request #267 from hodgef/dependabot/npm_and_yarn/eslint-6.5.1 2019-10-05 09:31:25 +00:00
dependabot-preview[bot]
978f969634 Merge pull request #261 from hodgef/dependabot/npm_and_yarn/react-16.10.2 2019-10-05 09:30:56 +00:00
dependabot-preview[bot]
be7365ec64 Merge pull request #266 from hodgef/dependabot/npm_and_yarn/url-loader-2.2.0 2019-10-05 09:29:16 +00:00
dependabot-preview[bot]
f16798e1b0 Bump eslint from 6.4.0 to 6.5.1
Bumps [eslint](https://github.com/eslint/eslint) from 6.4.0 to 6.5.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.4.0...v6.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:26:49 +00:00
dependabot-preview[bot]
1824635d47 Bump react from 16.10.0 to 16.10.2
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.10.0 to 16.10.2.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.10.2/packages/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:26:26 +00:00
dependabot-preview[bot]
50d08c848f Bump url-loader from 2.1.0 to 2.2.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v2.1.0...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:24:49 +00:00
dependabot-preview[bot]
300ea34eea Merge pull request #264 from hodgef/dependabot/npm_and_yarn/eslint-plugin-react-7.16.0 2019-10-05 09:24:16 +00:00
dependabot-preview[bot]
85a467b6a6 Merge pull request #263 from hodgef/dependabot/npm_and_yarn/webpack-manifest-plugin-2.2.0 2019-10-05 09:23:05 +00:00
dependabot-preview[bot]
9467e4ffe3 Merge pull request #262 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.1.2 2019-10-05 09:22:29 +00:00
dependabot-preview[bot]
7cfaf5e1c0 Merge pull request #260 from hodgef/dependabot/npm_and_yarn/react-dom-16.10.2 2019-10-05 09:20:52 +00:00
dependabot-preview[bot]
24497cfd97 Bump eslint-plugin-react from 7.14.3 to 7.16.0
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.14.3 to 7.16.0.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.14.3...v7.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:20:09 +00:00
dependabot-preview[bot]
6203c9cbd1 Merge pull request #259 from hodgef/dependabot/npm_and_yarn/react-app-polyfill-1.0.4 2019-10-05 09:19:35 +00:00
dependabot-preview[bot]
27cf742fd1 Bump webpack-manifest-plugin from 2.1.2 to 2.2.0
Bumps [webpack-manifest-plugin](https://github.com/danethurber/webpack-manifest-plugin) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/danethurber/webpack-manifest-plugin/releases)
- [Commits](https://github.com/danethurber/webpack-manifest-plugin/compare/v2.1.2...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:19:01 +00:00
dependabot-preview[bot]
760def8e49 Merge pull request #258 from hodgef/dependabot/npm_and_yarn/react-dev-utils-9.1.0 2019-10-05 09:18:38 +00:00
dependabot-preview[bot]
bbaae9bdb4 Bump terser-webpack-plugin from 2.1.1 to 2.1.2
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.1.1...v2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:18:14 +00:00
dependabot-preview[bot]
baedb1dff4 Merge pull request #257 from hodgef/dependabot/npm_and_yarn/eslint-plugin-react-hooks-2.1.2 2019-10-05 09:17:53 +00:00
dependabot-preview[bot]
7f52cb603c Bump react-dom from 16.10.0 to 16.10.2
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.10.0 to 16.10.2.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.10.2/packages/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:16:24 +00:00
dependabot-preview[bot]
ef4d072708 Bump react-app-polyfill from 1.0.3 to 1.0.4
Bumps [react-app-polyfill](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-app-polyfill) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-app-polyfill@1.0.4/packages/react-app-polyfill)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:15:34 +00:00
dependabot-preview[bot]
52ebbe6198 Bump react-dev-utils from 9.0.4 to 9.1.0
Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 9.0.4 to 9.1.0.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-dev-utils@9.1.0/packages/react-dev-utils)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:14:30 +00:00
dependabot-preview[bot]
f7c46fad05 Bump eslint-plugin-react-hooks from 2.1.0 to 2.1.2
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-05 09:13:42 +00:00
dependabot-preview[bot]
ec4864ad2a Merge pull request #249 from hodgef/dependabot/npm_and_yarn/webpack-4.41.0 2019-09-28 09:35:45 +00:00
dependabot-preview[bot]
da7112ea2b Merge pull request #248 from hodgef/dependabot/npm_and_yarn/react-16.10.0 2019-09-28 09:32:54 +00:00
dependabot-preview[bot]
7d4e17f405 Merge pull request #253 from hodgef/dependabot/npm_and_yarn/babel/preset-env-7.6.2 2019-09-28 09:32:19 +00:00
dependabot-preview[bot]
c40472f505 Bump webpack from 4.40.2 to 4.41.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.40.2 to 4.41.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.40.2...v4.41.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:31:25 +00:00
dependabot-preview[bot]
fa5e9c55c4 Merge pull request #255 from hodgef/dependabot/npm_and_yarn/webpack-manifest-plugin-2.1.2 2019-09-28 09:29:15 +00:00
dependabot-preview[bot]
a3c7c75455 Bump react from 16.9.0 to 16.10.0
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 16.9.0 to 16.10.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.10.0/packages/react)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:28:11 +00:00
dependabot-preview[bot]
a4ca5df208 Bump @babel/preset-env from 7.6.0 to 7.6.2
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.0...v7.6.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:28:06 +00:00
dependabot-preview[bot]
f75194bfd1 Merge pull request #254 from hodgef/dependabot/npm_and_yarn/react-dom-16.10.0 2019-09-28 09:26:55 +00:00
dependabot-preview[bot]
ebfc849029 Merge pull request #251 from hodgef/dependabot/npm_and_yarn/svgr/webpack-4.3.3 2019-09-28 09:25:52 +00:00
dependabot-preview[bot]
9f842afa91 Merge pull request #252 from hodgef/dependabot/npm_and_yarn/eslint-loader-3.0.2 2019-09-28 09:24:21 +00:00
dependabot-preview[bot]
d63f03afb7 Bump webpack-manifest-plugin from 2.0.4 to 2.1.2
Bumps [webpack-manifest-plugin](https://github.com/danethurber/webpack-manifest-plugin) from 2.0.4 to 2.1.2.
- [Release notes](https://github.com/danethurber/webpack-manifest-plugin/releases)
- [Commits](https://github.com/danethurber/webpack-manifest-plugin/compare/v2.0.4...v2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:23:26 +00:00
dependabot-preview[bot]
80801cb254 Merge pull request #250 from hodgef/dependabot/npm_and_yarn/eslint-plugin-react-hooks-2.1.0 2019-09-28 09:22:29 +00:00
dependabot-preview[bot]
b626a0750b Bump react-dom from 16.9.0 to 16.10.0
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) from 16.9.0 to 16.10.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v16.10.0/packages/react-dom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:22:23 +00:00
dependabot-preview[bot]
ec2c4545ea Bump eslint-loader from 3.0.0 to 3.0.2
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 3.0.0 to 3.0.2.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v3.0.0...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:20:04 +00:00
dependabot-preview[bot]
b201c68cb2 Merge pull request #247 from hodgef/dependabot/npm_and_yarn/babel/core-7.6.2 2019-09-28 09:19:59 +00:00
dependabot-preview[bot]
0c9d843040 Bump @svgr/webpack from 4.3.2 to 4.3.3
Bumps [@svgr/webpack](https://github.com/smooth-code/svgr) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/smooth-code/svgr/releases)
- [Changelog](https://github.com/smooth-code/svgr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smooth-code/svgr/compare/v4.3.2...v4.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:19:17 +00:00
dependabot-preview[bot]
3c29289a11 Merge pull request #246 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.1.1 2019-09-28 09:18:54 +00:00
dependabot-preview[bot]
767b11f092 Bump eslint-plugin-react-hooks from 2.0.1 to 2.1.0
Bumps [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:18:11 +00:00
dependabot-preview[bot]
d8dda787ae Merge pull request #245 from hodgef/dependabot/npm_and_yarn/is-wsl-2.1.1 2019-09-28 09:18:06 +00:00
dependabot-preview[bot]
aa689d67cf Bump @babel/core from 7.6.0 to 7.6.2
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.0...v7.6.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:15:20 +00:00
dependabot-preview[bot]
64dbe67c7b Bump terser-webpack-plugin from 2.1.0 to 2.1.1
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:14:33 +00:00
dependabot-preview[bot]
5fae64363d Bump is-wsl from 2.1.0 to 2.1.1
Bumps [is-wsl](https://github.com/sindresorhus/is-wsl) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/sindresorhus/is-wsl/releases)
- [Commits](https://github.com/sindresorhus/is-wsl/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-28 09:13:46 +00:00
Francisco Hodge
1d01e3e433 Build update 2019-09-26 11:13:56 -04:00
Francisco Hodge
a3240e4315 Fixed issue in preventMouseDownDefault 2019-09-26 11:13:43 -04:00
Francisco Hodge
0872203d9e Update README.md 2019-09-25 11:50:04 -04:00
Francisco Hodge
5912880ae5 Update README.md 2019-09-25 11:41:12 -04:00
Francisco Hodge
84bda916ef Update README.md 2019-09-25 11:34:23 -04:00
dependabot-preview[bot]
95ba625268 Merge pull request #239 from hodgef/dependabot/npm_and_yarn/babel-preset-react-app-9.0.2 2019-09-21 09:23:01 +00:00
dependabot-preview[bot]
a9d56531d9 Merge pull request #238 from hodgef/dependabot/npm_and_yarn/react-app-polyfill-1.0.3 2019-09-21 09:22:13 +00:00
dependabot-preview[bot]
9a848dc9fe Merge pull request #237 from hodgef/dependabot/npm_and_yarn/babel-plugin-named-asset-import-0.3.4 2019-09-21 09:21:53 +00:00
dependabot-preview[bot]
c48517520b Merge pull request #236 from hodgef/dependabot/npm_and_yarn/react-dev-utils-9.0.4 2019-09-21 09:19:50 +00:00
dependabot-preview[bot]
91db170318 Merge pull request #235 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.1.0 2019-09-21 09:19:24 +00:00
dependabot-preview[bot]
d1aff62d67 Bump babel-preset-react-app from 9.0.1 to 9.0.2
Bumps [babel-preset-react-app](https://github.com/facebook/create-react-app/tree/HEAD/packages/babel-preset-react-app) from 9.0.1 to 9.0.2.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/babel-preset-react-app@9.0.2/packages/babel-preset-react-app)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:18:38 +00:00
dependabot-preview[bot]
c627b05971 Merge pull request #234 from hodgef/dependabot/npm_and_yarn/webpack-dev-server-3.8.1 2019-09-21 09:18:20 +00:00
dependabot-preview[bot]
a21d490505 Bump react-app-polyfill from 1.0.2 to 1.0.3
Bumps [react-app-polyfill](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-app-polyfill) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-app-polyfill@1.0.3/packages/react-app-polyfill)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:17:47 +00:00
dependabot-preview[bot]
696e641519 Bump babel-plugin-named-asset-import from 0.3.3 to 0.3.4
Bumps [babel-plugin-named-asset-import](https://github.com/facebook/create-react-app/tree/HEAD/packages/babel-plugin-named-asset-import) from 0.3.3 to 0.3.4.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/babel-plugin-named-asset-import@0.3.4/packages/babel-plugin-named-asset-import)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:17:02 +00:00
dependabot-preview[bot]
6a95ba8959 Bump react-dev-utils from 9.0.3 to 9.0.4
Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 9.0.3 to 9.0.4.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-dev-utils@9.0.4/packages/react-dev-utils)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:15:10 +00:00
dependabot-preview[bot]
9e3618fcea Bump terser-webpack-plugin from 2.0.1 to 2.1.0
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.0.1...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:13:55 +00:00
dependabot-preview[bot]
4d0860fa91 Bump webpack-dev-server from 3.8.0 to 3.8.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.8.0...v3.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-21 09:13:09 +00:00
Francisco Hodge
78f01d4675 Updated devDependencies 2019-09-19 18:04:13 -04:00
dependabot-preview[bot]
4440b26a88 Merge pull request #231 from hodgef/dependabot/npm_and_yarn/css-loader-3.2.0 2019-09-14 09:20:59 +00:00
dependabot-preview[bot]
41c76b1b6e Merge pull request #230 from hodgef/dependabot/npm_and_yarn/eslint-6.4.0 2019-09-14 09:20:09 +00:00
dependabot-preview[bot]
d2a271c9f3 Merge pull request #229 from hodgef/dependabot/npm_and_yarn/webpack-4.40.2 2019-09-14 09:19:19 +00:00
dependabot-preview[bot]
a5af9cd47c Bump css-loader from 2.1.1 to 3.2.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 2.1.1 to 3.2.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v2.1.1...v3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-14 09:16:35 +00:00
dependabot-preview[bot]
1dcb7972f4 Bump eslint from 6.3.0 to 6.4.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.3.0...v6.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-14 09:15:49 +00:00
dependabot-preview[bot]
771ef9876f Bump webpack from 4.39.3 to 4.40.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.39.3 to 4.40.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.39.3...v4.40.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-14 09:14:52 +00:00
dependabot-preview[bot]
2a042fbaff Merge pull request #226 from hodgef/dependabot/npm_and_yarn/babel/preset-env-7.6.0 2019-09-07 09:27:11 +00:00
dependabot-preview[bot]
b2591e38e8 Merge pull request #225 from hodgef/dependabot/npm_and_yarn/terser-webpack-plugin-2.0.1 2019-09-07 09:20:57 +00:00
dependabot-preview[bot]
fc9054010c Bump @babel/preset-env from 7.5.5 to 7.6.0
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.5.5 to 7.6.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.5.5...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-07 09:20:51 +00:00
dependabot-preview[bot]
ff2435abd8 Merge pull request #224 from hodgef/dependabot/npm_and_yarn/fs-extra-8.1.0 2019-09-07 09:20:19 +00:00
dependabot-preview[bot]
66491c60e5 Merge pull request #223 from hodgef/dependabot/npm_and_yarn/babel/core-7.6.0 2019-09-07 09:18:38 +00:00
dependabot-preview[bot]
1f4b7c2fac Merge pull request #222 from hodgef/dependabot/npm_and_yarn/jest-24.9.0 2019-09-07 09:17:53 +00:00
dependabot-preview[bot]
1ff5759591 Bump terser-webpack-plugin from 1.4.1 to 2.0.1
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 1.4.1 to 2.0.1.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v1.4.1...v2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-07 09:16:08 +00:00
dependabot-preview[bot]
9517ea3e34 Bump fs-extra from 7.0.1 to 8.1.0
Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 7.0.1 to 8.1.0.
- [Release notes](https://github.com/jprichardson/node-fs-extra/releases)
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jprichardson/node-fs-extra/compare/7.0.1...8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-07 09:15:00 +00:00
dependabot-preview[bot]
98d5da1475 Bump @babel/core from 7.5.5 to 7.6.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.5.5 to 7.6.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.5.5...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-07 09:14:12 +00:00
dependabot-preview[bot]
fbdee610cd Bump jest from 24.8.0 to 24.9.0
Bumps [jest](https://github.com/facebook/jest) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v24.8.0...v24.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-07 09:13:25 +00:00
dependabot-preview[bot]
234373e228 Merge pull request #218 from hodgef/dependabot/npm_and_yarn/webpack-4.39.3 2019-08-31 09:40:30 +00:00
dependabot-preview[bot]
e0e932cc06 Merge pull request #213 from hodgef/dependabot/npm_and_yarn/eslint-6.3.0 2019-08-31 09:31:15 +00:00
dependabot-preview[bot]
6c5d6719b4 Bump webpack from 4.39.1 to 4.39.3
Bumps [webpack](https://github.com/webpack/webpack) from 4.39.1 to 4.39.3.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.39.1...v4.39.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:28:20 +00:00
dependabot-preview[bot]
554dfcb76b Bump eslint from 6.2.2 to 6.3.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.2.2...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:27:39 +00:00
dependabot-preview[bot]
a5b2fc2329 Merge pull request #220 from hodgef/dependabot/npm_and_yarn/ts-pnp-1.1.4 2019-08-31 09:26:02 +00:00
dependabot-preview[bot]
ea11244926 Merge pull request #215 from hodgef/dependabot/npm_and_yarn/eslint-loader-3.0.0 2019-08-31 09:25:21 +00:00
dependabot-preview[bot]
4852400915 Merge pull request #219 from hodgef/dependabot/npm_and_yarn/babel-eslint-10.0.3 2019-08-31 09:23:38 +00:00
dependabot-preview[bot]
5ee4f3fb28 Merge pull request #217 from hodgef/dependabot/npm_and_yarn/file-loader-4.2.0 2019-08-31 09:22:33 +00:00
dependabot-preview[bot]
fbc04e9e28 Bump ts-pnp from 1.1.2 to 1.1.4
Bumps [ts-pnp](https://github.com/arcanis/ts-pnp) from 1.1.2 to 1.1.4.
- [Release notes](https://github.com/arcanis/ts-pnp/releases)
- [Commits](https://github.com/arcanis/ts-pnp/compare/v1.1.2...v1.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:22:03 +00:00
dependabot-preview[bot]
52dedb669a Merge pull request #216 from hodgef/dependabot/npm_and_yarn/is-wsl-2.1.0 2019-08-31 09:21:34 +00:00
dependabot-preview[bot]
d52d580f7a Bump babel-eslint from 10.0.2 to 10.0.3
Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/babel/babel-eslint/releases)
- [Commits](https://github.com/babel/babel-eslint/compare/v10.0.2...v10.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:19:37 +00:00
dependabot-preview[bot]
1513110de2 Merge pull request #214 from hodgef/dependabot/npm_and_yarn/postcss-normalize-8.0.1 2019-08-31 09:18:58 +00:00
dependabot-preview[bot]
c271643857 Bump file-loader from 3.0.1 to 4.2.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 3.0.1 to 4.2.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v3.0.1...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:18:08 +00:00
dependabot-preview[bot]
475c4efc14 Bump is-wsl from 1.1.0 to 2.1.0
Bumps [is-wsl](https://github.com/sindresorhus/is-wsl) from 1.1.0 to 2.1.0.
- [Release notes](https://github.com/sindresorhus/is-wsl/releases)
- [Commits](https://github.com/sindresorhus/is-wsl/compare/v1.1.0...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:17:22 +00:00
dependabot-preview[bot]
2c7424c449 Bump eslint-loader from 2.2.1 to 3.0.0
Bumps [eslint-loader](https://github.com/webpack-contrib/eslint-loader) from 2.2.1 to 3.0.0.
- [Release notes](https://github.com/webpack-contrib/eslint-loader/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-loader/compare/v2.2.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:16:18 +00:00
dependabot-preview[bot]
ac2bfe14b0 Bump postcss-normalize from 7.0.1 to 8.0.1
Bumps [postcss-normalize](https://github.com/csstools/postcss-normalize) from 7.0.1 to 8.0.1.
- [Release notes](https://github.com/csstools/postcss-normalize/releases)
- [Changelog](https://github.com/csstools/postcss-normalize/blob/master/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-normalize/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-31 09:15:13 +00:00
dependabot-preview[bot]
ea61995b4c Merge pull request #208 from hodgef/dependabot/npm_and_yarn/eslint-6.2.2 2019-08-27 13:01:03 +00:00
dependabot-preview[bot]
36bd9b157c Bump eslint from 6.1.0 to 6.2.2
Bumps [eslint](https://github.com/eslint/eslint) from 6.1.0 to 6.2.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.1.0...v6.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-27 12:56:53 +00:00
Francisco Hodge
48bf0c2d13 Update main.yml 2019-08-27 08:49:18 -04:00
Francisco Hodge
a6db341a23 npm update 2019-08-26 23:36:12 -04:00
Francisco Hodge
3e479d55e1 Update README.md 2019-08-26 23:20:28 -04:00
Francisco Hodge
db753d7d38 Update and rename build.yml to main.yml 2019-08-26 22:58:34 -04:00
Francisco Hodge
d812186910 Update build.yml 2019-08-26 22:49:12 -04:00
Francisco Hodge
976a234874 Update and rename nodejs.yml to build.yml 2019-08-26 22:36:24 -04:00
Francisco Hodge
3624ff0d04 Update nodejs.yml 2019-08-26 22:08:17 -04:00
Francisco Hodge
5185977bcf Update nodejs.yml 2019-08-26 22:07:33 -04:00
Francisco Hodge
d8ec56bfd0 Update nodejs.yml 2019-08-26 22:05:41 -04:00
Francisco Hodge
6bf2267c54 Update nodejs.yml 2019-08-26 22:04:19 -04:00
Francisco Hodge
c9213b0673 Update nodejs.yml 2019-08-26 21:57:42 -04:00
Francisco Hodge
e70de0275f Update nodejs.yml 2019-08-26 21:54:54 -04:00
Francisco Hodge
68b4298a34 Update nodejs.yml 2019-08-26 21:22:31 -04:00
Francisco Hodge
76e6a29a36 Update nodejs.yml 2019-08-26 21:15:17 -04:00
Francisco Hodge
c786c169f6 Update nodejs.yml 2019-08-26 21:13:53 -04:00
Francisco Hodge
1940d6db03 Update nodejs.yml 2019-08-26 21:10:36 -04:00
Francisco Hodge
cda06005e5 Update nodejs.yml 2019-08-26 21:09:27 -04:00
Francisco Hodge
97448f126a Delete nodejs.yml 2019-08-26 21:07:42 -04:00
Francisco Hodge
a782deefea Testing Github CI 2019-08-26 21:02:07 -04:00
dependabot-preview[bot]
33bcf47f71 Merge pull request #211 from hodgef/dependabot/npm_and_yarn/eslint-utils-1.4.2 2019-08-26 18:39:49 +00:00
dependabot-preview[bot]
c6af491793 [Security] Bump eslint-utils from 1.4.0 to 1.4.2
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.2. **This update includes a security fix.**
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-26 18:36:32 +00:00
dependabot-preview[bot]
baa56f1feb Merge pull request #209 from hodgef/dependabot/npm_and_yarn/dotenv-expand-5.1.0 2019-08-24 09:38:44 +00:00
dependabot-preview[bot]
b2189c17a7 Merge pull request #210 from hodgef/dependabot/npm_and_yarn/sass-loader-7.3.1 2019-08-24 09:35:27 +00:00
dependabot-preview[bot]
ea26742914 Merge pull request #204 from hodgef/dependabot/npm_and_yarn/jest-watch-typeahead-0.4.0 2019-08-24 09:33:05 +00:00
dependabot-preview[bot]
af09aa885e Bump dotenv-expand from 4.2.0 to 5.1.0
Bumps dotenv-expand from 4.2.0 to 5.1.0.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:30:20 +00:00
dependabot-preview[bot]
4413e199cc Merge pull request #207 from hodgef/dependabot/npm_and_yarn/html-webpack-plugin-4.0.0-beta.8 2019-08-24 09:28:04 +00:00
dependabot-preview[bot]
57217d3025 Merge pull request #206 from hodgef/dependabot/npm_and_yarn/dotenv-8.1.0 2019-08-24 09:27:55 +00:00
dependabot-preview[bot]
987a1348a4 Merge pull request #205 from hodgef/dependabot/npm_and_yarn/webpack-dev-server-3.8.0 2019-08-24 09:24:47 +00:00
dependabot-preview[bot]
4d45bbdc90 Bump sass-loader from 7.2.0 to 7.3.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 7.2.0 to 7.3.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v7.2.0...v7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:24:31 +00:00
dependabot-preview[bot]
de9565165d Bump jest-watch-typeahead from 0.3.1 to 0.4.0
Bumps [jest-watch-typeahead](https://github.com/jest-community/jest-watch-typeahead) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/jest-community/jest-watch-typeahead/releases)
- [Changelog](https://github.com/jest-community/jest-watch-typeahead/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jest-community/jest-watch-typeahead/compare/v0.3.1...v0.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:20:19 +00:00
dependabot-preview[bot]
a3471aa0c0 Merge pull request #203 from hodgef/dependabot/npm_and_yarn/mini-css-extract-plugin-0.8.0 2019-08-24 09:18:07 +00:00
dependabot-preview[bot]
8df40bc678 Bump html-webpack-plugin from 4.0.0-beta.5 to 4.0.0-beta.8
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 4.0.0-beta.5 to 4.0.0-beta.8.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:16:39 +00:00
dependabot-preview[bot]
a4d376f289 Bump dotenv from 6.2.0 to 8.1.0
Bumps [dotenv](https://github.com/motdotla/dotenv) from 6.2.0 to 8.1.0.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v6.2.0...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:15:53 +00:00
dependabot-preview[bot]
9f8380d2da Bump webpack-dev-server from 3.2.1 to 3.8.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.2.1 to 3.8.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.2.1...v3.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:15:10 +00:00
dependabot-preview[bot]
034dadcaf2 Bump mini-css-extract-plugin from 0.5.0 to 0.8.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.5.0 to 0.8.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.5.0...v0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-24 09:13:23 +00:00
Francisco Hodge
34d6d6a3f7 Fixed duplicate onKeyReleased type 2019-08-19 08:25:21 -04:00
Francisco Hodge
ba9c9a6a4e 2.26.1 2019-08-17 17:16:58 -04:00
Francisco Hodge
d186fb1e09 Optimization: Removing non-minified dist 2019-08-17 16:27:06 -04:00
Francisco Hodge
29677485a9 2.25.4 2019-08-17 16:06:15 -04:00
Francisco Hodge
37ade80dd6 2.25.4 2019-08-17 16:05:07 -04:00
Francisco Hodge
eab88f7de3 Merge 2019-08-17 15:39:38 -04:00
dependabot-preview[bot]
26e6747b0f Merge pull request #200 from hodgef/dependabot/npm_and_yarn/jest-24.9.0 2019-08-17 09:40:05 +00:00
dependabot-preview[bot]
88c462ddf3 Bump jest from 24.8.0 to 24.9.0
Bumps [jest](https://github.com/facebook/jest) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v24.8.0...v24.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-17 09:34:58 +00:00
dependabot-preview[bot]
5452367733 Merge pull request #201 from hodgef/dependabot/npm_and_yarn/babel-jest-24.9.0 2019-08-17 09:32:34 +00:00
dependabot-preview[bot]
bdbf82828d Merge pull request #199 from hodgef/dependabot/npm_and_yarn/jest-resolve-24.9.0 2019-08-17 09:30:09 +00:00
dependabot-preview[bot]
e4b3622291 Merge pull request #198 from hodgef/dependabot/npm_and_yarn/webpack-4.39.2 2019-08-17 09:23:11 +00:00
dependabot-preview[bot]
181dd240a0 Merge pull request #197 from hodgef/dependabot/npm_and_yarn/react-dev-utils-9.0.3 2019-08-17 09:17:49 +00:00
dependabot-preview[bot]
628d27cf18 Bump babel-jest from 24.8.0 to 24.9.0
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v24.9.0/packages/babel-jest)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-17 09:17:45 +00:00
dependabot-preview[bot]
de8dd3f204 Bump jest-resolve from 24.8.0 to 24.9.0
Bumps [jest-resolve](https://github.com/facebook/jest/tree/HEAD/packages/jest-resolve) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v24.9.0/packages/jest-resolve)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-17 09:15:30 +00:00
dependabot-preview[bot]
c696606b11 Bump webpack from 4.39.1 to 4.39.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.39.1 to 4.39.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.39.1...v4.39.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-17 09:13:47 +00:00
dependabot-preview[bot]
9e17a1e0df Bump react-dev-utils from 9.0.2 to 9.0.3
Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 9.0.2 to 9.0.3.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/react-dev-utils@9.0.3/packages/react-dev-utils)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-17 09:13:02 +00:00
Francisco Hodge
d1c9a0ead7 npm update 2019-08-13 11:18:50 -04:00
Francisco Hodge
b054ee45a3 Update README.md 2019-08-13 11:14:44 -04:00
Francisco Hodge
c459ab60c1 npm update 2019-08-13 01:35:41 -04:00
Francisco Hodge
f2c690e010 Update README.md 2019-08-13 01:28:28 -04:00
Francisco Hodge
e567c3f19b Update README.md 2019-08-13 01:19:13 -04:00
Francisco Hodge
e6f8f47975 npm update 2019-08-11 21:09:51 -04:00
Francisco Hodge
f251e6ee35 Build update 2019-07-14 18:05:43 -04:00
Francisco Hodge
2113229d61 Merge remote-tracking branch 'origin' into staging 2019-07-14 17:11:32 -04:00
Francisco Hodge
460633a00d Build update 2019-07-14 17:09:48 -04:00
Francisco Hodge
16f26bd6d9 Code optimization, added onKeyReleased 2019-07-14 11:06:43 -04:00
Francisco Hodge
5239521964 Code optimization, added onKeyReleased 2019-07-14 01:08:51 -04:00
34 changed files with 4137 additions and 4972 deletions

View File

@@ -5,4 +5,3 @@ A few sentences describing the overall goals of the pull request's commits.
## Checks
- [ ] Tests ( `npm run test -- --coverage` ) Coverage at `./coverage/lcov-report/index.html` should be 100%
- [ ] Documentation ( `npm run docs` ) Coverage at `./docs/source.html` should be 100%

44
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [12.x]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node_version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node_version }}
- name: npm install, build, and test
run: |
npm install
npm run start -- --testMode
npm run demo
npm run coverage
- uses: codecov/codecov-action@v1.0.2
with:
token: ${{secrets.CODECOV_TOKEN}}
env:
CI: true
- name: Discord notification
if: success()
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: 'simple-keyboard - CI Build Passed'
- name: Discord notification
if: failure()
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: 'simple-keyboard - CI Build Failed'

44
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Publish
on:
push:
branches:
- master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm install
- run: npm run test -- --coverage --watchAll=false
- name: Setup GIT
run: |
git config --local --list
git checkout master
git config user.email "$GH_EMAIL"
git config user.name "Francisco Hodge"
env:
GH_EMAIL: ${{secrets.GH_EMAIL}}
- name: Bump version
run: |
git reset --hard
npm version patch
npm run build
git add . || true
git commit -m "Build update" || true
git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY"
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: npm publish
run: |
npm config set //registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN
npm run trypublish
env:
NODE_AUTH_TOKEN: ${{secrets.NODE_AUTH_TOKEN}}

1
.gitignore vendored
View File

@@ -17,6 +17,7 @@
.env.development.local
.env.test.local
.env.production.local
.vscode
npm-debug.log*
yarn-debug.log*

View File

@@ -1,14 +1,37 @@
<div align="center">
<a href="https://simple-keyboard.com/demo" title="View Demo" target="_blank"><img src="https://franciscohodge.com/project-pages/simple-keyboard/images/simplekeyboard-banner_B.png" align="center" width="100%"></a>
<a href="https://simple-keyboard.com/demo" title="View Demo" target="_blank"><img src="https://franciscohodge.com/project-pages/simple-keyboard/images/skdemo-4x2.gif" align="center" width="100%"></a>
<blockquote>The easily customisable and responsive on-screen virtual keyboard for Javascript projects.</blockquote>
<a href="https://www.npmjs.com/package/simple-keyboard" target="_blank"><img src="https://img.shields.io/npm/v/simple-keyboard.svg?style=flat" alt="npm version"></a>
<a href="https://travis-ci.org/hodgef/simple-keyboard" target="_blank"><img src="https://travis-ci.org/hodgef/simple-keyboard.svg?branch=master" alt="Build Status"></a>
<img src="https://img.shields.io/david/hodgef/js-library-boilerplate.svg" />
<a href="https://codecov.io/gh/hodgef/simple-keyboard" target="_blank"><img src="https://img.shields.io/codecov/c/github/hodgef/simple-keyboard/master.svg?style=flat" alt="Coverage Status"></a>
<a href="https://www.codacy.com/app/hodgef/simple-keyboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=hodgef/simple-keyboard&amp;utm_campaign=Badge_Grade" target="_blank"><img src="https://api.codacy.com/project/badge/Grade/5778fccc6a894701853d9a1f2fb44a76" alt="Codacy Badge"></a>
</p>
</div>
<p>
<a href="https://simple-keyboard.com/demo">
<img alt="simple-keyboard: Javscript Virtual Keyboard" src="https://i.imgur.com/Po6659n.gif">
</a>
<a href="https://www.npmjs.com/package/simple-keyboard">
<img src="https://badgen.net/npm/v/simple-keyboard?color=blue" alt="npm version">
</a>
<a href="https://github.com/hodgef/simple-keyboard/actions">
<img alt="Build Status" src="https://github.com/hodgef/simple-keyboard/workflows/Build/badge.svg?color=green" />
</a>
<a href="https://github.com/hodgef/simple-keyboard/actions">
<img alt="Publish Status" src="https://github.com/hodgef/simple-keyboard/workflows/Publish/badge.svg?color=green" />
</a>
<a href="https://bundlephobia.com/result?p=simple-keyboard">
<img src="https://badgen.net/bundlephobia/minzip/simple-keyboard/?color=green" alt="install size">
</a>
<a href="https://david-dm.org/hodgef/simple-keyboard">
<img src="https://badgen.net/david/dep/hodgef/simple-keyboard" alt="coverage">
</a>
<a href="https://codecov.io/gh/hodgef/simple-keyboard">
<img src="https://badgen.net/codecov/c/github/hodgef/simple-keyboard" alt="coverage">
</a>
</p>
> The slick virtual keyboard for Javascript. Compatible with your JS, React, Angular or Vue projects.
## 🚀 Demo
[Demo Showcase (Vanilla, Angular, React, Vue)](https://simple-keyboard.com/demo)
## 📦 Installation & Usage
You can use simple-keyboard as a `<script>` tag from a CDN, or install it from npm.
@@ -18,11 +41,7 @@ Check out the [Getting Started](https://simple-keyboard.com/getting-started) doc
## 📖 Documentation
Check out the [simple-keyboard documentation](https://simple-keyboard.com/documentation) site.
Feel free to browse the [Q&A / Use-cases](https://simple-keyboard.com/qa-use-cases/) page for advanced use-cases.
## 🚀 Demo
[https://simple-keyboard.com/demo](https://simple-keyboard.com/demo)
Feel free to browse the [Questions & Answers (FAQ)](https://simple-keyboard.com/qa-use-cases/) page for common use-cases.
### To run demo on your own computer
@@ -42,6 +61,24 @@ Feel free to browse the [Q&A / Use-cases](https://simple-keyboard.com/qa-use-cas
<a href="http://franciscohodge.com/simple-keyboard/chat/join" title="Join our Discord chat" target="_blank"><img src="https://franciscohodge.com/project-pages/simple-keyboard/images/discord.png" align="center" width="200"></a>
## ✳️ Modules
You can extend simple-keyboard's functionality with [modules](https://franciscohodge.com/projects/simple-keyboard/modules/). Such as:
* [Autocorrect](https://franciscohodge.com/projects/simple-keyboard/demo-showcase/module-autocorrect/)
* [Input Mask](https://franciscohodge.com/projects/simple-keyboard/demo-showcase/module-input-mask/)
* [Key Navigation](https://franciscohodge.com/projects/simple-keyboard/demo-showcase/module-key-navigation/)
* [Swipe Keyboard](https://franciscohodge.com/projects/simple-keyboard/demo-showcase/module-swipe-keyboard/)
Want to create your own module? Check out the [Modules page](https://franciscohodge.com/projects/simple-keyboard/modules/) for instructions.
## 🎯 Compatibility
> Simple-keyboard is intended for modern, standards-compliant browsers.
> Internet Explorer is sadly not one of them, and since its market-share is negligible (~2% for IE11), resources won't be spent in trying to support it.
>
> To learn more about the rationale for not supporting IE, check out [this link](https://techcommunity.microsoft.com/t5/Windows-IT-Pro-Blog/The-perils-of-using-Internet-Explorer-as-your-default-browser/ba-p/331732).
## ✅ Contributing
PR's and issues are welcome. Feel free to submit any issues you have at:

View File

@@ -1,10 +0,0 @@
console.log('\x1b[36m%s\x1b[0m', `
______________________________________\n`);
console.log('\x1b[33m%s\x1b[0m', `Thank you for installing simple-keyboard !`);
console.log('\x1b[36m%s\x1b[0m', `
Please consider starring the repository so others can also find it.
https://github.com/hodgef/simple-keyboard/stargazers
______________________________________
`);

View File

@@ -1,6 +1,6 @@
/*!
*
* simple-keyboard v2.25.0
* simple-keyboard v2.27.1
* https://github.com/hodgef/simple-keyboard
*
* Copyright (c) Francisco Hodge (https://github.com/hodgef)
@@ -8,5 +8,5 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/body,html{margin:0;padding:0}.simple-keyboard{font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;overflow:hidden;touch-action:manipulation}.simple-keyboard .hg-row{display:flex}.simple-keyboard .hg-row:not(:last-child){margin-bottom:5px}.simple-keyboard .hg-row .hg-button-container,.simple-keyboard .hg-row .hg-button:not(:last-child){margin-right:5px}.simple-keyboard .hg-row>div:last-child{margin-right:0}.simple-keyboard .hg-row .hg-button-container{display:flex}.simple-keyboard .hg-button{display:inline-block;flex-grow:1;cursor:pointer}.simple-keyboard .hg-button span{pointer-events:none}.simple-keyboard.hg-theme-default{background-color:rgba(0,0,0,.1);padding:5px;border-radius:5px}.simple-keyboard.hg-theme-default .hg-button{box-shadow:0 0 3px -1px rgba(0,0,0,.3);height:40px;border-radius:5px;box-sizing:border-box;padding:5px;background:#fff;border-bottom:1px solid #b5b5b5;cursor:pointer;display:flex;align-items:center;justify-content:center}.simple-keyboard button.hg-button{border-width:0;outline:0;font-size:inherit}.simple-keyboard.hg-theme-default.hg-layout-numeric .hg-button{width:33.3%;height:60px;align-items:center;display:flex;justify-content:center}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadadd,.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.simple-keyboard.hg-theme-default .hg-button.hg-button-com{max-width:85px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.simple-keyboard.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}
*/body,html{margin:0;padding:0}.simple-keyboard{font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;overflow:hidden;touch-action:manipulation}.simple-keyboard .hg-row{display:flex}.simple-keyboard .hg-row:not(:last-child){margin-bottom:5px}.simple-keyboard .hg-row .hg-button-container,.simple-keyboard .hg-row .hg-button:not(:last-child){margin-right:5px}.simple-keyboard .hg-row>div:last-child{margin-right:0}.simple-keyboard .hg-row .hg-button-container{display:flex}.simple-keyboard .hg-button{display:inline-block;flex-grow:1;cursor:pointer}.simple-keyboard .hg-button span{pointer-events:none}.simple-keyboard.hg-theme-default{background-color:rgba(0,0,0,.1);padding:5px;border-radius:5px}.simple-keyboard.hg-theme-default .hg-button{box-shadow:0 0 3px -1px rgba(0,0,0,.3);height:40px;border-radius:5px;box-sizing:border-box;padding:5px;background:#fff;border-bottom:1px solid #b5b5b5;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.simple-keyboard.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.simple-keyboard button.hg-button{border-width:0;outline:0;font-size:inherit}.simple-keyboard.hg-theme-default.hg-layout-numeric .hg-button{width:33.3%;height:60px;align-items:center;display:flex;justify-content:center}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadadd,.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.simple-keyboard.hg-theme-default .hg-button.hg-button-com{max-width:85px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.simple-keyboard.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}
/*# sourceMappingURL=index.css.map */

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +0,0 @@
/*!
*
* simple-keyboard v2.25.0 (Non-minified build)
* https://github.com/hodgef/simple-keyboard
*
* Copyright (c) Francisco Hodge (https://github.com/hodgef)
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/body,html{margin:0;padding:0}.simple-keyboard{font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;overflow:hidden;touch-action:manipulation}.simple-keyboard .hg-row{display:flex}.simple-keyboard .hg-row:not(:last-child){margin-bottom:5px}.simple-keyboard .hg-row .hg-button-container,.simple-keyboard .hg-row .hg-button:not(:last-child){margin-right:5px}.simple-keyboard .hg-row>div:last-child{margin-right:0}.simple-keyboard .hg-row .hg-button-container{display:flex}.simple-keyboard .hg-button{display:inline-block;flex-grow:1;cursor:pointer}.simple-keyboard .hg-button span{pointer-events:none}.simple-keyboard.hg-theme-default{background-color:rgba(0,0,0,.1);padding:5px;border-radius:5px}.simple-keyboard.hg-theme-default .hg-button{box-shadow:0 0 3px -1px rgba(0,0,0,.3);height:40px;border-radius:5px;box-sizing:border-box;padding:5px;background:#fff;border-bottom:1px solid #b5b5b5;cursor:pointer;display:flex;align-items:center;justify-content:center}.simple-keyboard button.hg-button{border-width:0;outline:0;font-size:inherit}.simple-keyboard.hg-theme-default.hg-layout-numeric .hg-button{width:33.3%;height:60px;align-items:center;display:flex;justify-content:center}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadadd,.simple-keyboard.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.simple-keyboard.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.simple-keyboard.hg-theme-default .hg-button.hg-button-com{max-width:85px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.simple-keyboard.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.simple-keyboard.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
'use strict';
const path = require('path');
const camelcase = require('camelcase');
// This is a custom Jest transformer turning file imports into filenames.
// http://facebook.github.io/jest/docs/en/webpack.html
@@ -10,19 +11,27 @@ module.exports = {
const assetFilename = JSON.stringify(path.basename(filename));
if (filename.match(/\.svg$/)) {
// Based on how SVGR generates a component name:
// https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6
const pascalCaseFileName = camelcase(path.parse(filename).name, {
pascalCase: true,
});
const componentName = `Svg${pascalCaseFileName}`;
return `const React = require('react');
module.exports = {
__esModule: true,
default: ${assetFilename},
ReactComponent: React.forwardRef((props, ref) => ({
$$typeof: Symbol.for('react.element'),
type: 'svg',
ref: ref,
key: null,
props: Object.assign({}, props, {
children: ${assetFilename}
})
})),
ReactComponent: React.forwardRef(function ${componentName}(props, ref) {
return {
$$typeof: Symbol.for('react.element'),
type: 'svg',
ref: ref,
key: null,
props: Object.assign({}, props, {
children: ${assetFilename}
})
};
}),
};`;
}

View File

@@ -4,6 +4,7 @@ const fs = require('fs');
const path = require('path');
const paths = require('./paths');
const chalk = require('react-dev-utils/chalk');
const resolve = require('resolve');
/**
* Get the baseUrl of a compilerOptions object.
@@ -63,7 +64,10 @@ function getModules() {
// TypeScript project and set up the config
// based on tsconfig.json
if (hasTsConfig) {
config = require(paths.appTsConfig);
const ts = require(resolve.sync('typescript', {
basedir: paths.appNodeModules,
}));
config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config;
// Otherwise we'll check if there is jsconfig.json
// for non TS projects.
} else if (hasJsConfig) {

35
config/pnpTs.js Normal file
View File

@@ -0,0 +1,35 @@
'use strict';
const { resolveModuleName } = require('ts-pnp');
exports.resolveModuleName = (
typescript,
moduleName,
containingFile,
compilerOptions,
resolutionHost
) => {
return resolveModuleName(
moduleName,
containingFile,
compilerOptions,
resolutionHost,
typescript.resolveModuleName
);
};
exports.resolveTypeReferenceDirective = (
typescript,
moduleName,
containingFile,
compilerOptions,
resolutionHost
) => {
return resolveModuleName(
moduleName,
containingFile,
compilerOptions,
resolutionHost,
typescript.resolveTypeReferenceDirective
);
};

View File

@@ -25,15 +25,23 @@ const getClientEnvironment = require('./env');
const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin');
const ForkTsCheckerWebpackPlugin = require('react-dev-utils/ForkTsCheckerWebpackPlugin');
const typescriptFormatter = require('react-dev-utils/typescriptFormatter');
const getPackageJson = require('./getPackageJson');
const eslint = require('eslint');
const postcssNormalize = require('postcss-normalize');
const appPackageJson = require(paths.appPackageJson);
// Source maps are resource heavy and can cause out of memory issue for large source files.
const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
// Some apps do not need the benefits of saving a web request, so not inlining the chunk
// makes for a smoother build process.
const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
const imageInlineSizeLimit = parseInt(
process.env.IMAGE_INLINE_SIZE_LIMIT || '10000'
);
// Check if TypeScript is setup
const useTypeScript = fs.existsSync(paths.appTsConfig);
@@ -46,6 +54,7 @@ const sassModuleRegex = /\.module\.(scss|sass)$/;
// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module.exports = function(webpackEnv) {
const isEnvDevelopment = webpackEnv === 'development';
const isEnvProduction = webpackEnv === 'production';
// Webpack uses `publicPath` to determine where the app is being served from.
@@ -66,12 +75,10 @@ module.exports = function(webpackEnv) {
// common function to get style loaders
const getStyleLoaders = (cssOptions, preProcessor) => {
const loaders = [
isEnvDevelopment && require.resolve('style-loader'),
isEnvProduction && {
loader: MiniCssExtractPlugin.loader,
options: Object.assign(
{},
shouldUseRelativeAssetPaths ? { publicPath: '../../' } : undefined
),
options: shouldUseRelativeAssetPaths ? { publicPath: '../../' } : {},
},
{
loader: require.resolve('css-loader'),
@@ -104,12 +111,20 @@ module.exports = function(webpackEnv) {
},
].filter(Boolean);
if (preProcessor) {
loaders.push({
loader: require.resolve(preProcessor),
loaders.push(
{
loader: require.resolve('resolve-url-loader'),
options: {
sourceMap: isEnvProduction && shouldUseSourceMap,
},
});
},
{
loader: require.resolve(preProcessor),
options: {
sourceMap: true,
},
}
);
}
return loaders;
};
@@ -118,10 +133,26 @@ module.exports = function(webpackEnv) {
mode: 'production',
// Stop compilation early in production
bail: isEnvProduction,
devtool: shouldUseSourceMap ? 'source-map' : false,
devtool: isEnvProduction
? shouldUseSourceMap
? 'source-map'
: false
: isEnvDevelopment && 'cheap-module-source-map',
// These are the "entry points" to our application.
// This means they will be the "root" imports that are included in JS bundle.
entry: isEnvProduction ? [paths.appDemoIndexJs] : [
// Include an alternative client for WebpackDevServer. A client's job is to
// connect to WebpackDevServer by a socket and get notified about changes.
// When you save a file, the client will either apply hot updates (in case
// of CSS changes), or refresh the page (in case of JS changes). When you
// make a syntax error, this client will display a syntax error overlay.
// Note: instead of the default WebpackDevServer client, we use a custom one
// to bring better experience for Create React App users. You can replace
// the line below with these two lines if you prefer the stock client:
// require.resolve('webpack-dev-server/client') + '?/',
// require.resolve('webpack/hot/dev-server'),
isEnvDevelopment &&
require.resolve('react-dev-utils/webpackHotDevClient'),
// Finally, this is your app's code:
paths.appDemoIndexJs,
// We include the app code last so that if there is a runtime error during
@@ -132,6 +163,7 @@ module.exports = function(webpackEnv) {
// The build folder.
path: isEnvProduction ? paths.appDemo : undefined,
// Add /* filename */ comments to generated require()s in the output.
pathinfo: isEnvDevelopment,
// There will be one main bundle, and one file per asynchronous chunk.
// In development, it does not produce real files.
filename: 'index.js',
@@ -148,7 +180,11 @@ module.exports = function(webpackEnv) {
path
.relative(paths.appSrcDemo, info.absoluteResourcePath)
.replace(/\\/g, '/')
: null,
: isEnvDevelopment &&
(info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')),
// Prevents conflicts when multiple Webpack runtimes (from different apps)
// are used on the same page.
jsonpFunction: `webpackJsonp${appPackageJson.name}`,
},
optimization: {
minimize: isEnvProduction,
@@ -157,8 +193,8 @@ module.exports = function(webpackEnv) {
new TerserPlugin({
terserOptions: {
parse: {
// we want terser to parse ecma 8 code. However, we don't want it
// to apply any minfication steps that turns valid ecma 5 code
// We want terser to parse ecma 8 code. However, we don't want it
// to apply any minification steps that turns valid ecma 5 code
// into invalid ecma 5 code. This is why the 'compress' and 'output'
// sections only apply transformations that are ecma 5 safe
// https://github.com/facebook/create-react-app/pull/4234
@@ -174,7 +210,7 @@ module.exports = function(webpackEnv) {
comparisons: false,
// Disabled because of an issue with Terser breaking valid code:
// https://github.com/facebook/create-react-app/issues/5250
// Pending futher investigation:
// Pending further investigation:
// https://github.com/terser-js/terser/issues/120
inline: 2,
},
@@ -236,7 +272,9 @@ module.exports = function(webpackEnv) {
// We placed these paths second because we want `node_modules` to "win"
// if there are any conflicts. This matches Node resolution mechanism.
// https://github.com/facebook/create-react-app/issues/253
modules: ['node_modules', paths.appNodeModules].concat(modules.additionalModulePaths || []),
modules: ['node_modules', paths.appNodeModules].concat(
modules.additionalModulePaths || []
),
// These are the reasonable defaults supported by the Node ecosystem.
// We also include JSX as a common component filename extension to support
// some tools, although we do not recommend using it, see:
@@ -286,6 +324,7 @@ module.exports = function(webpackEnv) {
options: {
formatter: require.resolve('react-dev-utils/eslintFormatter'),
eslintPath: require.resolve('eslint'),
resolvePluginsRelativeTo: __dirname,
},
loader: require.resolve('eslint-loader'),
@@ -305,7 +344,7 @@ module.exports = function(webpackEnv) {
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
loader: require.resolve('url-loader'),
options: {
limit: 10000,
limit: imageInlineSizeLimit,
name: 'static/media/[name].[hash:8].[ext]',
},
},
@@ -461,24 +500,34 @@ module.exports = function(webpackEnv) {
},
plugins: [
// Generates an `index.html` file with the <script> injected.
new HtmlWebpackPlugin({
inject: true,
template: paths.appHtml,
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}),
new HtmlWebpackPlugin(
Object.assign(
{},
{
inject: true,
template: paths.appHtml
},
isEnvProduction
? {
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}
: undefined
)
),
// Inlines the webpack runtime script. This script is too small to warrant
// a network request.
isEnvProduction &&
shouldInlineRuntimeChunk &&
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime~.+[.]js/]),
// Makes some environment variables available in index.html.
@@ -497,6 +546,18 @@ module.exports = function(webpackEnv) {
// during a production build.
// Otherwise React will be compiled in the very slow development mode.
new webpack.DefinePlugin(env.stringified),
// This is necessary to emit hot updates (currently CSS only):
isEnvDevelopment && new webpack.HotModuleReplacementPlugin(),
// Watcher doesn't work well if you mistype casing in a path so we use
// a plugin that prints an error when you attempt to do this.
// See https://github.com/facebook/create-react-app/issues/240
isEnvDevelopment && new CaseSensitivePathsPlugin(),
// If you require a missing module and then `npm install` it, you still have
// to restart the development server for Webpack to discover it. This plugin
// makes the discovery automatic so you don't have to restart.
// See https://github.com/facebook/create-react-app/issues/186
isEnvDevelopment &&
new WatchMissingNodeModulesPlugin(paths.appNodeModules),
isEnvProduction &&
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
@@ -551,6 +612,12 @@ module.exports = function(webpackEnv) {
}),
useTypescriptIncrementalApi: true,
checkSyntacticErrors: true,
resolveModuleNameModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
resolveTypeReferenceDirectiveModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
tsconfig: paths.appTsConfig,
reportFiles: [
'**',

View File

@@ -13,7 +13,9 @@ const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const safePostCssParser = require('postcss-safe-parser');
const ManifestPlugin = require('webpack-manifest-plugin');
const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin');
const WorkboxWebpackPlugin = require('workbox-webpack-plugin');
const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent');
@@ -26,15 +28,22 @@ const typescriptFormatter = require('react-dev-utils/typescriptFormatter');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const getPackageJson = require('./getPackageJson');
const PrettierPlugin = require("prettier-webpack-plugin");
const eslint = require('eslint');
const postcssNormalize = require('postcss-normalize');
const appPackageJson = require(paths.appPackageJson);
// Source maps are resource heavy and can cause out of memory issue for large source files.
const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
// Some apps do not need the benefits of saving a web request, so not inlining the chunk
// makes for a smoother build process.
const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
const imageInlineSizeLimit = parseInt(
process.env.IMAGE_INLINE_SIZE_LIMIT || '10000'
);
// Check if TypeScript is setup
const useTypeScript = fs.existsSync(paths.appTsConfig);
@@ -93,10 +102,7 @@ module.exports = function(webpackEnv) {
isEnvDevelopment && require.resolve('style-loader'),
isEnvProduction && {
loader: MiniCssExtractPlugin.loader,
options: Object.assign(
{},
shouldUseRelativeAssetPaths ? { publicPath: '../../' } : undefined
),
options: shouldUseRelativeAssetPaths ? { publicPath: '../../' } : {},
},
{
loader: require.resolve('css-loader'),
@@ -129,12 +135,20 @@ module.exports = function(webpackEnv) {
},
].filter(Boolean);
if (preProcessor) {
loaders.push({
loader: require.resolve(preProcessor),
loaders.push(
{
loader: require.resolve('resolve-url-loader'),
options: {
sourceMap: isEnvProduction && shouldUseSourceMap,
},
});
},
{
loader: require.resolve(preProcessor),
options: {
sourceMap: true,
},
}
);
}
return loaders;
};
@@ -199,6 +213,9 @@ module.exports = function(webpackEnv) {
.replace(/\\/g, '/')
: isEnvDevelopment &&
(info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')),
// Prevents conflicts when multiple Webpack runtimes (from different apps)
// are used on the same page.
jsonpFunction: `webpackJsonp${appPackageJson.name}`,
},
optimization: {
minimize: isEnvProduction,
@@ -207,8 +224,8 @@ module.exports = function(webpackEnv) {
new TerserPlugin({
terserOptions: {
parse: {
// we want terser to parse ecma 8 code. However, we don't want it
// to apply any minfication steps that turns valid ecma 5 code
// We want terser to parse ecma 8 code. However, we don't want it
// to apply any minification steps that turns valid ecma 5 code
// into invalid ecma 5 code. This is why the 'compress' and 'output'
// sections only apply transformations that are ecma 5 safe
// https://github.com/facebook/create-react-app/pull/4234
@@ -224,14 +241,14 @@ module.exports = function(webpackEnv) {
comparisons: false,
// Disabled because of an issue with Terser breaking valid code:
// https://github.com/facebook/create-react-app/issues/5250
// Pending futher investigation:
// Pending further investigation:
// https://github.com/terser-js/terser/issues/120
inline: 2,
},
mangle: {
safari10: true,
//keep_classnames: true,
//keep_fnames: true,
keep_classnames: true,
keep_fnames: true,
module: true
},
output: {
@@ -289,7 +306,9 @@ module.exports = function(webpackEnv) {
// We placed these paths second because we want `node_modules` to "win"
// if there are any conflicts. This matches Node resolution mechanism.
// https://github.com/facebook/create-react-app/issues/253
modules: ['node_modules', paths.appNodeModules].concat(modules.additionalModulePaths || []),
modules: ['node_modules', paths.appNodeModules].concat(
modules.additionalModulePaths || []
),
// These are the reasonable defaults supported by the Node ecosystem.
// We also include JSX as a common component filename extension to support
// some tools, although we do not recommend using it, see:
@@ -339,6 +358,7 @@ module.exports = function(webpackEnv) {
options: {
formatter: require.resolve('react-dev-utils/eslintFormatter'),
eslintPath: require.resolve('eslint'),
resolvePluginsRelativeTo: __dirname,
},
loader: require.resolve('eslint-loader'),
@@ -358,7 +378,7 @@ module.exports = function(webpackEnv) {
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
loader: require.resolve('url-loader'),
options: {
limit: 10000,
limit: imageInlineSizeLimit,
name: 'static/media/[name].[hash:8].[ext]',
},
},
@@ -514,12 +534,8 @@ module.exports = function(webpackEnv) {
},
plugins: [
isEnvDevelopment &&
new HtmlWebpackPlugin({
inject: true,
template: paths.appHtml,
}),
// Generates an `index.html` file with the <script> injected.
/*new HtmlWebpackPlugin(
new HtmlWebpackPlugin(
Object.assign(
{},
{
@@ -543,7 +559,7 @@ module.exports = function(webpackEnv) {
}
: undefined
)
),*/
),
// Inlines the webpack runtime script. This script is too small to warrant
// a network request.
isEnvProduction &&
@@ -639,6 +655,12 @@ module.exports = function(webpackEnv) {
async: isEnvDevelopment,
useTypescriptIncrementalApi: true,
checkSyntacticErrors: true,
resolveModuleNameModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
resolveTypeReferenceDirectiveModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
tsconfig: paths.appTsConfig,
reportFiles: [
'**',

View File

@@ -1,579 +0,0 @@
'use strict';
const fs = require('fs');
const isWsl = require('is-wsl');
const path = require('path');
const webpack = require('webpack');
const resolve = require('resolve');
const PnpWebpackPlugin = require('pnp-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const safePostCssParser = require('postcss-safe-parser');
const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent');
const paths = require('./paths');
const modules = require('./modules');
const getClientEnvironment = require('./env');
const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin');
const ForkTsCheckerWebpackPlugin = require('react-dev-utils/ForkTsCheckerWebpackPlugin');
const typescriptFormatter = require('react-dev-utils/typescriptFormatter');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const getPackageJson = require('./getPackageJson');
const postcssNormalize = require('postcss-normalize');
// Source maps are resource heavy and can cause out of memory issue for large source files.
const shouldUseSourceMap = false;
// Some apps do not need the benefits of saving a web request, so not inlining the chunk
// makes for a smoother build process.
const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
// Check if TypeScript is setup
const useTypeScript = fs.existsSync(paths.appTsConfig);
// style files regexes
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
const {
version,
name,
license,
repository,
author,
} = getPackageJson('version', 'name', 'license', 'repository', 'author');
const banner = `
${name} v${version} (Non-minified build)
${repository.url}
Copyright (c) ${author.replace(/ *\<[^)]*\> */g, " ")}
This source code is licensed under the ${license} license found in the
LICENSE file in the root directory of this source tree.
`;
// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module.exports = function(webpackEnv) {
const isEnvDevelopment = webpackEnv === 'development';
const isEnvProduction = webpackEnv === 'production';
// Webpack uses `publicPath` to determine where the app is being served from.
// It requires a trailing slash, or the file assets will get an incorrect path.
// In development, we always serve from the root. This makes config easier.
const publicPath = isEnvProduction
? paths.servedPath
: isEnvDevelopment && '/';
// Some apps do not use client-side routing with pushState.
// For these, "homepage" can be set to "." to enable relative asset paths.
const shouldUseRelativeAssetPaths = publicPath === './';
// `publicUrl` is just like `publicPath`, but we will provide it to our app
// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
// Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
const publicUrl = isEnvProduction
? publicPath.slice(0, -1)
: isEnvDevelopment && '';
// Get environment variables to inject into our app.
const env = getClientEnvironment(publicUrl);
// common function to get style loaders
const getStyleLoaders = (cssOptions, preProcessor) => {
const loaders = [
{
loader: MiniCssExtractPlugin.loader,
options: Object.assign(
{},
shouldUseRelativeAssetPaths ? { publicPath: '../../' } : undefined
),
},
{
loader: require.resolve('css-loader'),
options: cssOptions,
},
{
// Options for PostCSS as we reference these options twice
// Adds vendor prefixing based on your specified browser support in
// package.json
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebook/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
require('postcss-preset-env')({
autoprefixer: {
flexbox: 'no-2009',
},
stage: 3,
}),
// Adds PostCSS Normalize as the reset css with default options,
// so that it honors browserslist config in package.json
// which in turn let's users customize the target behavior as per their needs.
postcssNormalize(),
],
sourceMap: shouldUseSourceMap,
},
},
].filter(Boolean);
if (preProcessor) {
loaders.push({
loader: require.resolve(preProcessor),
options: {
sourceMap: shouldUseSourceMap,
},
});
}
return loaders;
};
return {
mode: 'production',
// Stop compilation early in production
bail: true,
devtool: false,
// These are the "entry points" to our application.
// This means they will be the "root" imports that are included in JS bundle.
entry: [paths.appLibIndexJs],
output: {
// The build folder.
path: paths.appBuild,
// Add /* filename */ comments to generated require()s in the output.
pathinfo: isEnvDevelopment,
// There will be one main bundle, and one file per asynchronous chunk.
// In development, it does not produce real files.
filename: 'simple-keyboard.js',
// TODO: remove this when upgrading to webpack 5
futureEmitAssets: true,
// There are also additional JS chunk files if you use code splitting.
chunkFilename: 'index.[chunkhash:8].chunk.js',
// We inferred the "public path" (such as / or /my-project) from homepage.
// We use "/" in development.
publicPath: publicPath,
library: "SimpleKeyboard",
libraryTarget: 'umd',
umdNamedDefine: true,
// Point sourcemap entries to original disk location (format as URL on Windows)
devtoolModuleFilenameTemplate: info =>
path
.relative(paths.appSrcLib, info.absoluteResourcePath)
.replace(/\\/g, '/'),
},
optimization: {
minimizer: [
// we specify a custom UglifyJsPlugin here to get source maps in production
new UglifyJsPlugin({
cache: false,
parallel: false,
uglifyOptions: {
output: {
comments: true,
beautify: true,
braces: true,
indent_level: 2
},
mangle: false,
compress: false
},
// Use multi-process parallel running to improve the build speed
// Default number of concurrent runs: os.cpus().length - 1
// Disabled on WSL (Windows Subsystem for Linux) due to an issue with Terser
// https://github.com/webpack-contrib/terser-webpack-plugin/issues/21
parallel: !isWsl,
// Enable file caching
cache: true,
sourceMap: false,
}),
new webpack.BannerPlugin({
banner: banner,
entryOnly: true
}),
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: {
parser: safePostCssParser,
map: shouldUseSourceMap
? {
// `inline: false` forces the sourcemap to be output into a
// separate file
inline: false,
// `annotation: true` appends the sourceMappingURL to the end of
// the css file, helping the browser find the sourcemap
annotation: true,
}
: false,
},
}),
],
// Automatically split vendor and commons
// https://twitter.com/wSokra/status/969633336732905474
// https://medium.com/webpack/webpack-4-code-splitting-chunk-graph-and-the-splitchunks-optimization-be739a861366
splitChunks: {
//chunks: 'all',
cacheGroups: {
default: false,
}
},
// Keep the runtime chunk separated to enable long term caching
// https://twitter.com/wSokra/status/969679223278505985
runtimeChunk: false,
},
resolve: {
// This allows you to set a fallback for where Webpack should look for modules.
// We placed these paths second because we want `node_modules` to "win"
// if there are any conflicts. This matches Node resolution mechanism.
// https://github.com/facebook/create-react-app/issues/253
modules: ['node_modules', paths.appNodeModules].concat(modules.additionalModulePaths || []),
// These are the reasonable defaults supported by the Node ecosystem.
// We also include JSX as a common component filename extension to support
// some tools, although we do not recommend using it, see:
// https://github.com/facebook/create-react-app/issues/290
// `web` extension prefixes have been added for better support
// for React Native Web.
extensions: paths.moduleFileExtensions
.map(ext => `.${ext}`)
.filter(ext => useTypeScript || !ext.includes('ts')),
alias: {
// Support React Native Web
// https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
'react-native': 'react-native-web',
},
plugins: [
// Adds support for installing with Plug'n'Play, leading to faster installs and adding
// guards against forgotten dependencies and such.
PnpWebpackPlugin,
// Prevents users from importing files from outside of src/ (or node_modules/).
// This often causes confusion because we only process files within src/ with babel.
// To fix this, we prevent you from importing files out of src/ -- if you'd like to,
// please link the files into your node_modules/ and let module-resolution kick in.
// Make sure your source files are compiled, as they will not be processed in any way.
new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson]),
],
},
resolveLoader: {
plugins: [
// Also related to Plug'n'Play, but this time it tells Webpack to load its loaders
// from the current package.
PnpWebpackPlugin.moduleLoader(module),
],
},
module: {
strictExportPresence: true,
rules: [
// Disable require.ensure as it's not a standard language feature.
{ parser: { requireEnsure: false } },
// First, run the linter.
// It's important to do this before Babel processes the JS.
{
test: /\.(js|mjs|jsx|ts|tsx)$/,
enforce: 'pre',
use: [
{
options: {
formatter: require.resolve('react-dev-utils/eslintFormatter'),
eslintPath: require.resolve('eslint'),
},
loader: require.resolve('eslint-loader'),
},
],
include: paths.appSrcLib,
},
{
// "oneOf" will traverse all following loaders until one will
// match the requirements. When no loader matches it will fall
// back to the "file" loader at the end of the loader list.
oneOf: [
// "url" loader works like "file" loader except that it embeds assets
// smaller than specified limit in bytes as data URLs to avoid requests.
// A missing `test` is equivalent to a match.
{
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
loader: require.resolve('url-loader'),
options: {
limit: 10000,
name: 'static/media/[name].[hash:8].[ext]',
},
},
// Process application JS with Babel.
// The preset includes JSX, Flow, TypeScript, and some ESnext features.
{
test: /\.(js|mjs|jsx|ts|tsx)$/,
include: paths.appSrcLib,
loader: require.resolve('babel-loader'),
options: {
customize: require.resolve(
'babel-preset-react-app/webpack-overrides'
),
plugins: [
[
require.resolve('babel-plugin-named-asset-import'),
{
loaderMap: {
svg: {
ReactComponent: '@svgr/webpack?-prettier,-svgo,+ref![path]',
},
},
},
],
],
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
// directory for faster rebuilds.
cacheDirectory: true,
cacheCompression: true,
compact: true,
},
},
// Process any JS outside of the app with Babel.
// Unlike the application JS, we only compile the standard ES features.
{
test: /\.(js|mjs)$/,
exclude: /@babel(?:\/|\\{1,2})runtime/,
loader: require.resolve('babel-loader'),
options: {
babelrc: false,
configFile: false,
compact: false,
presets: [
[
require.resolve('babel-preset-react-app/dependencies'),
{ helpers: true },
],
],
cacheDirectory: true,
cacheCompression: true,
// If an error happens in a package, it's possible to be
// because it was compiled. Thus, we don't want the browser
// debugger to show the original code. Instead, the code
// being evaluated would be much more helpful.
sourceMaps: false,
},
},
// "postcss" loader applies autoprefixer to our CSS.
// "css" loader resolves paths in CSS and adds assets as dependencies.
// "style" loader turns CSS into JS modules that inject <style> tags.
// In production, we use MiniCSSExtractPlugin to extract that CSS
// to a file, but in development "style" loader enables hot editing
// of CSS.
// By default we support CSS Modules with the extension .module.css
{
test: cssRegex,
exclude: cssModuleRegex,
use: getStyleLoaders({
importLoaders: 1,
sourceMap: shouldUseSourceMap,
}),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
// Adds support for CSS Modules (https://github.com/css-modules/css-modules)
// using the extension .module.css
{
test: cssModuleRegex,
use: getStyleLoaders({
importLoaders: 1,
sourceMap: shouldUseSourceMap,
modules: true,
getLocalIdent: getCSSModuleLocalIdent,
}),
},
// Opt-in support for SASS (using .scss or .sass extensions).
// By default we support SASS Modules with the
// extensions .module.scss or .module.sass
{
test: sassRegex,
exclude: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: shouldUseSourceMap,
},
'sass-loader'
),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
// Adds support for CSS Modules, but using SASS
// using the extension .module.scss or .module.sass
{
test: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: shouldUseSourceMap,
modules: true,
getLocalIdent: getCSSModuleLocalIdent,
},
'sass-loader'
),
},
// "file" loader makes sure those assets get served by WebpackDevServer.
// When you `import` an asset, you get its (virtual) filename.
// In production, they would get copied to the `build` folder.
// This loader doesn't use a "test" so it will catch all modules
// that fall through the other loaders.
{
loader: require.resolve('file-loader'),
// Exclude `js` files to keep "css" loader working as it injects
// its runtime that would otherwise be processed through "file" loader.
// Also exclude `html` and `json` extensions so they get processed
// by webpacks internal loaders.
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
options: {
name: 'static/media/[name].[hash:8].[ext]',
},
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
],
},
],
},
plugins: [
// Generates an `index.html` file with the <script> injected.
/*new HtmlWebpackPlugin(
Object.assign(
{},
{
inject: true,
template: paths.appHtml,
},
isEnvProduction
? {
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}
: undefined
)
),*/
// Inlines the webpack runtime script. This script is too small to warrant
// a network request.
shouldInlineRuntimeChunk &&
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime~.+[.]js/]),
// Makes some environment variables available in index.html.
// The public URL is available as %PUBLIC_URL% in index.html, e.g.:
// <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
// In production, it will be an empty string unless you specify "homepage"
// in `package.json`, in which case it will be the pathname of that URL.
// In development, this will be an empty string.
new InterpolateHtmlPlugin(HtmlWebpackPlugin, env.raw),
// This gives some necessary context to module not found errors, such as
// the requesting resource.
new ModuleNotFoundPlugin(paths.appPath),
// Makes some environment variables available to the JS code, for example:
// if (process.env.NODE_ENV === 'production') { ... }. See `./env.js`.
// It is absolutely essential that NODE_ENV is set to production
// during a production build.
// Otherwise React will be compiled in the very slow development mode.
new webpack.DefinePlugin(env.stringified),
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
// both options are optional
filename: 'css/simple-keyboard.css',
chunkFilename: 'css/index.[contenthash:8].chunk.css',
}),
// Generate a manifest file which contains a mapping of all asset filenames
// to their corresponding output file so that tools can pick it up without
// having to parse `index.html`.
/*new ManifestPlugin({
fileName: 'asset-manifest.json',
publicPath: publicPath,
generate: (seed, files) => {
const manifestFiles = files.reduce(function(manifest, file) {
manifest[file.name] = file.path;
return manifest;
}, seed);
return {
files: manifestFiles,
};
},
}),*/
// Moment.js is an extremely popular library that bundles large locale files
// by default due to how Webpack interprets its code. This is a practical
// solution that requires the user to opt into importing specific locales.
// https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
// You can remove this if you don't use Moment.js:
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// Generate a service worker script that will precache, and keep up to date,
// the HTML & assets that are part of the Webpack build.
/*isEnvProduction &&
new WorkboxWebpackPlugin.GenerateSW({
clientsClaim: true,
exclude: [/\.map$/, /asset-manifest\.json$/],
importWorkboxFrom: 'cdn',
navigateFallback: publicUrl + '/index.html',
navigateFallbackBlacklist: [
// Exclude URLs starting with /_, as they're likely an API call
new RegExp('^/_'),
// Exclude URLs containing a dot, as they're likely a resource in
// public/ and not a SPA route
new RegExp('/[^/]+\\.[^/]+$'),
],
}),*/
// TypeScript type checking
useTypeScript &&
new ForkTsCheckerWebpackPlugin({
typescript: resolve.sync('typescript', {
basedir: paths.appNodeModules,
}),
async: false,
useTypescriptIncrementalApi: true,
checkSyntacticErrors: true,
tsconfig: paths.appTsConfig,
reportFiles: [
'**',
'!**/__tests__/**',
'!**/?(*.)(spec|test).*',
'!**/src/setupProxy.*',
'!**/src/setupTests.*',
],
watch: paths.appSrcLib,
silent: true,
// The formatter is invoked directly in WebpackDevServerUtils during development
formatter: isEnvProduction ? typescriptFormatter : undefined,
}),
].filter(Boolean),
// Some libraries import Node modules but don't use them in the browser.
// Tell Webpack to provide empty mocks for them so importing them works.
node: {
module: 'empty',
dgram: 'empty',
dns: 'mock',
fs: 'empty',
http2: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty',
},
// Turn off performance processing because we utilize
// our own hints via the FileSizeReporter
performance: false,
};
};

5642
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,17 @@
{
"name": "simple-keyboard",
"version": "2.25.0",
"version": "2.27.1",
"description": "On-screen Javascript Virtual Keyboard",
"main": "build/index.js",
"types": "build/index.d.ts",
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js && node scripts/buildUnminified.js",
"build": "node scripts/build.js",
"demo": "node scripts/demo.js",
"test": "node scripts/test.js",
"coverage": "node scripts/test.js --coverage --watchAll=false",
"postinstall": "node bin/postinstall",
"prepare": "npm run build"
"prepare": "npm run build",
"trypublish": "npm publish || true"
},
"repository": {
"type": "git",
@@ -40,81 +40,76 @@
],
"license": "MIT",
"devDependencies": {
"@babel/core": "7.5.5",
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/preset-env": "^7.4.4",
"@babel/preset-react": "^7.0.0",
"@babel/runtime": "7.5.4",
"@svgr/webpack": "4.3.2",
"@babel/core": "7.7.2",
"@babel/plugin-proposal-class-properties": "^7.7.0",
"@babel/preset-env": "^7.7.1",
"@babel/preset-react": "^7.7.0",
"@svgr/webpack": "4.3.3",
"@typescript-eslint/eslint-plugin": "1.13.0",
"@typescript-eslint/parser": "1.13.0",
"babel-eslint": "10.0.2",
"babel-jest": "24.8.0",
"babel-eslint": "10.0.3",
"babel-jest": "^24.8.0",
"babel-loader": "8.0.6",
"babel-plugin-named-asset-import": "^0.3.2",
"babel-preset-react-app": "^9.0.0",
"babel-plugin-named-asset-import": "^0.3.3",
"babel-preset-react-app": "^9.0.1",
"camelcase": "^5.2.0",
"case-sensitive-paths-webpack-plugin": "2.2.0",
"copy-webpack-plugin": "^5.0.3",
"copy-webpack-plugin": "^5.0.5",
"css-loader": "3.2.0",
"dotenv": "8.0.0",
"dotenv": "8.2.0",
"dotenv-expand": "5.1.0",
"eslint": "^5.16.0",
"eslint-config-react-app": "^4.0.1",
"eslint-loader": "2.2.1",
"eslint": "^6.6.0",
"eslint-config-react-app": "^5.0.1",
"eslint-loader": "3.0.2",
"eslint-plugin-flowtype": "3.13.0",
"eslint-plugin-import": "2.18.2",
"eslint-plugin-jsx-a11y": "6.2.3",
"eslint-plugin-react": "7.14.3",
"eslint-plugin-react-hooks": "^1.5.0",
"eslint-plugin-react": "7.16.0",
"eslint-plugin-react-hooks": "^2.2.0",
"file-loader": "4.2.0",
"fs-extra": "8.1.0",
"html-webpack-plugin": "4.0.0-beta.8",
"identity-obj-proxy": "3.0.0",
"is-wsl": "^2.0.0",
"jest": "24.8.0",
"is-wsl": "^2.1.0",
"jest": "24.9.0",
"jest-environment-jsdom-fourteen": "0.1.0",
"jest-resolve": "24.8.0",
"jest-watch-typeahead": "0.3.1",
"jest-resolve": "24.9.0",
"jest-watch-typeahead": "0.4.0",
"mini-css-extract-plugin": "0.8.0",
"optimize-css-assets-webpack-plugin": "5.0.3",
"pnp-webpack-plugin": "1.5.0",
"prettier": "^1.17.0",
"prettier-webpack-plugin": "^1.2.0",
"postcss-flexbugs-fixes": "4.1.0",
"postcss-loader": "3.0.0",
"postcss-normalize": "8.0.1",
"postcss-preset-env": "6.7.0",
"postcss-safe-parser": "4.0.1",
"prettier": "^1.17.0",
"prettier-webpack-plugin": "^1.2.0",
"react": "^16.8.6",
"react-app-polyfill": "^1.0.1",
"react-dev-utils": "^9.0.1",
"react-dom": "^16.8.6",
"react": "^16.11.0",
"react-app-polyfill": "^1.0.2",
"react-dev-utils": "^9.0.3",
"react-dom": "^16.11.0",
"resolve": "1.12.0",
"sass-loader": "7.2.0",
"resolve-url-loader": "3.1.0",
"sass-loader": "7.3.1",
"semver": "6.3.0",
"style-loader": "1.0.0",
"terser-webpack-plugin": "1.4.1",
"terser-webpack-plugin": "2.2.1",
"ts-pnp": "1.1.4",
"uglifyjs-webpack-plugin": "^2.1.2",
"url-loader": "2.1.0",
"webpack": "4.39.1",
"webpack-dev-server": "3.8.0",
"webpack-manifest-plugin": "2.0.4",
"url-loader": "2.2.0",
"webpack": "4.41.2",
"webpack-dev-server": "3.9.0",
"webpack-manifest-plugin": "2.2.0",
"workbox-webpack-plugin": "4.3.1"
},
"eslintConfig": {
"extends": "react-app",
"settings": {
"react": {
"pragma": "React",
"version": "detect"
}
}
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"development": [
@@ -124,20 +119,25 @@
]
},
"jest": {
"roots": [
"<rootDir>/src"
],
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/index.js",
"!src/**/*.d.ts",
"!src/lib/index.js",
"!src/demo/index.js",
"!src/utils/**",
"!src/**/*.d.ts",
"!**/tests/**"
],
"resolver": "jest-pnp-resolver",
"setupFiles": [
"react-app-polyfill/jsdom"
],
"setupFilesAfterEnv": [],
"testMatch": [
"<rootDir>/src/**/tests/**/*.{js,jsx,ts,tsx}"
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
],
"testEnvironment": "jest-environment-jsdom-fourteen",
"transform": {
@@ -178,10 +178,7 @@
],
"plugins": [
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
"@babel/plugin-proposal-class-properties"
]
]
}

View File

@@ -106,7 +106,7 @@ checkBrowsers(paths.appPath, isInteractive)
);
},
err => {
console.log(chalk.red('Failed to compile.\n'));
console.error('Failed to compile');
printBuildError(err);
process.exit(1);
}

View File

@@ -1,190 +0,0 @@
'use strict';
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'production';
process.env.NODE_ENV = 'production';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', err => {
throw err;
});
// Ensure environment variables are read.
require('../config/env');
const path = require('path');
const chalk = require('react-dev-utils/chalk');
const fs = require('fs-extra');
const webpack = require('webpack');
const configFactory = require('../config/webpack.config.unminified');
const paths = require('../config/paths');
const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
const printBuildError = require('react-dev-utils/printBuildError');
const measureFileSizesBeforeBuild =
FileSizeReporter.measureFileSizesBeforeBuild;
const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;
const useYarn = fs.existsSync(paths.yarnLockFile);
// These sizes are pretty large. We'll warn for bundles exceeding them.
const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
const isInteractive = process.stdout.isTTY;
// Warn and crash if required files are missing
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
process.exit(1);
}
// Generate configuration
const config = configFactory('production');
// We require that you explicitly set browsers and do not fall back to
// browserslist defaults.
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
checkBrowsers(paths.appPath, isInteractive)
.then(() => {
// First, read the current file sizes in build directory.
// This lets us display how much they changed later.
return measureFileSizesBeforeBuild(paths.appBuild);
})
.then(previousFileSizes => {
// Remove all content but keep the directory so that
// if you're in it, you don't end up in Trash
//fs.emptyDirSync(paths.appBuild);
// Merge with the public folder
//copyPublicFolder();
// Start the webpack build
return build(previousFileSizes);
})
.then(
({ stats, previousFileSizes, warnings }) => {
if (warnings.length) {
console.log(chalk.yellow('Compiled with warnings.\n'));
console.log(warnings.join('\n\n'));
console.log(
'\nSearch for the ' +
chalk.underline(chalk.yellow('keywords')) +
' to learn more about each warning.'
);
console.log(
'To ignore, add ' +
chalk.cyan('// eslint-disable-next-line') +
' to the line before.\n'
);
} else {
console.log(chalk.green('Compiled successfully.\n'));
}
console.log('File sizes after gzip:\n');
printFileSizesAfterBuild(
stats,
previousFileSizes,
paths.appBuild,
WARN_AFTER_BUNDLE_GZIP_SIZE,
WARN_AFTER_CHUNK_GZIP_SIZE
);
console.log();
const appPackage = require(paths.appPackageJson);
const publicUrl = paths.publicUrl;
const publicPath = config.output.publicPath;
const buildFolder = path.relative(process.cwd(), paths.appBuild);
printHostingInstructions(
appPackage,
publicUrl,
publicPath,
buildFolder,
useYarn
);
},
err => {
console.log(chalk.red('Failed to compile.\n'));
printBuildError(err);
process.exit(1);
}
)
.catch(err => {
if (err && err.message) {
console.log(err.message);
}
process.exit(1);
});
// Create the production build and print the deployment instructions.
function build(previousFileSizes) {
console.log('Creating a non-minified production build...');
// We used to support resolving modules according to `NODE_PATH`.
// This now has been deprecated in favor of jsconfig/tsconfig.json
// This lets you use absolute paths in imports inside large monorepos:
if (process.env.NODE_PATH) {
console.log(
chalk.yellow(
'Setting NODE_PATH to resolve modules absolutely has been deprecated in favor of setting baseUrl in jsconfig.json (or tsconfig.json if you are using TypeScript) and will be removed in a future major release of create-react-app.'
)
);
console.log();
}
const compiler = webpack(config);
return new Promise((resolve, reject) => {
compiler.run((err, stats) => {
let messages;
if (err) {
if (!err.message) {
return reject(err);
}
messages = formatWebpackMessages({
errors: [err.message],
warnings: [],
});
} else {
messages = formatWebpackMessages(
stats.toJson({ all: false, warnings: true, errors: true })
);
}
if (messages.errors.length) {
// Only keep the first error. Others are often indicative
// of the same problem, but confuse the reader with noise.
if (messages.errors.length > 1) {
messages.errors.length = 1;
}
return reject(new Error(messages.errors.join('\n\n')));
}
if (
process.env.CI &&
(typeof process.env.CI !== 'string' ||
process.env.CI.toLowerCase() !== 'false') &&
messages.warnings.length
) {
console.log(
chalk.yellow(
'\nTreating warnings as errors because process.env.CI = true.\n' +
'Most CI servers set it automatically.\n'
)
);
return reject(new Error(messages.warnings.join('\n\n')));
}
return resolve({
stats,
previousFileSizes,
warnings: messages.warnings,
});
});
});
}
function copyPublicFolder() {
fs.copySync(paths.appPublic, paths.appBuild, {
dereference: true,
filter: file => file !== paths.appHtml,
});
}

View File

@@ -106,7 +106,7 @@ checkBrowsers(paths.appPath, isInteractive)
);
},
err => {
console.log(chalk.red('Failed to compile.\n'));
console.error('Failed to compile');
printBuildError(err);
process.exit(1);
}

View File

@@ -139,6 +139,8 @@ checkBrowsers(paths.appPath, isInteractive)
stats = stats.toJson();
if (stats.errors && stats.errors.length > 0) {
devServer.close();
process.exit(1);
return;
}

View File

@@ -41,7 +41,8 @@ function isInMercurialRepository() {
// Watch unless on CI or explicitly running all tests
if (
!process.env.CI &&
argv.indexOf('--watchAll') === -1
argv.indexOf('--watchAll') === -1 &&
argv.indexOf('--watchAll=false') === -1
) {
// https://github.com/facebook/create-react-app/issues/5210
const hasSourceControl = isInGitRepository() || isInMercurialRepository();

View File

@@ -0,0 +1,75 @@
import Keyboard from "../lib";
import "./css/MultipleKeyboardsDestroyDemo.css";
const setDOM = () => {
document.querySelector("#root").innerHTML = `
<input class="input" placeholder="Tap on the virtual keyboard to start" />
<div class="simple-keyboard"></div>
<input class="input2" placeholder="Tap on the virtual keyboard to start" />
<div class="keyboard2"></div>
`;
};
class Demo {
constructor() {
setDOM();
/**
* Demo Start
*/
this.keyboard = new Keyboard({
onChange: input => this.onChange(input),
onKeyPress: button => this.onKeyPress(button),
debug: true
});
this.keyboard2 = new Keyboard(".keyboard2", {
theme: "simple-keyboard hg-theme-default",
onChange: input => this.onChange(input, "input2"),
onKeyPress: button => this.onKeyPress(button, "keyboard2"),
debug: true
});
console.log(this.keyboard);
setTimeout(this.keyboard.destroy, 10000);
/**
* Update simple-keyboard when input is changed directly
*/
document.querySelector(".input").addEventListener("input", event => {
this.keyboard.setInput(event.target.value);
});
document.querySelector(".input2").addEventListener("input", event => {
this.keyboard2.setInput(event.target.value);
});
}
onChange(input, inputClass) {
document.querySelector(`.${inputClass || "input"}`).value = input;
console.log("Input changed", input);
}
onKeyPress(button, keyboardInstanceKey) {
console.log("Button pressed", button);
/**
* If you want to handle the shift and caps lock buttons
*/
if (button === "{shift}" || button === "{lock}")
this.handleShift(keyboardInstanceKey);
}
handleShift(keyboardInstanceKey) {
let keyboard = this[keyboardInstanceKey || "keyboard"];
let currentLayout = keyboard.options.layoutName;
let shiftToggle = currentLayout === "default" ? "shift" : "default";
keyboard.setOptions({
layoutName: shiftToggle
});
}
}
export default Demo;

View File

@@ -0,0 +1,12 @@
input {
width: 100%;
height: 100px;
padding: 20px;
font-size: 20px;
border: none;
box-sizing: border-box;
}
.simple-keyboard {
max-width: 850px;
}

View File

@@ -6,6 +6,7 @@ import "./css/index.css";
import BasicDemo from "./BasicDemo";
//import FullKeyboardDemo from "./FullKeyboardDemo";
//import ButtonThemeDemo from "./ButtonThemeDemo";
//import MultipleKeyboardsDemo from "./MultipleKeyboardsDestroyDemo";
/**
* Selected demo

View File

@@ -0,0 +1,67 @@
import TestUtility from '../../utils/TestUtility';
import MultipleKeyboardsDestroyDemo from '../MultipleKeyboardsDestroyDemo';
let testUtil = new TestUtility();
it('Demo will load', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
});
it('Demo onDOMLoaded will work', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
expect(demo.keyboard).toBeTruthy();
});
it('Demo onChange will work', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
demo.onChange("test");
demo.keyboard2.getButtonElement("q").click();
expect(document.body.querySelector('.input').value).toBe("test");
expect(document.body.querySelector('.input2').value).toBe("q");
});
it('Demo onChange will work', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
demo.keyboard.getButtonElement("q").onclick();
expect(document.body.querySelector('.input').value).toBe("q");
});
it('Demo input change will work', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
document.body.querySelector('.input').value = "test";
document.body.querySelector('.input').dispatchEvent(new Event('input'));
document.body.querySelector('.input2').value = "test2";
document.body.querySelector('.input2').dispatchEvent(new Event('input'));
expect(demo.keyboard.getInput()).toBe("test");
expect(demo.keyboard2.getInput()).toBe("test2");
});
it('Demo handleShiftButton will work', () => {
testUtil.setDOM();
let demo = new MultipleKeyboardsDestroyDemo();
demo.keyboard.getButtonElement("{shift}")[0].onclick();
expect(demo.keyboard.options.layoutName).toBe("shift");
demo.keyboard.getButtonElement("{shift}")[0].onclick();
expect(demo.keyboard.options.layoutName).toBe("default");
});

View File

@@ -69,6 +69,11 @@ html {
display: flex;
align-items: center;
justify-content: center;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.simple-keyboard.hg-theme-default .hg-button.hg-activeButton {
background: #efefef;
}
/* When using option "useButtonTag" */

View File

@@ -129,15 +129,13 @@ class SimpleKeyboard {
if (!window["SimpleKeyboardInstances"])
window["SimpleKeyboardInstances"] = {};
window["SimpleKeyboardInstances"][
this.utilities.camelCase(this.keyboardDOMClass)
] = this;
this.currentInstanceName = this.utilities.camelCase(this.keyboardDOMClass);
window["SimpleKeyboardInstances"][this.currentInstanceName] = this;
/**
* Instance vars
*/
this.allKeyboardInstances = window["SimpleKeyboardInstances"];
this.currentInstanceName = this.utilities.camelCase(this.keyboardDOMClass);
this.keyboardInstanceNames = Object.keys(window["SimpleKeyboardInstances"]);
this.isFirstKeyboardInstance =
this.keyboardInstanceNames[0] === this.currentInstanceName;
@@ -230,7 +228,7 @@ class SimpleKeyboard {
/**
* Enforce syncInstanceInputs, if set
*/
if (this.options.syncInstanceInputs) this.syncInstanceInputs(this.input);
if (this.options.syncInstanceInputs) this.syncInstanceInputs();
/**
* Calling onChange
@@ -261,6 +259,11 @@ class SimpleKeyboard {
if (this.options.preventMouseDownDefault) e.preventDefault();
if (this.options.stopMouseDownPropagation) e.stopPropagation();
/**
* Add active class
*/
if (e) e.target.classList.add(this.activeButtonClass);
/**
* @type {boolean} Whether the mouse is being held onKeyPress
*/
@@ -297,6 +300,13 @@ class SimpleKeyboard {
* Handles button mouseup
*/
handleButtonMouseUp(button) {
/**
* Remove active class
*/
this.recurseButtons(buttonElement => {
buttonElement.classList.remove(this.activeButtonClass);
});
this.isMouseHold = false;
if (this.holdInteractionTimeout) clearTimeout(this.holdInteractionTimeout);
@@ -307,6 +317,16 @@ class SimpleKeyboard {
this.options.onKeyReleased(button);
}
/**
* Handles container mousedown
*/
handleKeyboardContainerMouseDown(e) {
/**
* Handle event options
*/
if (this.options.preventMouseDownDefault) e.preventDefault();
}
/**
* Handles button hold
*/
@@ -353,7 +373,7 @@ class SimpleKeyboard {
/**
* Enforce syncInstanceInputs, if set
*/
if (this.options.syncInstanceInputs) this.syncInstanceInputs(this.input);
if (this.options.syncInstanceInputs) this.syncInstanceInputs();
}
/**
@@ -366,7 +386,7 @@ class SimpleKeyboard {
/**
* Enforce syncInstanceInputs, if set
*/
if (this.options.syncInstanceInputs) this.syncInstanceInputs(this.input);
if (this.options.syncInstanceInputs) this.syncInstanceInputs();
return this.input[inputName];
}
@@ -383,7 +403,7 @@ class SimpleKeyboard {
/**
* Enforce syncInstanceInputs, if set
*/
if (this.options.syncInstanceInputs) this.syncInstanceInputs(this.input);
if (this.options.syncInstanceInputs) this.syncInstanceInputs();
}
/**
@@ -432,7 +452,7 @@ class SimpleKeyboard {
/**
* Remove all keyboard rows and reset keyboard values.
* Used interally between re-renders.
* Used internally between re-renders.
*/
clear() {
this.keyboardDOM.innerHTML = "";
@@ -713,22 +733,77 @@ class SimpleKeyboard {
});
}
/**
* Execute an operation on each button
*/
recurseButtons(fn) {
if (!fn) return false;
Object.keys(this.buttonElements).forEach(buttonName =>
this.buttonElements[buttonName].forEach(fn)
);
}
/**
* Destroy keyboard listeners and DOM elements
*/
destroy() {
if (this.options.debug)
console.log(
`Destroying simple-keyboard instance: ${this.currentInstanceName}`
);
/**
* Remove listeners
* Remove document listeners
*/
document.removeEventListener("keyup", this.handleKeyUp);
document.removeEventListener("keydown", this.handleKeyDown);
document.removeEventListener("mouseup", this.handleMouseUp);
document.removeEventListener("touchend", this.handleTouchEnd);
document.onpointerup = null;
document.ontouchend = null;
document.ontouchcancel = null;
document.onmouseup = null;
/**
* Clear DOM
* Remove buttons
*/
this.clear();
let deleteButton = buttonElement => {
buttonElement.onpointerdown = null;
buttonElement.onpointerup = null;
buttonElement.onpointercancel = null;
buttonElement.ontouchstart = null;
buttonElement.ontouchend = null;
buttonElement.ontouchcancel = null;
buttonElement.onclick = null;
buttonElement.onmousedown = null;
buttonElement.onmouseup = null;
buttonElement.remove();
buttonElement = null;
};
this.recurseButtons(deleteButton);
this.buttonElements = null;
this.recurseButtons = null;
deleteButton = null;
/**
* Remove wrapper events
*/
this.keyboardDOM.onpointerdown = null;
this.keyboardDOM.ontouchstart = null;
this.keyboardDOM.onmousedown = null;
this.keyboardDOM.remove();
this.keyboardDOM = null;
/**
* Remove instance
*/
window["SimpleKeyboardInstances"][this.currentInstanceName] = null;
delete window["SimpleKeyboardInstances"][this.currentInstanceName];
}
/**
@@ -1166,6 +1241,8 @@ class SimpleKeyboard {
buttonDOM.setAttribute(attribute, value);
});
this.activeButtonClass = "hg-activeButton";
/**
* Handle button click event
*/
@@ -1182,8 +1259,12 @@ class SimpleKeyboard {
this.handleButtonClicked(button);
this.handleButtonMouseDown(button, e);
};
buttonDOM.onpointerup = () => this.handleButtonMouseUp(button);
buttonDOM.onpointercancel = () => this.handleButtonMouseUp(button);
buttonDOM.onpointerup = () => {
this.handleButtonMouseUp(button);
};
buttonDOM.onpointercancel = () => {
this.handleButtonMouseUp(button);
};
} else {
/**
* Fallback for browsers not supporting PointerEvents
@@ -1196,8 +1277,12 @@ class SimpleKeyboard {
this.handleButtonClicked(button);
this.handleButtonMouseDown(button, e);
};
buttonDOM.ontouchend = () => this.handleButtonMouseUp(button);
buttonDOM.ontouchcancel = () => this.handleButtonMouseUp(button);
buttonDOM.ontouchend = () => {
this.handleButtonMouseUp(button);
};
buttonDOM.ontouchcancel = () => {
this.handleButtonMouseUp(button);
};
} else {
/**
* Handle mouse events
@@ -1206,8 +1291,12 @@ class SimpleKeyboard {
this.isMouseHold = false;
this.handleButtonClicked(button);
};
buttonDOM.onmousedown = e => this.handleButtonMouseDown(button, e);
buttonDOM.onmouseup = () => this.handleButtonMouseUp(button);
buttonDOM.onmousedown = e => {
this.handleButtonMouseDown(button, e);
};
buttonDOM.onmouseup = () => {
this.handleButtonMouseUp(button);
};
}
}
@@ -1271,7 +1360,7 @@ class SimpleKeyboard {
this.initialized = true;
/**
* Handling onpointerup
* Handling parent events
*/
/* istanbul ignore next */
if (
@@ -1280,17 +1369,24 @@ class SimpleKeyboard {
!useMouseEvents
) {
document.onpointerup = () => this.handleButtonMouseUp();
this.keyboardDOM.onpointerdown = e =>
this.handleKeyboardContainerMouseDown(e);
} else if (useTouchEvents) {
/**
* Handling ontouchend, ontouchcancel
*/
document.ontouchend = () => this.handleButtonMouseUp();
document.ontouchcancel = () => this.handleButtonMouseUp();
this.keyboardDOM.ontouchstart = e =>
this.handleKeyboardContainerMouseDown(e);
} else if (!useTouchEvents) {
/**
* Handling mouseup
*/
document.onmouseup = () => this.handleButtonMouseUp();
this.keyboardDOM.onmousedown = e =>
this.handleKeyboardContainerMouseDown(e);
}
/**

View File

@@ -1228,10 +1228,16 @@ it('Keyboard destroy will work', () => {
testUtil.setDOM();
let keyboard = new Keyboard();
keyboard.destroy();
expect(keyboard.keyboardDOM).toBe(null);
});
expect(keyboard.keyboardDOM.innerHTML).toBeFalsy();
it('Keyboard destroy will work with debug option', () => {
testUtil.setDOM();
let keyboard = new Keyboard({ debug: true });
keyboard.destroy();
expect(keyboard.keyboardDOM).toBe(null);
});
it('Keyboard disableButtonHold will work', () => {
@@ -1325,4 +1331,10 @@ it('Keyboard buttonAttribute will warn about invalid entries', () => {
}
]
});
});
});
it('Keyboard recurseButtons will not work without a valid param', () => {
testUtil.setDOM();
let keyboard = new Keyboard();
expect(keyboard.recurseButtons()).toBe(false);
});

View File

@@ -304,7 +304,7 @@ class Utilities {
let options = this.getOptions();
let maxLength = options.maxLength;
let currentInput = inputObj[options.inputName];
let condition = currentInput.length === maxLength;
let condition = updatedInput.length - 1 >= maxLength;
if (
/**
@@ -376,6 +376,7 @@ class Utilities {
*/
static bindMethods(myClass, instance) {
// eslint-disable-next-line no-unused-vars
for (let myMethod of Object.getOwnPropertyNames(myClass.prototype)) {
let excludeMethod =
myMethod === "constructor" || myMethod === "bindMethods";

View File

@@ -379,7 +379,7 @@ it('Keyboard handleMaxLength will work with numeric maxLength', () => {
let output = keyboard.utilities.handleMaxLength(keyboard.input, "testq");
expect(output).toBeFalsy();
expect(output).toBe(true);
});
it('Keyboard handleMaxLength wont work with non numeric or object maxLength', () => {
@@ -490,4 +490,4 @@ it('Keyboard camelCase will work with empty strings', () => {
testUtil.setDOM();
let keyboard = new Keyboard();
expect(keyboard.utilities.camelCase()).toBeFalsy();
});
});