Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@parallel-line/pro-mobile

Package Overview
Dependencies
Maintainers
4
Versions
195
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@parallel-line/pro-mobile - npm Package Compare versions

Comparing version 2.1.0-beta.41 to 2.1.0-beta.42

35

es/login/code.js

@@ -0,1 +1,7 @@

function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

@@ -21,2 +27,3 @@

import { PasswordLogin, BottomButtonWarp, WechatLogin, CountDown } from './components';
import * as service from './service';
export var Code = function Code(props) {

@@ -35,4 +42,28 @@ var _Form$useForm = Form.useForm(),

var handleFinish = function handleFinish() {
onLogin({});
global.eventEmitter.useSubscription(function (_ref) {
var uniqueKey = _ref.uniqueKey,
value = _ref.value;
if (uniqueKey === 'LOGIN_COUNT_DOWN') {
service.sms(_objectSpread({
phone: phoneNumber
}, value)).then(function (response) {
if (global.env.isDevTest) {
var _response$msg;
var sms = (_response$msg = response.msg) === null || _response$msg === void 0 ? void 0 : _response$msg.replace(/[^\d]/g, '');
form.setFieldsValue({
code: sms
});
}
});
}
});
var handleFinish = function handleFinish(_ref2) {
var code = _ref2.code;
onLogin({
sms: code,
phone: phoneNumber
});
};

@@ -39,0 +70,0 @@

2

es/login/index.d.ts

@@ -8,4 +8,4 @@ import './style/index.less';

Result: (props: import("./result").ResultProps) => JSX.Element;
Password: (props: import("./password").PasswordProps) => JSX.Element;
Password: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
};
export default _default;

@@ -1,9 +0,2 @@

export interface PasswordProps {
loading?: boolean;
onCode?: () => void;
onWeChat?: () => void;
onFinish?: () => void;
onSwitchEnv?: () => void;
onAgreementChange?: (code: string) => void;
}
export declare const Password: (props: PasswordProps) => JSX.Element;
declare const Password: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
export { Password };

@@ -0,86 +1,96 @@

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { bemLogin } from './index';
import { Button, Form, Input, Whiteboard, Space } from '@parallel-line/mobile';
import { withNativeProps } from '@parallel-line/utils';
import global from '@parallel-line/global';
import Agreement from './agreement';
import { Space, Whiteboard, Button, Input, Form } from '@parallel-line/mobile';
import global from '@parallel-line/global';
import { verification } from '@parallel-line/utils';
import { WechatOutlined, PhoneOutlined } from '@parallel-line/icons';
import { bemLogin as bem } from './index';
export var Password = function Password(props) {
var isDriver = global.PXX_ENV.isDriver;
return _jsxs(Whiteboard, {
className: bem(),
import { BottomButtonWarp, CodeLogin, WechatLogin } from './components';
import { useLogin } from './use-login';
var phoneNumber = global.regular.phoneNumber;
var Password = function Password(props) {
var _Form$useForm = Form.useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useLogin = useLogin(),
onWeChatLogin = _useLogin.onWeChatLogin,
onLogin = _useLogin.onLogin,
loading = _useLogin.loading;
var handleFinish = function handleFinish(values) {
onLogin(values);
};
return withNativeProps(props, _jsxs(Whiteboard, {
className: bemLogin(),
children: [_jsxs("div", {
className: bem('welcome'),
children: [_jsx("div", {
children: "Hi~"
}, void 0), _jsxs("div", {
children: ["\u6B22\u8FCE\u6765\u5230\u5E73\u884C\u7EBF", isDriver && '司机版']
}, void 0)]
}, void 0), _jsxs(Form, {
className: bem('form'),
onFinish: props.onFinish,
children: [_jsxs(Space, {
direction: "vertical",
size: 16,
children: [_jsx(Form.Item, {
name: "username",
rules: [{
required: true
}, verification.phoneNumber.rule],
children: _jsx(Input, {
type: "number",
maxLength: 11,
placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
className: bem('input')
}, void 0)
}, void 0), _jsx(Form.Item, {
name: "password",
rules: [{
required: true
}],
children: _jsx(Input, {
type: "password",
placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801",
className: bem('input')
}, void 0)
}, void 0)]
}, void 0), _jsx(Button, {
size: "large",
color: "primary",
type: "submit",
className: bem('submit'),
children: "\u767B\u5F55/\u6CE8\u518C"
}, void 0)]
}, void 0), _jsx(Agreement, {
onChange: props.onAgreementChange
}, void 0), _jsxs(Space, {
size: 52,
className: bem('bottom-btn'),
children: [props.onWeChat && _jsxs("button", {
className: bem('round-btn'),
onClick: props.onWeChat,
className: bemLogin('container'),
children: [_jsxs("div", {
className: bemLogin('tip'),
children: [_jsx("div", {
className: bem('round-btn-icon'),
style: {
backgroundColor: '#00b86b'
},
children: _jsx(WechatOutlined, {}, void 0)
children: "Hi~"
}, void 0), _jsx("div", {
children: "\u5FAE\u4FE1\u767B\u5F55"
children: "\u6B22\u8FCE\u6765\u5230\u5E73\u884C\u7EBF"
}, void 0)]
}, void 0), props.onCode && _jsxs("button", {
className: bem('round-btn'),
onClick: props.onCode,
children: [_jsx("div", {
className: bem('round-btn-icon'),
}, void 0), _jsx(Form, {
form: form,
onFinish: handleFinish,
children: _jsxs(Space, {
direction: "vertical",
style: {
backgroundColor: '#18a6fd'
'--gap-vertical': '16px'
},
children: _jsx(PhoneOutlined, {}, void 0)
}, void 0), _jsx("div", {
children: "\u9A8C\u8BC1\u7801\u767B\u5F55"
}, void 0)]
children: [_jsx(Form.Item, {
name: "username",
rules: [{
required: true,
message: '请输入手机号'
}, phoneNumber.rule],
children: _jsx(Input, {
maxLength: 11,
placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
className: bemLogin('input')
}, void 0)
}, void 0), _jsx(Form.Item, {
name: "password",
rules: [{
required: true,
message: '请输入密码'
}],
children: _jsx(Input, {
type: "password",
placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801",
className: bemLogin('input')
}, void 0)
}, void 0)]
}, void 0)
}, void 0)]
}, void 0), _jsx(Button, {
block: true,
size: "large",
color: "primary",
loading: loading,
onClick: form.submit,
children: "\u767B\u5F55 / \u6CE8\u518C"
}, void 0), _jsx(Agreement, {}, void 0), _jsxs(BottomButtonWarp, {
children: [global.env.isWeApp && _jsx(WechatLogin, {
onClick: onWeChatLogin
}, void 0), _jsx(CodeLogin, {}, void 0)]
}, void 0)]
}, void 0);
};
}, void 0));
};
export { Password };

@@ -35,4 +35,4 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }

client: 'applet-driver'
})) // config
})),
needAccessToken: false
}));

