videomail-client 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +1 -1
- package/.eslintrc.js +4 -12
- package/.prettierrc.js +13 -0
- package/TODO.md +4 -4
- package/audit-ci.json +1 -6
- package/babel.config.js +38 -0
- package/package.json +24 -38
- package/prototype/js/videomail-client.js +852 -9226
- package/prototype/js/videomail-client.min.js +13 -13
- package/prototype/js/videomail-client.min.js.map +1 -1
- package/src/js/events.js +2 -1
- package/src/js/options.js +4 -2
- package/src/js/wrappers/buttons.js +25 -14
- package/src/js/wrappers/visuals/notifier.js +11 -4
- package/src/js/wrappers/visuals/recorder.js +41 -11
- package/src/js/wrappers/visuals.js +9 -3
- package/.prettierrc +0 -18
package/.browserslistrc
CHANGED
package/.eslintrc.js
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
parser: '@babel/eslint-parser',
|
|
3
|
-
extends: ['eslint:recommended', 'prettier'],
|
|
3
|
+
extends: ['eslint:recommended', 'plugin:import/recommended', 'prettier'],
|
|
4
4
|
env: {
|
|
5
5
|
browser: true,
|
|
6
6
|
node: true,
|
|
7
7
|
es6: true
|
|
8
8
|
},
|
|
9
9
|
rules: {
|
|
10
|
-
|
|
11
|
-
'
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
anonymous: 'ignore',
|
|
15
|
-
named: 'ignore',
|
|
16
|
-
asyncArrow: 'ignore'
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
ignorePatterns: ['node_modules/*']
|
|
10
|
+
// Turns on errors for missing imports which is great
|
|
11
|
+
'import/no-unresolved': 'error'
|
|
12
|
+
}
|
|
21
13
|
}
|
package/.prettierrc.js
ADDED
package/TODO.md
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
| src/js/wrappers/container.js | 293 | figure out how to fire dom's onload event again
|
|
9
9
|
| src/js/wrappers/container.js | 294 | or how to run all the scripts over again
|
|
10
10
|
| src/js/wrappers/optionsWrapper.js | 27 | fix this, it's not really an option
|
|
11
|
-
| src/js/wrappers/visuals/recorder.js |
|
|
12
|
-
| src/js/wrappers/visuals/recorder.js |
|
|
13
|
-
| src/js/wrappers/visuals/recorder.js |
|
|
14
|
-
| src/js/wrappers/visuals/recorder.js |
|
|
11
|
+
| src/js/wrappers/visuals/recorder.js | 594 | in https://github.com/binarykitchen/videomail-client/issues/142
|
|
12
|
+
| src/js/wrappers/visuals/recorder.js | 631 | retry with navigator.getUserMedia_() maybe?
|
|
13
|
+
| src/js/wrappers/visuals/recorder.js | 778 | commented out because for some reasons server does
|
|
14
|
+
| src/js/wrappers/visuals/recorder.js | 783 | consider removing this later or have it for debug=1 only?
|
|
15
15
|
| src/js/wrappers/visuals/userMedia.js | 309 | consider removing that if it's not the case anymore (for better performance)
|
|
16
16
|
| gulpfile.js | 1 | write this in ES6 once i have figured out how to
|
|
17
17
|
| gulpfile.js | 58 | fix this, so that it also works when not minified, this
|
package/audit-ci.json
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"high": true,
|
|
3
3
|
"package-manager": "npm",
|
|
4
|
-
"allowlist": [
|
|
5
|
-
"GHSA-jf85-cpcp-j695",
|
|
6
|
-
"GHSA-xvch-5gv4-984h",
|
|
7
|
-
"GHSA-7p7h-4mm5-852v",
|
|
8
|
-
"GHSA-ww39-953v-wcq6"
|
|
9
|
-
]
|
|
4
|
+
"allowlist": ["GHSA-xvch-5gv4-984h", "GHSA-7p7h-4mm5-852v", "GHSA-ww39-953v-wcq6", "GHSA-p6mc-m468-83gw"]
|
|
10
5
|
}
|
package/babel.config.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const getPresetOptions = (isTest = false, isProduction = false) => {
|
|
2
|
+
if (isTest) return { targets: { node: 'current' } } // for speed
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
// undefined means parse .browserlistrc by default
|
|
6
|
+
targets: !isProduction ? 'last 2 versions' : undefined
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const getBabelConfig = (api) => {
|
|
11
|
+
const isDev = api.env('development')
|
|
12
|
+
const isTest = api.env('test')
|
|
13
|
+
const isProduction = api.env('production')
|
|
14
|
+
|
|
15
|
+
api.cache.using(() => isDev || isTest)
|
|
16
|
+
|
|
17
|
+
const presets = [['@babel/preset-env', getPresetOptions(isTest, isProduction)]]
|
|
18
|
+
|
|
19
|
+
const plugins = [
|
|
20
|
+
// Polyfills the runtime needed for async/await, generators, and friends
|
|
21
|
+
// https://babeljs.io/docs/en/babel-plugin-transform-runtime
|
|
22
|
+
!isTest && [
|
|
23
|
+
'@babel/plugin-transform-runtime',
|
|
24
|
+
{
|
|
25
|
+
corejs: false,
|
|
26
|
+
regenerator: true
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
].filter(Boolean)
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
presets: presets,
|
|
33
|
+
plugins: plugins,
|
|
34
|
+
compact: isProduction
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
module.exports = getBabelConfig
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "videomail-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "A wicked npm package to record videos directly in the browser, wohooo!",
|
|
5
5
|
"author": "Michael Heuberger <michael.heuberger@binarykitchen.com>",
|
|
6
6
|
"contributors": [
|
|
@@ -20,20 +20,21 @@
|
|
|
20
20
|
"main": "prototype/js/videomail-client.js",
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "gulp build",
|
|
23
|
+
"clean": "rm -rf node_modules && rm -rf package-lock.json",
|
|
23
24
|
"test": "gulp test",
|
|
24
25
|
"watch": "NODE_NO_HTTP2=1 gulp watch",
|
|
25
26
|
"audit": "npx audit-ci --config audit-ci.json",
|
|
26
27
|
"patch": "./env/dev/release.sh --importance=patch",
|
|
27
28
|
"minor": "./env/dev/release.sh --importance=minor",
|
|
28
29
|
"major": "./env/dev/release.sh --importance=major",
|
|
29
|
-
"lint": "eslint --color
|
|
30
|
-
"lint
|
|
30
|
+
"lint": "eslint --color ./src ./test ./gulpfile.js",
|
|
31
|
+
"lint:fix": "npm --silent run lint -- --fix",
|
|
31
32
|
"prettier": "prettier --check ./src ./test gulpfile.js",
|
|
32
|
-
"prettier
|
|
33
|
+
"prettier:fix": "prettier --write ./src ./test gulpfile.js"
|
|
33
34
|
},
|
|
34
35
|
"engines": {
|
|
35
|
-
"node": ">=
|
|
36
|
-
"npm": ">=8.
|
|
36
|
+
"node": ">=20.5.1",
|
|
37
|
+
"npm": ">=9.8.0"
|
|
37
38
|
},
|
|
38
39
|
"keywords": [
|
|
39
40
|
"webcam",
|
|
@@ -44,29 +45,15 @@
|
|
|
44
45
|
"audio",
|
|
45
46
|
"recorder"
|
|
46
47
|
],
|
|
47
|
-
"babel": {
|
|
48
|
-
"presets": [
|
|
49
|
-
[
|
|
50
|
-
"@babel/env",
|
|
51
|
-
{
|
|
52
|
-
"useBuiltIns": "usage",
|
|
53
|
-
"corejs": 3
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
],
|
|
57
|
-
"plugins": [
|
|
58
|
-
"@babel/transform-runtime"
|
|
59
|
-
]
|
|
60
|
-
},
|
|
61
48
|
"dependencies": {
|
|
62
|
-
"@babel/
|
|
49
|
+
"@babel/core": "7.23.9",
|
|
63
50
|
"add-eventlistener-with-options": "1.25.5",
|
|
64
51
|
"animitter": "3.0.0",
|
|
65
52
|
"audio-sample": "3.0.1",
|
|
66
53
|
"canvas-to-buffer": "3.0.1",
|
|
67
54
|
"classlist.js": "1.1.20150312",
|
|
68
55
|
"contains": "0.1.1",
|
|
69
|
-
"core-js": "3.
|
|
56
|
+
"core-js": "3.36.0",
|
|
70
57
|
"create-error": "0.3.1",
|
|
71
58
|
"deepmerge": "4.3.1",
|
|
72
59
|
"defined": "1.0.1",
|
|
@@ -91,25 +78,24 @@
|
|
|
91
78
|
"websocket-stream": "5.5.2"
|
|
92
79
|
},
|
|
93
80
|
"devDependencies": {
|
|
94
|
-
"@babel/
|
|
95
|
-
"@babel/
|
|
96
|
-
"@babel/
|
|
97
|
-
"@babel/preset-env": "7.23.3",
|
|
81
|
+
"@babel/eslint-parser": "7.23.10",
|
|
82
|
+
"@babel/plugin-transform-runtime": "7.23.9",
|
|
83
|
+
"@babel/preset-env": "7.23.9",
|
|
98
84
|
"audit-ci": "6.6.1",
|
|
99
|
-
"autoprefixer": "10.4.
|
|
85
|
+
"autoprefixer": "10.4.17",
|
|
100
86
|
"babelify": "10.0.0",
|
|
101
87
|
"body-parser": "1.20.2",
|
|
102
88
|
"browserify": "17.0.0",
|
|
103
89
|
"connect-send-json": "1.0.0",
|
|
104
|
-
"cssnano": "6.0.
|
|
90
|
+
"cssnano": "6.0.3",
|
|
105
91
|
"del": "6.1.1",
|
|
106
|
-
"eslint": "8.
|
|
107
|
-
"eslint-config-prettier": "
|
|
108
|
-
"eslint-plugin-import": "2.29.
|
|
92
|
+
"eslint": "8.56.0",
|
|
93
|
+
"eslint-config-prettier": "9.1.0",
|
|
94
|
+
"eslint-plugin-import": "2.29.1",
|
|
109
95
|
"eslint-plugin-node": "11.1.0",
|
|
110
96
|
"eslint-plugin-promise": "6.1.1",
|
|
111
97
|
"fancy-log": "2.0.0",
|
|
112
|
-
"glob": "
|
|
98
|
+
"glob": "10.3.10",
|
|
113
99
|
"gulp": "4.0.2",
|
|
114
100
|
"gulp-bump": "3.2.0",
|
|
115
101
|
"gulp-bytediff": "1.0.0",
|
|
@@ -120,20 +106,20 @@
|
|
|
120
106
|
"gulp-inject-string": "1.1.2",
|
|
121
107
|
"gulp-load-plugins": "2.0.8",
|
|
122
108
|
"gulp-plumber": "1.2.1",
|
|
123
|
-
"gulp-postcss": "
|
|
109
|
+
"gulp-postcss": "10.0.0",
|
|
124
110
|
"gulp-rename": "2.0.0",
|
|
125
111
|
"gulp-sourcemaps": "3.0.0",
|
|
126
|
-
"gulp-stylus": "
|
|
112
|
+
"gulp-stylus": "3.0.1",
|
|
127
113
|
"gulp-terser": "2.1.0",
|
|
128
114
|
"gulp-todo": "7.1.1",
|
|
129
115
|
"minimist": "1.2.8",
|
|
130
116
|
"nib": "1.2.0",
|
|
131
|
-
"postcss": "8.4.
|
|
132
|
-
"prettier": "2.
|
|
117
|
+
"postcss": "8.4.35",
|
|
118
|
+
"prettier": "3.2.5",
|
|
133
119
|
"router": "1.3.8",
|
|
134
|
-
"tape": "5.7.
|
|
120
|
+
"tape": "5.7.5",
|
|
135
121
|
"tape-catch": "1.0.6",
|
|
136
|
-
"tape-run": "
|
|
122
|
+
"tape-run": "11.0.0",
|
|
137
123
|
"vinyl-buffer": "1.0.1",
|
|
138
124
|
"vinyl-source-stream": "2.0.0",
|
|
139
125
|
"watchify": "4.0.0"
|