@bigbinary/neeto-commons-frontend 2.0.25 → 2.0.27
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/README.md +157 -86
- package/configs/babel.js +42 -0
- package/configs/eslint/globals.js +13 -0
- package/configs/eslint/helpers/index.js +61 -0
- package/configs/eslint/imports/enforced.js +29 -0
- package/configs/eslint/imports/order.js +65 -0
- package/configs/eslint/index.js +156 -0
- package/configs/eslint/overrides.js +24 -0
- package/configs/eslint/promise.js +8 -0
- package/configs/eslint/react.js +92 -0
- package/configs/prettier.js +16 -0
- package/configs/tailwind.js +13 -0
- package/configs/webpack/helpers/customize-default-rules.js +57 -0
- package/configs/webpack/index.js +41 -0
- package/configs/webpack/resolve.js +47 -0
- package/configs/webpack/rules.js +43 -0
- package/initializers.cjs.js +10 -6
- package/initializers.js +10 -6
- package/package.json +17 -6
- package/react-utils.cjs.js +124 -95
- package/react-utils.d.ts +2 -0
- package/react-utils.js +125 -96
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
rules: {
|
|
3
|
+
// not-auto-fixable: Prevent missing props validation in a React component definition.
|
|
4
|
+
"react/prop-types": "off",
|
|
5
|
+
// not-auto-fixable: Detect unescaped HTML entities, which might represent malformed tags.
|
|
6
|
+
"react/no-unescaped-entities": "off",
|
|
7
|
+
// not-auto-fixable: Prevent missing displayName in a React component definition. Useful when using React extensions in browser and checking for component name.
|
|
8
|
+
"react/display-name": "error",
|
|
9
|
+
// not-auto-fixable: Reports when this.state is accessed within setState.
|
|
10
|
+
"react/no-access-state-in-setstate": "error",
|
|
11
|
+
// not-auto-fixable: Prevent usage of dangerous JSX props. Currently jam3 plugin will take care of handling this.
|
|
12
|
+
"react/no-danger": "off",
|
|
13
|
+
// not-auto-fixable: Report when a DOM element is using both children and dangerouslySetInnerHTML.
|
|
14
|
+
"react/no-danger-with-children": "warn",
|
|
15
|
+
// not-auto-fixable: Prevent definitions of unused prop types.
|
|
16
|
+
"react/no-unused-prop-types": "error",
|
|
17
|
+
// not-auto-fixable: Report missing key props in iterators/collection literals. Important rule!
|
|
18
|
+
"react/jsx-key": ["error", { checkFragmentShorthand: true }],
|
|
19
|
+
// not-auto-fixable: Enforce no duplicate props.
|
|
20
|
+
"react/jsx-no-duplicate-props": "error",
|
|
21
|
+
// not-auto-fixable: Disallow undeclared variables in JSX.
|
|
22
|
+
"react/jsx-no-undef": "error",
|
|
23
|
+
// not-auto-fixable: Enforce PascalCase for user-defined JSX components.
|
|
24
|
+
"react/jsx-pascal-case": ["error", { allowNamespace: true }],
|
|
25
|
+
// not-auto-fixable: Prevent React to be incorrectly marked as unused.
|
|
26
|
+
"react/jsx-uses-react": "error",
|
|
27
|
+
// not-auto-fixable: Prevent variables used in JSX to be marked as unused.
|
|
28
|
+
"react/jsx-uses-vars": "error",
|
|
29
|
+
// not-auto-fixable: Ensures https://reactjs.org/docs/hooks-rules.html.
|
|
30
|
+
"react-hooks/rules-of-hooks": "error",
|
|
31
|
+
// not-auto-fixable: Ensures https://reactjs.org/docs/hooks-rules.html - Checks effect dependencies.
|
|
32
|
+
"react-hooks/exhaustive-deps": "warn",
|
|
33
|
+
// auto-fixable: A fragment is redundant if it contains only one child, or if it is the child of a html element, and is not a keyed fragment.
|
|
34
|
+
"react/jsx-no-useless-fragment": ["error", { allowExpressions: true }],
|
|
35
|
+
// auto-fixable: Prefer arrow function expressions for component declaration.
|
|
36
|
+
"react/function-component-definition": [
|
|
37
|
+
"error",
|
|
38
|
+
{
|
|
39
|
+
namedComponents: "arrow-function",
|
|
40
|
+
unnamedComponents: "arrow-function",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
// auto-fixable: Components without children can be self-closed to avoid unnecessary extra closing tag.
|
|
44
|
+
"react/self-closing-comp": [
|
|
45
|
+
"error",
|
|
46
|
+
{
|
|
47
|
+
component: true,
|
|
48
|
+
html: true,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
// auto-fixable: Wrapping multiline JSX in parentheses can improve readability and/or convenience.
|
|
52
|
+
"react/jsx-wrap-multilines": [
|
|
53
|
+
"error",
|
|
54
|
+
{
|
|
55
|
+
declaration: "parens-new-line",
|
|
56
|
+
assignment: "parens-new-line",
|
|
57
|
+
return: "parens-new-line",
|
|
58
|
+
arrow: "parens-new-line",
|
|
59
|
+
condition: "parens-new-line",
|
|
60
|
+
logical: "parens-new-line",
|
|
61
|
+
prop: "ignore",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
// not-auto-fixable: Make sure files containing JSX is having .jsx extension.
|
|
65
|
+
"react/jsx-filename-extension": ["error", { allow: "as-needed" }],
|
|
66
|
+
// auto-fixable: Omit mentioning the "true" value if it can be implicitly understood in props.
|
|
67
|
+
"react/jsx-boolean-value": "error",
|
|
68
|
+
// auto-fixable: Partially fixable. Make sure the state and setter have symmertic naming.
|
|
69
|
+
"react/hook-use-state": "error",
|
|
70
|
+
// auto-fixable: Shorthand notations should always be at the top and also enforce props alphabetical sorting.
|
|
71
|
+
"react/jsx-sort-props": [
|
|
72
|
+
"error",
|
|
73
|
+
{
|
|
74
|
+
callbacksLast: true,
|
|
75
|
+
shorthandFirst: true,
|
|
76
|
+
multiline: "last",
|
|
77
|
+
reservedFirst: false,
|
|
78
|
+
locale: "auto",
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
// auto-fixable: Disallow unnecessary curly braces in JSX props and/or children.
|
|
82
|
+
"react/jsx-curly-brace-presence": [
|
|
83
|
+
"error",
|
|
84
|
+
{
|
|
85
|
+
props: "never",
|
|
86
|
+
children: "never",
|
|
87
|
+
// JSX prop values that are JSX elements should be enclosed in braces.
|
|
88
|
+
propElementValues: "always",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
tailwindConfig: "./tailwind.config.js",
|
|
3
|
+
trailingComma: "es5",
|
|
4
|
+
arrowParens: "avoid",
|
|
5
|
+
printWidth: 80,
|
|
6
|
+
tabWidth: 2,
|
|
7
|
+
useTabs: false,
|
|
8
|
+
semi: true,
|
|
9
|
+
quoteProps: "as-needed",
|
|
10
|
+
jsxSingleQuote: false,
|
|
11
|
+
singleQuote: false,
|
|
12
|
+
bracketSpacing: true,
|
|
13
|
+
bracketSameLine: false,
|
|
14
|
+
proseWrap: "always",
|
|
15
|
+
endOfLine: "lf",
|
|
16
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
important: true,
|
|
3
|
+
purge: {
|
|
4
|
+
enabled: process.env.NODE_ENV === "production",
|
|
5
|
+
content: [
|
|
6
|
+
"./app/javascript/**/*.{js,jsx}",
|
|
7
|
+
"./app/views/**/*.html.erb",
|
|
8
|
+
"./app/views/**/*.slim",
|
|
9
|
+
"./node_modules/@bigbinary/**/*.js",
|
|
10
|
+
],
|
|
11
|
+
defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || [],
|
|
12
|
+
},
|
|
13
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Customize default webpack rules/loaders configuration.
|
|
3
|
+
A custom helpers till shakapacker introduces the feature.
|
|
4
|
+
Track the following the issues to get the status of feature development in shakapacker:
|
|
5
|
+
https://github.com/shakacode/shakapacker/issues/80
|
|
6
|
+
https://github.com/shakacode/shakapacker/issues/87
|
|
7
|
+
Usage:
|
|
8
|
+
const customizeWebpackDefaultRules = require("./helpers/customize-default-rules");
|
|
9
|
+
const defaultRules = {
|
|
10
|
+
"asset/resource": {
|
|
11
|
+
test: /\.(bmp|gif|jpe?g|png|tiff|ico|avif|webp|eot|otf|ttf|woff|woff2)$/
|
|
12
|
+
},
|
|
13
|
+
"asset/source": {
|
|
14
|
+
exclude: /\.(js|mjs|jsx|ts|tsx|js)$/,
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const customWebpackConfig = customizeWebpackDefaultRules(webpackConfig, defaultRules);
|
|
18
|
+
NOTE:
|
|
19
|
+
- Check if the option to output default configuration is introduced or not before upgrading further.
|
|
20
|
+
- Update the defaultRuleType constant whenever shakapacker introduces a new default rule/loader.
|
|
21
|
+
*/
|
|
22
|
+
const {
|
|
23
|
+
findBy,
|
|
24
|
+
findIndexBy,
|
|
25
|
+
} = require("@bigbinary/neeto-commons-frontend/pure");
|
|
26
|
+
|
|
27
|
+
const modifyDefaultRulesConfig = (webpackConfig, rules = {}) => {
|
|
28
|
+
const defaultRuleType = ["asset/resource", "asset/source"];
|
|
29
|
+
|
|
30
|
+
Object.keys(rules).forEach(ruleName => {
|
|
31
|
+
if (defaultRuleType.includes(ruleName)) {
|
|
32
|
+
const rule = findBy(
|
|
33
|
+
{ type: "asset/resource" },
|
|
34
|
+
webpackConfig.module.rules
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const rulePosition = findIndexBy(
|
|
38
|
+
{ type: ruleName },
|
|
39
|
+
webpackConfig.module.rules
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
Object.keys(rules[ruleName]).forEach(attribute => {
|
|
43
|
+
if (rule[attribute] !== undefined) {
|
|
44
|
+
rule[attribute] = rules[ruleName][attribute];
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
webpackConfig.module.rules[rulePosition] = rule;
|
|
49
|
+
} else {
|
|
50
|
+
throw new Error("Invalid default rule type");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
return webpackConfig;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
module.exports = modifyDefaultRulesConfig;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const process = require("process");
|
|
2
|
+
|
|
3
|
+
const Dotenv = require("dotenv-webpack");
|
|
4
|
+
const { webpackConfig, merge } = require("shakapacker");
|
|
5
|
+
const webpack = require("webpack");
|
|
6
|
+
|
|
7
|
+
const customizeWebpackDefaultRules = require("./helpers/customize-default-rules");
|
|
8
|
+
const resolve = require("./resolve");
|
|
9
|
+
const rules = require("./rules");
|
|
10
|
+
|
|
11
|
+
const dotEnvFileSuffix =
|
|
12
|
+
process.env.NODE_ENV === "production" ? "" : `.${process.env.NODE_ENV}`;
|
|
13
|
+
|
|
14
|
+
const commonOptions = {
|
|
15
|
+
infrastructureLogging: { level: "warn" },
|
|
16
|
+
devtool: "source-map",
|
|
17
|
+
resolve,
|
|
18
|
+
module: { rules },
|
|
19
|
+
plugins: [
|
|
20
|
+
new webpack.ProvidePlugin({ process: "process/browser" }),
|
|
21
|
+
new Dotenv({
|
|
22
|
+
path: `./.env${dotEnvFileSuffix}`,
|
|
23
|
+
systemvars: true,
|
|
24
|
+
silent: true,
|
|
25
|
+
}),
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// This rule is causing issues to react-svg-loader
|
|
30
|
+
const defaultRules = {
|
|
31
|
+
"asset/resource": {
|
|
32
|
+
test: /\.(bmp|gif|jpe?g|png|tiff|ico|avif|webp|eot|otf|ttf|woff|woff2)$/,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const customWebpackConfig = customizeWebpackDefaultRules(
|
|
37
|
+
webpackConfig,
|
|
38
|
+
defaultRules
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
module.exports = merge(customWebpackConfig, commonOptions);
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const path = require("path");
|
|
2
|
+
|
|
3
|
+
const absolutePath = basePath =>
|
|
4
|
+
path.resolve(__dirname, "../../../../../", `app/javascript/${basePath}`);
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
alias: {
|
|
8
|
+
apis: absolutePath("src/apis"),
|
|
9
|
+
assets: absolutePath("src/assets"),
|
|
10
|
+
components: absolutePath("src/components"),
|
|
11
|
+
hooks: absolutePath("src/hooks"),
|
|
12
|
+
reducers: absolutePath("src/reducers"),
|
|
13
|
+
routes: absolutePath("src/routes"),
|
|
14
|
+
stores: absolutePath("src/stores"),
|
|
15
|
+
translations: absolutePath("src/translations"),
|
|
16
|
+
utils: absolutePath("src/utils"),
|
|
17
|
+
src: absolutePath("src"),
|
|
18
|
+
neetoui: "@bigbinary/neetoui",
|
|
19
|
+
neetocommons: "@bigbinary/neeto-commons-frontend",
|
|
20
|
+
neetoicons: "@bigbinary/neeto-icons",
|
|
21
|
+
neetoteam: "@bigbinary/neeto-team-members-frontend",
|
|
22
|
+
neetoeditor: "@bigbinary/neeto-editor",
|
|
23
|
+
neetofilters: "@bigbinary/neeto-filters-frontend",
|
|
24
|
+
images: path.resolve(__dirname, "../../../../../", "app/assets/images"),
|
|
25
|
+
},
|
|
26
|
+
extensions: [
|
|
27
|
+
".ts",
|
|
28
|
+
".mjs",
|
|
29
|
+
".js",
|
|
30
|
+
".sass",
|
|
31
|
+
".scss",
|
|
32
|
+
".css",
|
|
33
|
+
".module.sass",
|
|
34
|
+
".module.scss",
|
|
35
|
+
".module.css",
|
|
36
|
+
".png",
|
|
37
|
+
".svg",
|
|
38
|
+
".gif",
|
|
39
|
+
".jpeg",
|
|
40
|
+
".jpg",
|
|
41
|
+
],
|
|
42
|
+
fallback: {
|
|
43
|
+
util: require.resolve("util/"),
|
|
44
|
+
url: require.resolve("url/"),
|
|
45
|
+
fs: false,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module.exports = [
|
|
2
|
+
{
|
|
3
|
+
test: /\.svg$/i,
|
|
4
|
+
use: [
|
|
5
|
+
{
|
|
6
|
+
loader: "@svgr/webpack",
|
|
7
|
+
options: {
|
|
8
|
+
svgoConfig: { plugins: ["preset-default"] },
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
test: /\.ts$/,
|
|
15
|
+
exclude: /node_modules/,
|
|
16
|
+
use: {
|
|
17
|
+
loader: "babel-loader",
|
|
18
|
+
options: {
|
|
19
|
+
presets: ["@babel/preset-env", "@babel/preset-typescript"],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
test: /\.mp3$/,
|
|
25
|
+
use: [
|
|
26
|
+
"babel-loader",
|
|
27
|
+
{
|
|
28
|
+
loader: "file-loader",
|
|
29
|
+
options: {
|
|
30
|
+
query: {
|
|
31
|
+
name: "static/media/[name].[hash:8].[ext]",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
test: /\.m?js$/,
|
|
39
|
+
resolve: {
|
|
40
|
+
fullySpecified: false, // allows webpack to ignore some package rules as the Strict EcmaScript Module mode.
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
];
|
package/initializers.cjs.js
CHANGED
|
@@ -789,6 +789,10 @@ var shouldNot = function shouldNot(skip) {
|
|
|
789
789
|
return _typeof(skip) === "object" || !skip;
|
|
790
790
|
};
|
|
791
791
|
|
|
792
|
+
var shouldShowToastr = function shouldShowToastr(response) {
|
|
793
|
+
return typeof response === "string" || _typeof(response) === "object" && ((response === null || response === void 0 ? void 0 : response.notice) || (response === null || response === void 0 ? void 0 : response.noticeCode));
|
|
794
|
+
};
|
|
795
|
+
|
|
792
796
|
var setAuthHeaders = function setAuthHeaders() {
|
|
793
797
|
var _document$querySelect, _axios$defaults$heade, _globalProps$user, _globalProps$user2;
|
|
794
798
|
|
|
@@ -841,8 +845,8 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
841
845
|
var _response$config$show = response.config.showToastr,
|
|
842
846
|
showToastr = _response$config$show === void 0 ? true : _response$config$show;
|
|
843
847
|
|
|
844
|
-
if (showToastr &&
|
|
845
|
-
neetoui.Toastr.success(response.data
|
|
848
|
+
if (showToastr && shouldShowToastr(response.data)) {
|
|
849
|
+
neetoui.Toastr.success(response.data);
|
|
846
850
|
}
|
|
847
851
|
|
|
848
852
|
return response;
|
|
@@ -985,7 +989,7 @@ var generic = {
|
|
|
985
989
|
};
|
|
986
990
|
var authentication = {
|
|
987
991
|
notLoggedIn: "Could not authenticate, please login to continue!",
|
|
988
|
-
couldNotAuth: "Could not authenticate with the provided
|
|
992
|
+
couldNotAuth: "Could not authenticate with the provided {{parameter}}.",
|
|
989
993
|
incorrectPassword: "Current password is incorrect. Please try again.",
|
|
990
994
|
incorrectEmailPassword: "Incorrect email or password. Please try again."
|
|
991
995
|
};
|
|
@@ -1142,9 +1146,9 @@ var neetoCommons = {
|
|
|
1142
1146
|
},
|
|
1143
1147
|
body: {
|
|
1144
1148
|
values: {
|
|
1145
|
-
embedCode: "<p>Hi,</p> <p>We are going to use {{selectedWidgets}}
|
|
1146
|
-
userIdentity: "
|
|
1147
|
-
sessionContext: "
|
|
1149
|
+
embedCode: "<p>Hi,</p> <p>We are going to use {{selectedWidgets}}.</p> <p>Please find the code snippet for the installation of the {{selectedWidgets}} widget.</p> <p>You can find the documentation regarding this at <configureLink>{{neetoKbUrl}}</configureLink>.</p> <p>If you still need help then send an email to <mail>{{helpEmail}}</mail>.</p>",
|
|
1150
|
+
userIdentity: "<p>Hi,</p> <p>This is the object structure that you can use to specify the user identity for neetoWidget.</p> <p>You can find the documentation at <configureLink>{{userIdentityKbUrl}}</configureLink>.</p>",
|
|
1151
|
+
sessionContext: "<p>Hi,</p> <p>This is the object structure that you can use to specify the contextual values for neetoReplay sessions.</p> <p>You can find the documentation at <configureLink>{{sessionContextKbUrl}}</configureLink>.</p>"
|
|
1148
1152
|
}
|
|
1149
1153
|
},
|
|
1150
1154
|
actions: {
|
package/initializers.js
CHANGED
|
@@ -777,6 +777,10 @@ var shouldNot = function shouldNot(skip) {
|
|
|
777
777
|
return _typeof(skip) === "object" || !skip;
|
|
778
778
|
};
|
|
779
779
|
|
|
780
|
+
var shouldShowToastr = function shouldShowToastr(response) {
|
|
781
|
+
return typeof response === "string" || _typeof(response) === "object" && ((response === null || response === void 0 ? void 0 : response.notice) || (response === null || response === void 0 ? void 0 : response.noticeCode));
|
|
782
|
+
};
|
|
783
|
+
|
|
780
784
|
var setAuthHeaders = function setAuthHeaders() {
|
|
781
785
|
var _document$querySelect, _axios$defaults$heade, _globalProps$user, _globalProps$user2;
|
|
782
786
|
|
|
@@ -829,8 +833,8 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
829
833
|
var _response$config$show = response.config.showToastr,
|
|
830
834
|
showToastr = _response$config$show === void 0 ? true : _response$config$show;
|
|
831
835
|
|
|
832
|
-
if (showToastr &&
|
|
833
|
-
Toastr.success(response.data
|
|
836
|
+
if (showToastr && shouldShowToastr(response.data)) {
|
|
837
|
+
Toastr.success(response.data);
|
|
834
838
|
}
|
|
835
839
|
|
|
836
840
|
return response;
|
|
@@ -973,7 +977,7 @@ var generic = {
|
|
|
973
977
|
};
|
|
974
978
|
var authentication = {
|
|
975
979
|
notLoggedIn: "Could not authenticate, please login to continue!",
|
|
976
|
-
couldNotAuth: "Could not authenticate with the provided
|
|
980
|
+
couldNotAuth: "Could not authenticate with the provided {{parameter}}.",
|
|
977
981
|
incorrectPassword: "Current password is incorrect. Please try again.",
|
|
978
982
|
incorrectEmailPassword: "Incorrect email or password. Please try again."
|
|
979
983
|
};
|
|
@@ -1130,9 +1134,9 @@ var neetoCommons = {
|
|
|
1130
1134
|
},
|
|
1131
1135
|
body: {
|
|
1132
1136
|
values: {
|
|
1133
|
-
embedCode: "<p>Hi,</p> <p>We are going to use {{selectedWidgets}}
|
|
1134
|
-
userIdentity: "
|
|
1135
|
-
sessionContext: "
|
|
1137
|
+
embedCode: "<p>Hi,</p> <p>We are going to use {{selectedWidgets}}.</p> <p>Please find the code snippet for the installation of the {{selectedWidgets}} widget.</p> <p>You can find the documentation regarding this at <configureLink>{{neetoKbUrl}}</configureLink>.</p> <p>If you still need help then send an email to <mail>{{helpEmail}}</mail>.</p>",
|
|
1138
|
+
userIdentity: "<p>Hi,</p> <p>This is the object structure that you can use to specify the user identity for neetoWidget.</p> <p>You can find the documentation at <configureLink>{{userIdentityKbUrl}}</configureLink>.</p>",
|
|
1139
|
+
sessionContext: "<p>Hi,</p> <p>This is the object structure that you can use to specify the contextual values for neetoReplay sessions.</p> <p>You can find the documentation at <configureLink>{{sessionContextKbUrl}}</configureLink>.</p>"
|
|
1136
1140
|
}
|
|
1137
1141
|
},
|
|
1138
1142
|
actions: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.27",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"initializers.*",
|
|
17
17
|
"react-utils.*",
|
|
18
18
|
"utils.*",
|
|
19
|
-
"pure.*"
|
|
19
|
+
"pure.*",
|
|
20
|
+
"configs"
|
|
20
21
|
],
|
|
21
22
|
"lint-staged": {
|
|
22
23
|
"**/*.{js,jsx,json}": [
|
|
@@ -39,7 +40,8 @@
|
|
|
39
40
|
"./initializers": {
|
|
40
41
|
"import": "./initializers.js",
|
|
41
42
|
"require": "./initializers.cjs.js"
|
|
42
|
-
}
|
|
43
|
+
},
|
|
44
|
+
"./configs/*": "./configs/*"
|
|
43
45
|
},
|
|
44
46
|
"devDependencies": {
|
|
45
47
|
"@babel/eslint-parser": "^7.18.2",
|
|
@@ -60,9 +62,10 @@
|
|
|
60
62
|
"@testing-library/react-hooks": "^8.0.0",
|
|
61
63
|
"@testing-library/user-event": "13.5.0",
|
|
62
64
|
"antd": "4.18.7",
|
|
63
|
-
"autoprefixer": "^10.4.
|
|
65
|
+
"autoprefixer": "^10.4.13",
|
|
64
66
|
"axios": "^0.27.2",
|
|
65
67
|
"babel-jest": "27.0.6",
|
|
68
|
+
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
|
66
69
|
"dayjs": "1.11.1",
|
|
67
70
|
"eslint": "^8.15.0",
|
|
68
71
|
"eslint-config-prettier": "^8.5.0",
|
|
@@ -100,21 +103,26 @@
|
|
|
100
103
|
"rollup-plugin-cleaner": "^1.0.0",
|
|
101
104
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
102
105
|
"yup": "^0.32.11",
|
|
103
|
-
"zustand": "^4.1.2"
|
|
104
|
-
"babel-plugin-transform-react-remove-prop-types": "^0.4.24"
|
|
106
|
+
"zustand": "^4.1.2"
|
|
105
107
|
},
|
|
106
108
|
"dependencies": {},
|
|
107
109
|
"peerDependencies": {
|
|
108
110
|
"@bigbinary/neeto-icons": "^1.8.35",
|
|
109
111
|
"@bigbinary/neetoui": "^4.1.1",
|
|
110
112
|
"@honeybadger-io/react": "2.0.1",
|
|
113
|
+
"@svgr/webpack": "^6.5.1",
|
|
111
114
|
"antd": "4.18.7",
|
|
115
|
+
"autoprefixer": "^10.4.13",
|
|
112
116
|
"axios": "^0.27.2",
|
|
113
117
|
"dayjs": "1.11.1",
|
|
118
|
+
"dotenv-webpack": "^8.0.1",
|
|
114
119
|
"formik": "^2.2.9",
|
|
115
120
|
"i18next": "21.7.0",
|
|
116
121
|
"js-logger": "^1.6.1",
|
|
117
122
|
"mixpanel-browser": "^2.45.0",
|
|
123
|
+
"postcss-flexbugs-fixes": "^5.0.2",
|
|
124
|
+
"postcss-import": "^15.1.0",
|
|
125
|
+
"postcss-preset-env": "^7.8.3",
|
|
118
126
|
"ramda": "^0.28.0",
|
|
119
127
|
"react": "^17.0.2",
|
|
120
128
|
"react-helmet": "^6.1.0",
|
|
@@ -122,6 +130,9 @@
|
|
|
122
130
|
"react-query": "^3.39.2",
|
|
123
131
|
"react-router-dom": "^5.2.0",
|
|
124
132
|
"react-toastify": "^9.0.8",
|
|
133
|
+
"shakapacker": "^6.5.5",
|
|
134
|
+
"tailwindcss": "^3.2.4",
|
|
135
|
+
"webpack": "^5.75.0",
|
|
125
136
|
"yup": "^0.32.11"
|
|
126
137
|
}
|
|
127
138
|
}
|