@@ -65,2 +65,3 @@

}), {
needAccessToken: false,
data: _objectSpread({

@@ -67,0 +68,0 @@ client: 'app'

"use strict";
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {

@@ -24,4 +26,16 @@ value: true

var service = _interopRequireWildcard(require("./service"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

@@ -52,4 +66,28 @@

var handleFinish = function handleFinish() {
onLogin({});
_global.default.eventEmitter.useSubscription(function (_ref) {
var uniqueKey = _ref.uniqueKey,
value = _ref.value;
if (uniqueKey === 'LOGIN_COUNT_DOWN') {
service.sms(_objectSpread({
phone: phoneNumber
}, value)).then(function (response) {
if (_global.default.env.isDevTest) {
var _response$msg;
var sms = (_response$msg = response.msg) === null || _response$msg === void 0 ? void 0 : _response$msg.replace(/[^\d]/g, '');
form.setFieldsValue({
code: sms
});
}
});
}
});
var handleFinish = function handleFinish(_ref2) {
var code = _ref2.code;
onLogin({
sms: code,
phone: phoneNumber
});
};

@@ -56,0 +94,0 @@

@@ -8,4 +8,4 @@ import './style/index.less';

Result: (props: import("./result").ResultProps) => JSX.Element;
Password: (props: import("./password").PasswordProps) => JSX.Element;
Password: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
};
export default _default;

@@ -1,9 +0,2 @@

export interface PasswordProps {
loading?: boolean;
onCode?: () => void;
onWeChat?: () => void;
onFinish?: () => void;
onSwitchEnv?: () => void;
onAgreementChange?: (code: string) => void;
}
export declare const Password: (props: PasswordProps) => JSX.Element;
declare const Password: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
export { Password };

@@ -10,96 +10,105 @@ "use strict";

var _agreement = _interopRequireDefault(require("./agreement"));
var _index = require("./index");
var _mobile = require("@parallel-line/mobile");
var _utils = require("@parallel-line/utils");
var _global = _interopRequireDefault(require("@parallel-line/global"));
var _utils = require("@parallel-line/utils");
var _agreement = _interopRequireDefault(require("./agreement"));
var _icons = require("@parallel-line/icons");
var _components = require("./components");
var _index = require("./index");
var _useLogin2 = require("./use-login");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
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."); }
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); }
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; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var phoneNumber = _global.default.regular.phoneNumber;
var Password = function Password(props) {
var isDriver = _global.default.PXX_ENV.isDriver;
return (0, _jsxRuntime.jsxs)(_mobile.Whiteboard, {
var _Form$useForm = _mobile.Form.useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useLogin = (0, _useLogin2.useLogin)(),
onWeChatLogin = _useLogin.onWeChatLogin,
onLogin = _useLogin.onLogin,
loading = _useLogin.loading;
var handleFinish = function handleFinish(values) {
onLogin(values);
};
return (0, _utils.withNativeProps)(props, (0, _jsxRuntime.jsxs)(_mobile.Whiteboard, {
className: (0, _index.bemLogin)(),
children: [(0, _jsxRuntime.jsxs)("div", {
className: (0, _index.bemLogin)('welcome'),
children: [(0, _jsxRuntime.jsx)("div", {
children: "Hi~"
}, void 0), (0, _jsxRuntime.jsxs)("div", {
children: ["\u6B22\u8FCE\u6765\u5230\u5E73\u884C\u7EBF", isDriver && '司机版']
}, void 0)]
}, void 0), (0, _jsxRuntime.jsxs)(_mobile.Form, {
className: (0, _index.bemLogin)('form'),
onFinish: props.onFinish,
children: [(0, _jsxRuntime.jsxs)(_mobile.Space, {
direction: "vertical",
size: 16,
children: [(0, _jsxRuntime.jsx)(_mobile.Form.Item, {
name: "username",
rules: [{
required: true
}, _utils.verification.phoneNumber.rule],
children: (0, _jsxRuntime.jsx)(_mobile.Input, {
type: "number",
maxLength: 11,
placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
className: (0, _index.bemLogin)('input')
}, void 0)
}, void 0), (0, _jsxRuntime.jsx)(_mobile.Form.Item, {
name: "password",
rules: [{
required: true
}],
children: (0, _jsxRuntime.jsx)(_mobile.Input, {
type: "password",
placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801",
className: (0, _index.bemLogin)('input')
}, void 0)
}, void 0)]
}, void 0), (0, _jsxRuntime.jsx)(_mobile.Button, {
size: "large",
color: "primary",
type: "submit",
className: (0, _index.bemLogin)('submit'),
children: "\u767B\u5F55/\u6CE8\u518C"
}, void 0)]
}, void 0), (0, _jsxRuntime.jsx)(_agreement.default, {
onChange: props.onAgreementChange
}, void 0), (0, _jsxRuntime.jsxs)(_mobile.Space, {
size: 52,
className: (0, _index.bemLogin)('bottom-btn'),
children: [props.onWeChat && (0, _jsxRuntime.jsxs)("button", {
className: (0, _index.bemLogin)('round-btn'),
onClick: props.onWeChat,
className: (0, _index.bemLogin)('container'),
children: [(0, _jsxRuntime.jsxs)("div", {
className: (0, _index.bemLogin)('tip'),
children: [(0, _jsxRuntime.jsx)("div", {
className: (0, _index.bemLogin)('round-btn-icon'),
style: {
backgroundColor: '#00b86b'
},
children: (0, _jsxRuntime.jsx)(_icons.WechatOutlined, {}, void 0)
children: "Hi~"
}, void 0), (0, _jsxRuntime.jsx)("div", {
children: "\u5FAE\u4FE1\u767B\u5F55"
children: "\u6B22\u8FCE\u6765\u5230\u5E73\u884C\u7EBF"
}, void 0)]
}, void 0), props.onCode && (0, _jsxRuntime.jsxs)("button", {
className: (0, _index.bemLogin)('round-btn'),
onClick: props.onCode,
children: [(0, _jsxRuntime.jsx)("div", {
className: (0, _index.bemLogin)('round-btn-icon'),
}, void 0), (0, _jsxRuntime.jsx)(_mobile.Form, {
form: form,
onFinish: handleFinish,
children: (0, _jsxRuntime.jsxs)(_mobile.Space, {
direction: "vertical",
style: {
backgroundColor: '#18a6fd'
'--gap-vertical': '16px'
},
children: (0, _jsxRuntime.jsx)(_icons.PhoneOutlined, {}, void 0)
}, void 0), (0, _jsxRuntime.jsx)("div", {
children: "\u9A8C\u8BC1\u7801\u767B\u5F55"
}, void 0)]
children: [(0, _jsxRuntime.jsx)(_mobile.Form.Item, {
name: "username",
rules: [{
required: true,
message: '请输入手机号'
}, phoneNumber.rule],
children: (0, _jsxRuntime.jsx)(_mobile.Input, {
maxLength: 11,
placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
className: (0, _index.bemLogin)('input')
}, void 0)
}, void 0), (0, _jsxRuntime.jsx)(_mobile.Form.Item, {
name: "password",
rules: [{
required: true,
message: '请输入密码'
}],
children: (0, _jsxRuntime.jsx)(_mobile.Input, {
type: "password",
placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801",
className: (0, _index.bemLogin)('input')
}, void 0)
}, void 0)]
}, void 0)
}, void 0)]
}, void 0), (0, _jsxRuntime.jsx)(_mobile.Button, {
block: true,
size: "large",
color: "primary",
loading: loading,
onClick: form.submit,
children: "\u767B\u5F55 / \u6CE8\u518C"
}, void 0), (0, _jsxRuntime.jsx)(_agreement.default, {}, void 0), (0, _jsxRuntime.jsxs)(_components.BottomButtonWarp, {
children: [_global.default.env.isWeApp && (0, _jsxRuntime.jsx)(_components.WechatLogin, {
onClick: onWeChatLogin
}, void 0), (0, _jsxRuntime.jsx)(_components.CodeLogin, {}, void 0)]
}, void 0)]
}, void 0);
}, void 0));
};
exports.Password = Password;

@@ -55,4 +55,4 @@ "use strict";

client: 'applet-driver'
})) // config
})),
needAccessToken: false
}));

@@ -85,2 +85,3 @@

}), {
needAccessToken: false,
data: _objectSpread({

@@ -87,0 +88,0 @@ client: 'app'

@@ -5,3 +5,3 @@ {

"license": "MIT",
"version": "2.1.0-beta.41",
"version": "2.1.0-beta.42",
"scripts": {

@@ -29,3 +29,3 @@ "build": "father-build"

],
"gitHead": "88e743115e25867de76f51091780fc8720e71cb6",
"gitHead": "4ed7e0c85c83301efada75c92f1aa0225dc51b31",
"devDependencies": {

@@ -32,0 +32,0 @@ "moment": "^2.29.1"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc