@signageos/front-applet 6.5.6 → 6.6.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/CHANGELOG.md +8 -0
- package/dist/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/docs/content/js-device-info.md +1 -0
- package/docs/content/js-file-system.md +2 -1
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.d.ts +2 -0
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.js +13 -0
- package/es6/FrontApplet/DeviceInfo/DeviceInfo.js.map +1 -1
- package/es6/FrontApplet/Input/Input.d.ts +9 -3
- package/es6/FrontApplet/Input/Input.js +59 -18
- package/es6/FrontApplet/Input/Input.js.map +1 -1
- package/package.json +5 -5
|
@@ -21,6 +21,7 @@ Information set to the device using the CloudControl - e.g. Location and Tags.
|
|
|
21
21
|
| ----------------- | ------------------ | :---------------: |
|
|
22
22
|
| `getLocation()` | Returns location when assigned to device | 5.2.0 |
|
|
23
23
|
| `getOrganizationTags()` | Returns list of organization tags when some assigned to device | 5.2.0
|
|
24
|
+
| `getDeviceName()` | Returns name of device | 6.6.0 |
|
|
24
25
|
|
|
25
26
|
## getLocation()
|
|
26
27
|
Location is requested from server on application start, automatically updated when changed and persists in local storage.
|
|
@@ -273,7 +273,8 @@ For every download request, our app makes HEAD request for `content-length` head
|
|
|
273
273
|
:::
|
|
274
274
|
|
|
275
275
|
:::warning
|
|
276
|
-
`headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
|
|
276
|
+
- `headers` has to be a JSON object. If you are passing the value, make sure you use `JSON.parse()`.
|
|
277
|
+
- Windows platform can download only files smaller then 4GB.
|
|
277
278
|
:::
|
|
278
279
|
|
|
279
280
|
### Javascript Example
|
|
@@ -7,5 +7,7 @@ export default class DeviceInfo {
|
|
|
7
7
|
constructor(messagePrefix: string, postMessage: IPostMessage<any>);
|
|
8
8
|
getLocation(): Promise<IDeviceLocation | null>;
|
|
9
9
|
getOrganizationTags(): Promise<IOrganizationTag[]>;
|
|
10
|
+
getDeviceName(): Promise<string>;
|
|
10
11
|
private getMessage;
|
|
12
|
+
private geDeviceNameFromTittle;
|
|
11
13
|
}
|
|
@@ -26,9 +26,22 @@ class DeviceInfo {
|
|
|
26
26
|
return tags;
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
getDeviceName() {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const deviceName = this.geDeviceNameFromTittle();
|
|
32
|
+
return deviceName;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
29
35
|
getMessage(name) {
|
|
30
36
|
return [this.messagePrefix, DeviceInfo.MESSAGE_PREFIX, name].join('.');
|
|
31
37
|
}
|
|
38
|
+
geDeviceNameFromTittle() {
|
|
39
|
+
var _a;
|
|
40
|
+
const rootDocument = window.parent.document;
|
|
41
|
+
const titleElement = rootDocument.head.getElementsByTagName('title')[0];
|
|
42
|
+
const parentElement = titleElement.parentElement;
|
|
43
|
+
return (_a = parentElement.getElementsByTagName('title')[0].innerHTML) !== null && _a !== void 0 ? _a : '';
|
|
44
|
+
}
|
|
32
45
|
}
|
|
33
46
|
exports.default = DeviceInfo;
|
|
34
47
|
DeviceInfo.MESSAGE_PREFIX = 'device_info';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../src/FrontApplet/DeviceInfo/DeviceInfo.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAqB,UAAU;IAG9B,YAAoB,aAAqB,EAAU,WAA8B;QAA7D,kBAAa,GAAb,aAAa,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAmB;IAAG,CAAC;IAExE,WAAW;;YACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEY,mBAAmB;;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;;
|
|
1
|
+
{"version":3,"file":"DeviceInfo.js","sourceRoot":"","sources":["../../../src/FrontApplet/DeviceInfo/DeviceInfo.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAqB,UAAU;IAG9B,YAAoB,aAAqB,EAAU,WAA8B;QAA7D,kBAAa,GAAb,aAAa,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAmB;IAAG,CAAC;IAExE,WAAW;;YACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEY,mBAAmB;;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC;QACb,CAAC;KAAA;IAEY,aAAa;;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,OAAO,UAAU,CAAC;QACnB,CAAC;KAAA;IAEO,UAAU,CAAC,IAAY;QAC9B,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAEO,sBAAsB;;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,YAAY,CAAC,aAAc,CAAC;QAClD,OAAO,MAAA,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,mCAAI,EAAE,CAAC;IACvE,CAAC;;AA7BF,6BA8BC;AA7Bc,yBAAc,GAAW,aAAa,CAAC"}
|
|
@@ -4,15 +4,21 @@ import IKeyUpEvent from './IKeyUpEvent';
|
|
|
4
4
|
import { IInput } from './IInput';
|
|
5
5
|
export default class Input implements IInput {
|
|
6
6
|
readonly window: Window;
|
|
7
|
-
private messagePrefix;
|
|
8
|
-
static MESSAGE_PREFIX: string;
|
|
9
|
-
private eventEmitter;
|
|
7
|
+
private readonly messagePrefix;
|
|
8
|
+
static readonly MESSAGE_PREFIX: string;
|
|
9
|
+
private readonly eventEmitter;
|
|
10
|
+
private readonly hasWindowEventListener;
|
|
11
|
+
private alive;
|
|
10
12
|
constructor(window: Window, messagePrefix: string);
|
|
13
|
+
destroy(): void;
|
|
11
14
|
onKeyUp(listener: IKeyUpEventListener): void;
|
|
12
15
|
handleMessageData(data: IInputKeyMessage): void;
|
|
13
16
|
removeEventListeners(): void;
|
|
14
17
|
removeEventListener(event: string, listener: (...args: any[]) => void): void;
|
|
15
18
|
emitKeyUpEvent(event: IKeyUpEvent): void;
|
|
19
|
+
private isTopLevelFrame;
|
|
20
|
+
private canAccessParentOrigin;
|
|
16
21
|
private dispatchEventToParent;
|
|
17
22
|
private getMessage;
|
|
23
|
+
private checkAlive;
|
|
18
24
|
}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
const events_1 = require("events");
|
|
13
4
|
const Validate_1 = require("../Validate/Validate");
|
|
@@ -16,9 +7,39 @@ class Input {
|
|
|
16
7
|
this.window = window;
|
|
17
8
|
this.messagePrefix = messagePrefix;
|
|
18
9
|
this.eventEmitter = new events_1.EventEmitter();
|
|
19
|
-
this.
|
|
10
|
+
this.hasWindowEventListener = false;
|
|
11
|
+
this.alive = true;
|
|
12
|
+
this.dispatchEventToParent = (event) => {
|
|
13
|
+
try {
|
|
14
|
+
this.window.parent.document.dispatchEvent(new KeyboardEvent('keyup', event));
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
if (e instanceof ReferenceError) {
|
|
18
|
+
// KeyboardEvent constructor isn't available during tests.
|
|
19
|
+
// TODO Mock KeyboardEvent constructor during tests.
|
|
20
|
+
this.window.parent.document.dispatchEvent(event);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
if (!this.isTopLevelFrame() && this.canAccessParentOrigin()) {
|
|
28
|
+
this.hasWindowEventListener = true;
|
|
29
|
+
this.window.addEventListener('keyup', this.dispatchEventToParent);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
destroy() {
|
|
33
|
+
if (this.alive) {
|
|
34
|
+
this.alive = false;
|
|
35
|
+
this.removeEventListeners();
|
|
36
|
+
if (this.hasWindowEventListener) {
|
|
37
|
+
this.window.removeEventListener('keyup', this.dispatchEventToParent);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
20
40
|
}
|
|
21
41
|
onKeyUp(listener) {
|
|
42
|
+
this.checkAlive();
|
|
22
43
|
Validate_1.default({ listener }).required().function();
|
|
23
44
|
this.eventEmitter.addListener('keyup', listener);
|
|
24
45
|
}
|
|
@@ -30,7 +51,7 @@ class Input {
|
|
|
30
51
|
keyCode: data.keyCode,
|
|
31
52
|
keyName: data.keyName,
|
|
32
53
|
};
|
|
33
|
-
this.
|
|
54
|
+
this.emitKeyUpEvent(keyupEvent);
|
|
34
55
|
break;
|
|
35
56
|
default:
|
|
36
57
|
}
|
|
@@ -42,22 +63,42 @@ class Input {
|
|
|
42
63
|
this.eventEmitter.removeListener(event, listener);
|
|
43
64
|
}
|
|
44
65
|
emitKeyUpEvent(event) {
|
|
66
|
+
this.checkAlive();
|
|
45
67
|
this.eventEmitter.emit('keyup', event);
|
|
46
68
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
isTopLevelFrame() {
|
|
70
|
+
return this.window === this.window.parent;
|
|
71
|
+
}
|
|
72
|
+
canAccessParentOrigin() {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
try {
|
|
75
|
+
const hasParent = !!((_b = (_a = this.window) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.document);
|
|
76
|
+
if (!hasParent) {
|
|
77
|
+
console.warn('Parent window or document is not defined');
|
|
78
|
+
}
|
|
79
|
+
return hasParent;
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
if (e instanceof DOMException) {
|
|
83
|
+
// Blocked a frame with origin "..." from accessing a cross-origin frame.
|
|
84
|
+
// This will happen on Android when applets have https://appassets.android.signageos.io origin
|
|
85
|
+
// and top-level frame has file:// origin. Android doesn't benefit from this hack anyway.
|
|
86
|
+
console.warn('Parent document is not accessible');
|
|
87
|
+
return false;
|
|
52
88
|
}
|
|
53
89
|
else {
|
|
54
|
-
|
|
90
|
+
throw e;
|
|
55
91
|
}
|
|
56
|
-
}
|
|
92
|
+
}
|
|
57
93
|
}
|
|
58
94
|
getMessage(name) {
|
|
59
95
|
return this.messagePrefix + '.' + Input.MESSAGE_PREFIX + '.' + name;
|
|
60
96
|
}
|
|
97
|
+
checkAlive() {
|
|
98
|
+
if (!this.alive) {
|
|
99
|
+
throw new Error('destroyed');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
61
102
|
}
|
|
62
103
|
exports.default = Input;
|
|
63
104
|
Input.MESSAGE_PREFIX = 'input';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/FrontApplet/Input/Input.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/FrontApplet/Input/Input.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAItC,mDAA4C;AAG5C,MAAqB,KAAK;IAQzB,YAA4B,MAAc,EAAmB,aAAqB;QAAtD,WAAM,GAAN,MAAM,CAAQ;QAAmB,kBAAa,GAAb,aAAa,CAAQ;QALjE,iBAAY,GAAiB,IAAI,qBAAY,EAAE,CAAC;QAChD,2BAAsB,GAAY,KAAK,CAAC;QAEjD,UAAK,GAAY,IAAI,CAAC;QA4EtB,0BAAqB,GAAG,CAAC,KAAoB,EAAE,EAAE;YACxD,IAAI;gBACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aAC7E;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,CAAC,YAAY,cAAc,EAAE;oBAChC,0DAA0D;oBAC1D,oDAAoD;oBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBACjD;qBAAM;oBACN,MAAM,CAAC,CAAC;iBACR;aACD;QACF,CAAC,CAAA;QArFA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAC5D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAClE;IACF,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACrE;SACD;IACF,CAAC;IAEM,OAAO,CAAC,QAA6B;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,kBAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEM,iBAAiB,CAAC,IAAsB;QAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE;YAClB,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,MAAM,UAAU,GAAgB;oBAC/B,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;gBAC/B,MAAM;YACP,QAAQ;SACR;IACF,CAAC;IAEM,oBAAoB;QAC1B,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;IAEM,mBAAmB,CAAC,KAAa,EAAE,QAAkC;QAC3E,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEM,cAAc,CAAC,KAAkB;QACvC,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,eAAe;QACtB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC1C,CAAC;IAEO,qBAAqB;;QAC5B,IAAI;YACH,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;aACzD;YACD,OAAO,SAAS,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,YAAY,YAAY,EAAE;gBAC9B,yEAAyE;gBACzE,8FAA8F;gBAC9F,yFAAyF;gBACzF,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAClD,OAAO,KAAK,CAAC;aACb;iBAAM;gBACN,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAgBO,UAAU,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;IACrE,CAAC;IAEO,UAAU;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAC7B;IACF,CAAC;;AAxGF,wBAyGC;AAxGuB,oBAAc,GAAW,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signageos/front-applet",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"main": "dist/bundle.js",
|
|
5
5
|
"types": "es6/bundle.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"lint:prettier:fix": "prettier \"**/*.+(ts|tsx|json|js)\" --write",
|
|
21
21
|
"lint:staged": "npx lint-staged",
|
|
22
22
|
"prebuild": "rm -rf dist/*",
|
|
23
|
-
"prepare": "npm run
|
|
23
|
+
"prepare": "npm run build && npm run generate-declarations && npx husky install",
|
|
24
24
|
"test": "env NODE_ENV=test ./node_modules/mocha/bin/mocha --config .mocha/default.js",
|
|
25
25
|
"test:coverage": "npm run test:coverage:runtime && npm run test:coverage:types",
|
|
26
26
|
"test:coverage:runtime": "env NODE_ENV=test c8 ./node_modules/mocha/bin/mocha --config .mocha/transpile-only.js",
|
|
27
27
|
"test:coverage:types": "tsc --noEmit -p tsconfig.json",
|
|
28
28
|
"escheck": "es-check --module es5 dist/*.js",
|
|
29
29
|
"check": "npm run depcheck && npx --userconfig ./.npmrc @signageos/lib check-deps '.+' 'weinre'",
|
|
30
|
-
"depcheck": "depcheck --specials=tslint,webpack,mocha --parsers='*.ts:typescript,*.js:es6' --detectors='requireCallExpression,importDeclaration' --ignore-dirs='dist,packages' --ignores='@types/*,@signageos/codestyle,ts-node,source-map-support,mocha,depcheck,webpack-cli,@babel/polyfill,@babel/preset-env,es-check,debug,husky,lint-staged,c8,should-sinon,
|
|
30
|
+
"depcheck": "depcheck --specials=tslint,webpack,mocha --parsers='*.ts:typescript,*.js:es6' --detectors='requireCallExpression,importDeclaration' --ignore-dirs='dist,packages' --ignores='@types/*,@signageos/codestyle,ts-node,source-map-support,mocha,depcheck,webpack-cli,@babel/polyfill,@babel/preset-env,es-check,debug,husky,lint-staged,c8,should-sinon,faker,should,sinon'"
|
|
31
31
|
},
|
|
32
32
|
"repository": {
|
|
33
33
|
"url": "git@gitlab.com:signageos/front-applet",
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"tslint": "5.4.3",
|
|
65
65
|
"typescript": "4.3.5",
|
|
66
66
|
"webpack": "4.39.2",
|
|
67
|
-
"webpack-cli": "3.3.7"
|
|
67
|
+
"webpack-cli": "3.3.7",
|
|
68
|
+
"weinre": "2.0.0-pre-I0Z7U9OV"
|
|
68
69
|
},
|
|
69
70
|
"engines": {
|
|
70
71
|
"node": ">=12.0.0",
|
|
@@ -78,7 +79,6 @@
|
|
|
78
79
|
"engine-strict": false,
|
|
79
80
|
"author": "signageOS <dev@signageos.io>",
|
|
80
81
|
"license": "MIT",
|
|
81
|
-
"dependencies": {},
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"registry": "https://registry.npmjs.org/",
|
|
84
84
|
"access": "public"
|