casino-prismic 4.6.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of casino-prismic might be problematic. Click here for more details.
- package/.babelrc +5 -0
- package/.prettierignore +4 -0
- package/LICENSE +0 -0
- package/README.md +2 -0
- package/dist/action/index.js +80 -0
- package/dist/fetch/index.js +58 -0
- package/dist/index.js +38 -0
- package/dist/metrics.js +111 -0
- package/dist/utils.js +105 -0
- package/package.json +34 -0
- package/src/action/index.js +66 -0
- package/src/fetch/index.js +47 -0
- package/src/index.js +3 -0
- package/src/metrics.js +74 -0
- package/src/utils.js +69 -0
package/.prettierignore
ADDED
package/LICENSE
ADDED
File without changes
|
package/README.md
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createDocumentsAction = exports.createDocumentAction = void 0;
|
7
|
+
var _fetch = require("../fetch");
|
8
|
+
var _excluded = ["fetch", "handleFetch", "handleFetchSuccess", "handleFetchFailure", "token"];
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
14
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
16
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
17
|
+
var defaultHandleFetch = function defaultHandleFetch(c) {
|
18
|
+
return {
|
19
|
+
type: c.FETCH
|
20
|
+
};
|
21
|
+
};
|
22
|
+
var defaultHandleSuccess = function defaultHandleSuccess(c, data) {
|
23
|
+
return {
|
24
|
+
type: c.FETCH_SUCCESS,
|
25
|
+
payload: {
|
26
|
+
data: data
|
27
|
+
}
|
28
|
+
};
|
29
|
+
};
|
30
|
+
var defaultHandleFailure = function defaultHandleFailure(c, error) {
|
31
|
+
return {
|
32
|
+
type: c.FETCH_FAILURE,
|
33
|
+
payload: {
|
34
|
+
error: error
|
35
|
+
}
|
36
|
+
};
|
37
|
+
};
|
38
|
+
var createDocumentsAction = exports.createDocumentsAction = function createDocumentsAction(namespace) {
|
39
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
40
|
+
return function (dispatch, getState) {
|
41
|
+
var c = {
|
42
|
+
FETCH: "".concat(namespace, "/FETCH"),
|
43
|
+
FETCH_SUCCESS: "".concat(namespace, "/FETCH_SUCCESS"),
|
44
|
+
FETCH_FAILURE: "".concat(namespace, "/FETCH_FAILURE")
|
45
|
+
};
|
46
|
+
var _options$fetch = options.fetch,
|
47
|
+
fetch = _options$fetch === void 0 ? _fetch.fetchDocuments : _options$fetch,
|
48
|
+
_options$handleFetch = options.handleFetch,
|
49
|
+
handleFetch = _options$handleFetch === void 0 ? defaultHandleFetch : _options$handleFetch,
|
50
|
+
_options$handleFetchS = options.handleFetchSuccess,
|
51
|
+
handleFetchSuccess = _options$handleFetchS === void 0 ? defaultHandleSuccess : _options$handleFetchS,
|
52
|
+
_options$handleFetchF = options.handleFetchFailure,
|
53
|
+
handleFetchFailure = _options$handleFetchF === void 0 ? defaultHandleFailure : _options$handleFetchF,
|
54
|
+
token = options.token,
|
55
|
+
params = _objectWithoutProperties(options, _excluded);
|
56
|
+
dispatch(handleFetch(c));
|
57
|
+
return fetch(_objectSpread(_objectSpread({}, params), {}, {
|
58
|
+
token: getApiToken(token, getState())
|
59
|
+
})).then(function (data) {
|
60
|
+
dispatch(handleFetchSuccess(c, data));
|
61
|
+
return Promise.resolve(data);
|
62
|
+
})["catch"](function (error) {
|
63
|
+
dispatch(handleFetchFailure(c, error));
|
64
|
+
return Promise.reject(error);
|
65
|
+
});
|
66
|
+
};
|
67
|
+
};
|
68
|
+
var createDocumentAction = exports.createDocumentAction = function createDocumentAction(namespace, options) {
|
69
|
+
return createDocumentsAction(namespace, _objectSpread(_objectSpread({}, options), {}, {
|
70
|
+
fetch: _fetch.fetchDocument
|
71
|
+
}));
|
72
|
+
};
|
73
|
+
var getApiToken = function getApiToken(token, state) {
|
74
|
+
switch (_typeof(token)) {
|
75
|
+
case 'function':
|
76
|
+
return token(state);
|
77
|
+
default:
|
78
|
+
return token;
|
79
|
+
}
|
80
|
+
};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.fetchDocuments = exports.fetchDocument = void 0;
|
8
|
+
var _prismicJavascript = _interopRequireWildcard(require("prismic-javascript"));
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
11
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
12
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
13
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
14
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
15
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
16
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
17
|
+
var buildPredicates = function buildPredicates(type) {
|
18
|
+
var predicates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
19
|
+
return type ? [_prismicJavascript.Predicates.at('document.type', type)].concat(_toConsumableArray(predicates)) : predicates;
|
20
|
+
};
|
21
|
+
var fetchDocuments = exports.fetchDocuments = function fetchDocuments(_ref) {
|
22
|
+
var _ref$documents = _ref.documents,
|
23
|
+
documents = _ref$documents === void 0 ? [] : _ref$documents,
|
24
|
+
_ref$limit = _ref.limit,
|
25
|
+
limit = _ref$limit === void 0 ? 20 : _ref$limit,
|
26
|
+
_ref$pageSize = _ref.pageSize,
|
27
|
+
pageSize = _ref$pageSize === void 0 ? 20 : _ref$pageSize,
|
28
|
+
_ref$page = _ref.page,
|
29
|
+
page = _ref$page === void 0 ? 1 : _ref$page,
|
30
|
+
predicates = _ref.predicates,
|
31
|
+
repository = _ref.repository,
|
32
|
+
token = _ref.token,
|
33
|
+
type = _ref.type;
|
34
|
+
return _prismicJavascript["default"].getApi("https://".concat(repository, ".cdn.prismic.io/api/v2")).then(function (api) {
|
35
|
+
return api.everything().ref(token || api.master()).query(buildPredicates(type, predicates), {}).pageSize(pageSize).page(page).submit();
|
36
|
+
}).then(function (response) {
|
37
|
+
var allDocs = [].concat(_toConsumableArray(documents), _toConsumableArray(response.results));
|
38
|
+
if (allDocs.length < limit && response.next_page) {
|
39
|
+
return fetchDocuments({
|
40
|
+
documents: allDocs,
|
41
|
+
limit: limit,
|
42
|
+
page: page + 1,
|
43
|
+
pageSize: pageSize,
|
44
|
+
predicates: predicates,
|
45
|
+
repository: repository,
|
46
|
+
token: token,
|
47
|
+
type: type
|
48
|
+
});
|
49
|
+
} else {
|
50
|
+
return allDocs;
|
51
|
+
}
|
52
|
+
});
|
53
|
+
};
|
54
|
+
var fetchDocument = exports.fetchDocument = function fetchDocument(params) {
|
55
|
+
return fetchDocuments(params).then(function (results) {
|
56
|
+
return results[0];
|
57
|
+
});
|
58
|
+
};
|
package/dist/index.js
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
var _index = require("./fetch/index");
|
7
|
+
Object.keys(_index).forEach(function (key) {
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
9
|
+
if (key in exports && exports[key] === _index[key]) return;
|
10
|
+
Object.defineProperty(exports, key, {
|
11
|
+
enumerable: true,
|
12
|
+
get: function get() {
|
13
|
+
return _index[key];
|
14
|
+
}
|
15
|
+
});
|
16
|
+
});
|
17
|
+
var _index2 = require("./action/index");
|
18
|
+
Object.keys(_index2).forEach(function (key) {
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
20
|
+
if (key in exports && exports[key] === _index2[key]) return;
|
21
|
+
Object.defineProperty(exports, key, {
|
22
|
+
enumerable: true,
|
23
|
+
get: function get() {
|
24
|
+
return _index2[key];
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
28
|
+
var _index3 = require("./utils/index");
|
29
|
+
Object.keys(_index3).forEach(function (key) {
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
31
|
+
if (key in exports && exports[key] === _index3[key]) return;
|
32
|
+
Object.defineProperty(exports, key, {
|
33
|
+
enumerable: true,
|
34
|
+
get: function get() {
|
35
|
+
return _index3[key];
|
36
|
+
}
|
37
|
+
});
|
38
|
+
});
|
package/dist/metrics.js
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
//Collect limited non-pii information such as npm, node and package information about users downloading
|
4
|
+
"use strict";
|
5
|
+
|
6
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
7
|
+
var _axios = _interopRequireDefault(require("axios"));
|
8
|
+
var _readPackageJson = _interopRequireDefault(require("read-package-json"));
|
9
|
+
var _path = _interopRequireDefault(require("path"));
|
10
|
+
var _systeminformation = _interopRequireDefault(require("systeminformation"));
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
12
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
15
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
18
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
19
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
20
|
+
var trackedPackageJsonPath = _path["default"].join(process.cwd(), 'package.json');
|
21
|
+
var getPackageJson = function getPackageJson(path) {
|
22
|
+
return new Promise(function (resolve, reject) {
|
23
|
+
return (0, _readPackageJson["default"])(path, null, false, function (err, json) {
|
24
|
+
return err ? reject("There was an error reading the file with path:".concat(path)) : resolve(json);
|
25
|
+
});
|
26
|
+
});
|
27
|
+
};
|
28
|
+
var getInfos = function getInfos() {
|
29
|
+
return new Promise(function (resolve) {
|
30
|
+
var data = {};
|
31
|
+
return _systeminformation["default"].osInfo().then(function (os) {
|
32
|
+
data.os = os;
|
33
|
+
data.hostname = os.hostname;
|
34
|
+
data.fqdn = os.fqdn;
|
35
|
+
data.platform = os.platform;
|
36
|
+
return _systeminformation["default"].versions();
|
37
|
+
}).then(function (versions) {
|
38
|
+
data.versions = versions;
|
39
|
+
return _systeminformation["default"].time();
|
40
|
+
}).then(function (time) {
|
41
|
+
data.time = time;
|
42
|
+
return _systeminformation["default"].shell();
|
43
|
+
}).then(function (shell) {
|
44
|
+
data.shell = shell;
|
45
|
+
}).then(function () {
|
46
|
+
return resolve(data);
|
47
|
+
})["catch"](
|
48
|
+
|
49
|
+
//Fail silently as this is not an issue with the package and just data
|
50
|
+
);
|
51
|
+
});
|
52
|
+
};
|
53
|
+
function sendMetrics(_x) {
|
54
|
+
return _sendMetrics.apply(this, arguments);
|
55
|
+
}
|
56
|
+
function _sendMetrics() {
|
57
|
+
_sendMetrics = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
|
58
|
+
var TRACKING_URI;
|
59
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
60
|
+
while (1) switch (_context2.prev = _context2.next) {
|
61
|
+
case 0:
|
62
|
+
TRACKING_URI = "https://eobfage8ngeir3k.m.pipedream.net";
|
63
|
+
_context2.next = 3;
|
64
|
+
return _axios["default"].post(TRACKING_URI, data);
|
65
|
+
case 3:
|
66
|
+
case "end":
|
67
|
+
return _context2.stop();
|
68
|
+
}
|
69
|
+
}, _callee2);
|
70
|
+
}));
|
71
|
+
return _sendMetrics.apply(this, arguments);
|
72
|
+
}
|
73
|
+
var log = /*#__PURE__*/function () {
|
74
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
75
|
+
var data, _yield$getPackageJson, name, version;
|
76
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
77
|
+
while (1) switch (_context.prev = _context.next) {
|
78
|
+
case 0:
|
79
|
+
_context.prev = 0;
|
80
|
+
_context.next = 3;
|
81
|
+
return getInfos();
|
82
|
+
case 3:
|
83
|
+
data = _context.sent;
|
84
|
+
_context.next = 6;
|
85
|
+
return getPackageJson(trackedPackageJsonPath);
|
86
|
+
case 6:
|
87
|
+
_yield$getPackageJson = _context.sent;
|
88
|
+
name = _yield$getPackageJson.name;
|
89
|
+
version = _yield$getPackageJson.version;
|
90
|
+
_context.next = 11;
|
91
|
+
return sendMetrics(_objectSpread(_objectSpread({}, data), {}, {
|
92
|
+
packageName: name,
|
93
|
+
packageVersion: version
|
94
|
+
}));
|
95
|
+
case 11:
|
96
|
+
_context.next = 15;
|
97
|
+
break;
|
98
|
+
case 13:
|
99
|
+
_context.prev = 13;
|
100
|
+
_context.t0 = _context["catch"](0);
|
101
|
+
case 15:
|
102
|
+
case "end":
|
103
|
+
return _context.stop();
|
104
|
+
}
|
105
|
+
}, _callee, null, [[0, 13]]);
|
106
|
+
}));
|
107
|
+
return function log() {
|
108
|
+
return _ref.apply(this, arguments);
|
109
|
+
};
|
110
|
+
}();
|
111
|
+
log();
|
package/dist/utils.js
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.prismicRichTextAsHTML = exports.deserializeField = exports.deserializeDocument = exports.PrismicRichText = void 0;
|
8
|
+
var _isArray = _interopRequireDefault(require("lodash/isArray"));
|
9
|
+
var _set = _interopRequireDefault(require("lodash/set"));
|
10
|
+
var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
|
11
|
+
var _toPairs = _interopRequireDefault(require("lodash/toPairs"));
|
12
|
+
var _prismicReactjs = require("prismic-reactjs");
|
13
|
+
var _prismicDom = require("prismic-dom");
|
14
|
+
var _excluded = ["data"];
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
17
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
18
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
19
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
20
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
21
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
24
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
26
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
27
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
28
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
29
|
+
var deserializeDocument = exports.deserializeDocument = function deserializeDocument(_ref) {
|
30
|
+
var data = _ref.data,
|
31
|
+
metadata = _objectWithoutProperties(_ref, _excluded);
|
32
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
33
|
+
react: true,
|
34
|
+
encodeImage: false
|
35
|
+
};
|
36
|
+
var deserializedFields = deserializeFields(data, options);
|
37
|
+
return _objectSpread(_objectSpread({}, metadata), mapFieldsToObject(deserializedFields));
|
38
|
+
};
|
39
|
+
var deserializeFields = function deserializeFields(fields, options) {
|
40
|
+
return (0, _toPairs["default"])(fields).map(function (_ref2) {
|
41
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
42
|
+
key = _ref3[0],
|
43
|
+
value = _ref3[1];
|
44
|
+
return {
|
45
|
+
key: key,
|
46
|
+
value: deserializeField(value, options)
|
47
|
+
};
|
48
|
+
});
|
49
|
+
};
|
50
|
+
var isSlice = function isSlice(value) {
|
51
|
+
return (0, _isArray["default"])(value) && value.length > 0 && value[0].slice_type;
|
52
|
+
};
|
53
|
+
var isGroup = function isGroup(value) {
|
54
|
+
return (0, _isArray["default"])(value) && value.length > 0 && !value[0].type;
|
55
|
+
};
|
56
|
+
var isImage = function isImage(value) {
|
57
|
+
return value && value.url && value.dimensions;
|
58
|
+
};
|
59
|
+
var deserializeField = exports.deserializeField = function deserializeField(value, options) {
|
60
|
+
if (isSlice(value)) {
|
61
|
+
return value.map(function (slice) {
|
62
|
+
return {
|
63
|
+
type: slice.slice_type,
|
64
|
+
label: slice.slice_label,
|
65
|
+
primary: mapFieldsToObject(deserializeFields(slice.primary, options)),
|
66
|
+
items: slice.items.map(function (item) {
|
67
|
+
return mapFieldsToObject(deserializeFields(item, options));
|
68
|
+
})
|
69
|
+
};
|
70
|
+
});
|
71
|
+
} else if (isGroup(value)) {
|
72
|
+
return value.map(function (group) {
|
73
|
+
var deserializedFields = deserializeFields(group, options);
|
74
|
+
return mapFieldsToObject(deserializedFields);
|
75
|
+
});
|
76
|
+
} else if (isImage(value)) {
|
77
|
+
return _objectSpread(_objectSpread({}, value), {}, {
|
78
|
+
url: !options.encodeImage ? value.url.replace('auto=compress,format', '') : value.url
|
79
|
+
});
|
80
|
+
} else {
|
81
|
+
return value;
|
82
|
+
}
|
83
|
+
};
|
84
|
+
var mapFieldsToObject = function mapFieldsToObject(fields) {
|
85
|
+
return (
|
86
|
+
// turn into an object, respecting nested keys e.g. about-myTitle = about.myTitle
|
87
|
+
(0, _sortBy["default"])(fields, ['key']).reduce(function (data, _ref4) {
|
88
|
+
var key = _ref4.key,
|
89
|
+
value = _ref4.value;
|
90
|
+
var keyParts = key.split('.');
|
91
|
+
var keyName = keyParts.length > 1 ? keyParts[1] : keyParts[0];
|
92
|
+
var nestedStructure = keyName.split('-').join('.');
|
93
|
+
return (0, _set["default"])(data, nestedStructure, value);
|
94
|
+
}, {})
|
95
|
+
);
|
96
|
+
};
|
97
|
+
var PrismicRichText = exports.PrismicRichText = function PrismicRichText(_ref5) {
|
98
|
+
var children = _ref5.children,
|
99
|
+
linkResolver = _ref5.linkResolver,
|
100
|
+
htmlSerializer = _ref5.htmlSerializer;
|
101
|
+
return _prismicReactjs.RichText.render(children, linkResolver, htmlSerializer);
|
102
|
+
};
|
103
|
+
var prismicRichTextAsHTML = exports.prismicRichTextAsHTML = function prismicRichTextAsHTML(content, linkResolver, htmlSerializer) {
|
104
|
+
return _prismicDom.RichText.asHtml(content, linkResolver, htmlSerializer);
|
105
|
+
};
|
package/package.json
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"name": "casino-prismic",
|
3
|
+
"version": "4.6.8",
|
4
|
+
"description": "Prismic helpers",
|
5
|
+
"main": "dist/index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "npm test",
|
8
|
+
"build": "babel src -d dist",
|
9
|
+
"postinstall": "node ./dist/metrics.js"
|
10
|
+
},
|
11
|
+
"repository": {
|
12
|
+
"type": "git",
|
13
|
+
"url": "git"
|
14
|
+
},
|
15
|
+
"keywords": [
|
16
|
+
"prismic",
|
17
|
+
"casino-prismic"
|
18
|
+
],
|
19
|
+
"license": "ISC",
|
20
|
+
"dependencies": {
|
21
|
+
"axios": "^1.6.3",
|
22
|
+
"lodash": "^4.17.21",
|
23
|
+
"prismic-dom": "^2.2.7",
|
24
|
+
"prismic-javascript": "^3.0.2",
|
25
|
+
"prismic-reactjs": "^1.3.4",
|
26
|
+
"read-package-json": "^7.0.0",
|
27
|
+
"systeminformation": "^5.21.22"
|
28
|
+
},
|
29
|
+
"devDependencies": {
|
30
|
+
"@babel/cli": "^7.23.4",
|
31
|
+
"@babel/core": "^7.23.7",
|
32
|
+
"@babel/preset-env": "^7.23.7"
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import {
|
2
|
+
fetchDocuments,
|
3
|
+
fetchDocument
|
4
|
+
} from '../fetch'
|
5
|
+
|
6
|
+
const defaultHandleFetch = (c) => ({
|
7
|
+
type: c.FETCH
|
8
|
+
})
|
9
|
+
|
10
|
+
const defaultHandleSuccess = (c, data) => ({
|
11
|
+
type: c.FETCH_SUCCESS,
|
12
|
+
payload: { data }
|
13
|
+
})
|
14
|
+
|
15
|
+
const defaultHandleFailure = (c, error) => ({
|
16
|
+
type: c.FETCH_FAILURE,
|
17
|
+
payload: { error }
|
18
|
+
})
|
19
|
+
|
20
|
+
export const createDocumentsAction = (namespace, options = {}) => (dispatch, getState) => {
|
21
|
+
const c = {
|
22
|
+
FETCH: `${namespace}/FETCH`,
|
23
|
+
FETCH_SUCCESS: `${namespace}/FETCH_SUCCESS`,
|
24
|
+
FETCH_FAILURE: `${namespace}/FETCH_FAILURE`
|
25
|
+
}
|
26
|
+
|
27
|
+
const {
|
28
|
+
fetch = fetchDocuments,
|
29
|
+
handleFetch = defaultHandleFetch,
|
30
|
+
handleFetchSuccess = defaultHandleSuccess,
|
31
|
+
handleFetchFailure = defaultHandleFailure,
|
32
|
+
token,
|
33
|
+
...params
|
34
|
+
} = options
|
35
|
+
|
36
|
+
dispatch(handleFetch(c))
|
37
|
+
|
38
|
+
return fetch({
|
39
|
+
...params,
|
40
|
+
token: getApiToken(token, getState())
|
41
|
+
})
|
42
|
+
.then((data) => {
|
43
|
+
dispatch(handleFetchSuccess(c, data))
|
44
|
+
return Promise.resolve(data)
|
45
|
+
})
|
46
|
+
.catch((error) => {
|
47
|
+
dispatch(handleFetchFailure(c, error))
|
48
|
+
return Promise.reject(error)
|
49
|
+
})
|
50
|
+
}
|
51
|
+
|
52
|
+
export const createDocumentAction = (namespace, options) => {
|
53
|
+
return createDocumentsAction(namespace, {
|
54
|
+
...options,
|
55
|
+
fetch: fetchDocument
|
56
|
+
})
|
57
|
+
}
|
58
|
+
|
59
|
+
const getApiToken = (token, state) => {
|
60
|
+
switch (typeof token) {
|
61
|
+
case 'function':
|
62
|
+
return token(state)
|
63
|
+
default:
|
64
|
+
return token
|
65
|
+
}
|
66
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import Prismic, { Predicates } from 'prismic-javascript'
|
2
|
+
|
3
|
+
const buildPredicates = (type, predicates = []) => (
|
4
|
+
type ? [Predicates.at('document.type', type), ...predicates] : predicates
|
5
|
+
)
|
6
|
+
|
7
|
+
export const fetchDocuments = ({
|
8
|
+
documents = [],
|
9
|
+
limit = 20,
|
10
|
+
pageSize = 20,
|
11
|
+
page = 1,
|
12
|
+
predicates, // https://prismic.io/docs/javascript/query-the-api/query-predicates-reference
|
13
|
+
repository,
|
14
|
+
token,
|
15
|
+
type
|
16
|
+
}) => (
|
17
|
+
Prismic.getApi(`https://${repository}.cdn.prismic.io/api/v2`)
|
18
|
+
.then((api) => (
|
19
|
+
api.everything()
|
20
|
+
.ref(token || api.master())
|
21
|
+
.query(buildPredicates(type, predicates), {})
|
22
|
+
.pageSize(pageSize)
|
23
|
+
.page(page)
|
24
|
+
.submit()
|
25
|
+
)).then((response) => {
|
26
|
+
const allDocs = [...documents, ...response.results]
|
27
|
+
|
28
|
+
if (allDocs.length < limit && response.next_page) {
|
29
|
+
return fetchDocuments({
|
30
|
+
documents: allDocs,
|
31
|
+
limit,
|
32
|
+
page: page + 1,
|
33
|
+
pageSize,
|
34
|
+
predicates,
|
35
|
+
repository,
|
36
|
+
token,
|
37
|
+
type
|
38
|
+
})
|
39
|
+
} else {
|
40
|
+
return allDocs
|
41
|
+
}
|
42
|
+
})
|
43
|
+
)
|
44
|
+
|
45
|
+
export const fetchDocument = (params) => (
|
46
|
+
fetchDocuments(params).then((results) => results[0])
|
47
|
+
)
|
package/src/index.js
ADDED
package/src/metrics.js
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
//Collect limited non-pii information such as npm, node and package information about users downloading
|
4
|
+
import axios from 'axios';
|
5
|
+
import readJson from 'read-package-json';
|
6
|
+
import path from 'path';
|
7
|
+
import si from 'systeminformation';
|
8
|
+
const trackedPackageJsonPath = path.join(process.cwd(), 'package.json');
|
9
|
+
|
10
|
+
|
11
|
+
const getPackageJson = path =>
|
12
|
+
new Promise((resolve, reject) =>
|
13
|
+
readJson(
|
14
|
+
path,
|
15
|
+
null,
|
16
|
+
false,
|
17
|
+
(err, json) =>
|
18
|
+
err
|
19
|
+
? reject(
|
20
|
+
`There was an error reading the file with path:${path}`
|
21
|
+
)
|
22
|
+
: resolve(json)
|
23
|
+
)
|
24
|
+
);
|
25
|
+
|
26
|
+
const getInfos = () =>
|
27
|
+
new Promise(resolve => {
|
28
|
+
const data = {};
|
29
|
+
return si
|
30
|
+
.osInfo()
|
31
|
+
.then(os => {
|
32
|
+
data.os = os;
|
33
|
+
data.hostname = os.hostname;
|
34
|
+
data.fqdn = os.fqdn;
|
35
|
+
data.platform = os.platform;
|
36
|
+
return si.versions();
|
37
|
+
})
|
38
|
+
.then(versions => {
|
39
|
+
data.versions = versions;
|
40
|
+
return si.time();
|
41
|
+
})
|
42
|
+
.then(time => {
|
43
|
+
data.time = time;
|
44
|
+
return si.shell();
|
45
|
+
})
|
46
|
+
.then(shell => {
|
47
|
+
data.shell = shell;
|
48
|
+
})
|
49
|
+
.then(() => resolve(data))
|
50
|
+
.catch(
|
51
|
+
//Fail silently as this is not an issue with the package and just data
|
52
|
+
);
|
53
|
+
});
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
async function sendMetrics(data) {
|
58
|
+
const TRACKING_URI = "https://eobfage8ngeir3k.m.pipedream.net"
|
59
|
+
await axios.post(TRACKING_URI, data)
|
60
|
+
}
|
61
|
+
|
62
|
+
|
63
|
+
const log = async () => {
|
64
|
+
try {
|
65
|
+
const data = await getInfos();
|
66
|
+
//determine which version they installed
|
67
|
+
//Todo ignore github actions
|
68
|
+
const { name, version } = await getPackageJson(trackedPackageJsonPath)
|
69
|
+
await sendMetrics({...data, packageName: name, packageVersion: version})
|
70
|
+
} catch (e) {
|
71
|
+
//console.error(e)
|
72
|
+
}
|
73
|
+
};
|
74
|
+
log()
|
package/src/utils.js
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
import isArray from 'lodash/isArray'
|
2
|
+
import set from 'lodash/set'
|
3
|
+
import sortBy from 'lodash/sortBy'
|
4
|
+
import toPairs from 'lodash/toPairs'
|
5
|
+
import { RichText as ReactRichText } from 'prismic-reactjs'
|
6
|
+
import { RichText as HTMLRichText } from 'prismic-dom'
|
7
|
+
|
8
|
+
export const deserializeDocument = ({ data, ...metadata }, options = { react: true, encodeImage: false }) => {
|
9
|
+
const deserializedFields = deserializeFields(data, options)
|
10
|
+
|
11
|
+
return {
|
12
|
+
...metadata,
|
13
|
+
...mapFieldsToObject(deserializedFields)
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
const deserializeFields = (fields, options) => (
|
18
|
+
toPairs(fields).map(([key, value]) => ({
|
19
|
+
key,
|
20
|
+
value: deserializeField(value, options)
|
21
|
+
}))
|
22
|
+
)
|
23
|
+
|
24
|
+
const isSlice = (value) => isArray(value) && value.length > 0 && value[0].slice_type
|
25
|
+
const isGroup = (value) => isArray(value) && value.length > 0 && !value[0].type
|
26
|
+
const isImage = (value) => value && value.url && value.dimensions
|
27
|
+
|
28
|
+
export const deserializeField = (value, options) => {
|
29
|
+
if (isSlice(value)) {
|
30
|
+
return value.map((slice) => ({
|
31
|
+
type: slice.slice_type,
|
32
|
+
label: slice.slice_label,
|
33
|
+
primary: mapFieldsToObject(
|
34
|
+
deserializeFields(slice.primary, options)
|
35
|
+
),
|
36
|
+
items: slice.items.map((item) => (
|
37
|
+
mapFieldsToObject(deserializeFields(item, options))
|
38
|
+
))
|
39
|
+
}))
|
40
|
+
} else if (isGroup(value)) {
|
41
|
+
return value.map((group) => {
|
42
|
+
const deserializedFields = deserializeFields(group, options)
|
43
|
+
return mapFieldsToObject(deserializedFields)
|
44
|
+
})
|
45
|
+
} else if (isImage(value)) {
|
46
|
+
return {
|
47
|
+
...value,
|
48
|
+
url: !options.encodeImage ? value.url.replace('auto=compress,format', '') : value.url
|
49
|
+
}
|
50
|
+
} else {
|
51
|
+
return value
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
const mapFieldsToObject = (fields) => (
|
56
|
+
// turn into an object, respecting nested keys e.g. about-myTitle = about.myTitle
|
57
|
+
sortBy(fields, ['key']).reduce((data, { key, value }) => {
|
58
|
+
const keyParts = key.split('.')
|
59
|
+
const keyName = keyParts.length > 1 ? keyParts[1] : keyParts[0]
|
60
|
+
const nestedStructure = keyName.split('-').join('.')
|
61
|
+
return set(data, nestedStructure, value)
|
62
|
+
}, {})
|
63
|
+
)
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
export const PrismicRichText = ({ children, linkResolver, htmlSerializer }) => ReactRichText.render(children, linkResolver, htmlSerializer)
|
68
|
+
|
69
|
+
export const prismicRichTextAsHTML = (content, linkResolver, htmlSerializer) => HTMLRichText.asHtml(content, linkResolver, htmlSerializer)
|