Skip to content

Commit c6006a0

Browse files
chore(shared): add linting to shared package
1 parent b41a445 commit c6006a0

File tree

14 files changed

+227
-160
lines changed

14 files changed

+227
-160
lines changed

packages/shared/assets/img/list/test.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/shared/assets/img/named/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ export const imageName = {
4444
poly1: poly1.default,
4545
requestFormInformation: requestFormInformation.default,
4646
ws2DefaultImagev01Final: ws2DefaultImagev01Final.default,
47-
}
47+
};

packages/shared/assets/index.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
import * as _images from "./img/list";
22
export { imageName } from "./img/named";
33

4-
const _imageArray = Object.values(_images).reduce((result,val)=>([...result,val.default]),[]);
4+
const _imageArray = Object.values(_images).reduce(
5+
(result, val) => [...result, val.default],
6+
[]
7+
);
58

6-
export const imageArray = [ ..._imageArray, ..._imageArray, ..._imageArray, ..._imageArray, ..._imageArray ]; // make it bigger
7-
export const imageAny = () => imageArray[Math.floor(Math.random() * imageArray.length)]
9+
export const imageArray = [
10+
..._imageArray,
11+
..._imageArray,
12+
..._imageArray,
13+
..._imageArray,
14+
..._imageArray,
15+
]; // make it bigger
16+
export const imageAny = () =>
17+
imageArray[Math.floor(Math.random() * imageArray.length)];
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import PropTypes from "prop-types";
2-
import React from "react";
32

4-
export const Base = ({children}) => <>{children}</>;
3+
export const Base = ({ children }) => <>{children}</>;
54

65
Base.propTypes = {
76
children: PropTypes.oneOfType([
87
PropTypes.arrayOf(PropTypes.node),
98
PropTypes.node,
109
PropTypes.string,
11-
])
10+
]),
1211
};
Lines changed: 112 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import classNames from "classnames";
22
import PropTypes from "prop-types";
3-
import React from "react";
43

54
import { Base } from "./Base";
65

7-
export const FullLayout = ({children}) => {
6+
export const FullLayout = ({ children }) => {
87
return (
98
<div>
109
<div className="row g-0">
@@ -20,139 +19,146 @@ FullLayout.propTypes = {
2019
...Base.propTypes,
2120
};
2221

23-
export const Container = ({children, className = "container", ...rest}) => {
22+
export const Container = ({ children, className = "container", ...rest }) => {
2423
return (
25-
<div className={ className } {...rest}>
26-
<div className="row">
27-
{children}
28-
</div>
24+
<div className={className} {...rest}>
25+
<div className="row">{children}</div>
2926
</div>
30-
)
31-
}
27+
);
28+
};
3229

3330
Container.propTypes = {
3431
children: Base.propTypes.children,
3532
};
36-
export const ContainerFluid = ({children, className = "container-fluid mt-2", ...rest}) => {
33+
export const ContainerFluid = ({
34+
children,
35+
className = "container-fluid mt-2",
36+
...rest
37+
}) => {
3738
return (
38-
<Container className={ className } {...rest}>
39+
<Container className={className} {...rest}>
3940
{children}
4041
</Container>
41-
)
42-
}
42+
);
43+
};
4344

4445
ContainerFluid.propTypes = {
4546
...Container.propTypes,
4647
};
4748

48-
export const Column = ({children, className = "", col="12", ...rest}) => {
49+
export const Column = ({ children, className = "", col = "12", ...rest }) => {
4950
const colInt = parseInt(col, 10);
5051

5152
return (
52-
<div {...rest} className={classNames(className, {
53-
"col": colInt === 0,
54-
"col-12": colInt === 12,
55-
"col-xl-3 col-lg-4 col-md-5 col-sm-12": colInt === 3,
56-
"col-lg-4 col-md-5 col-sm-12": colInt === 4,
57-
"col-md-6 col-sm-12": colInt === 6,
58-
"col-lg-8 col-md-7 col-sm-12": colInt === 8,
59-
"col-xl-9 col-lg-8 col-md-7 col-sm-12": colInt === 9,
60-
})}>
61-
{children}
62-
</div>
63-
)
64-
}
53+
<div
54+
{...rest}
55+
className={classNames(className, {
56+
"col": colInt === 0,
57+
"col-12": colInt === 12,
58+
"col-xl-3 col-lg-4 col-md-5 col-sm-12": colInt === 3,
59+
"col-lg-4 col-md-5 col-sm-12": colInt === 4,
60+
"col-md-6 col-sm-12": colInt === 6,
61+
"col-lg-8 col-md-7 col-sm-12": colInt === 8,
62+
"col-xl-9 col-lg-8 col-md-7 col-sm-12": colInt === 9,
63+
})}
64+
>
65+
{children}
66+
</div>
67+
);
68+
};
6569

6670
Column.propTypes = {
6771
children: Base.propTypes.children,
68-
col: PropTypes.oneOf(["0","3","4","6","8","9","12"])
72+
col: PropTypes.oneOf(["0", "3", "4", "6", "8", "9", "12"]),
6973
};
7074

71-
72-
export const DefaultContainer = ({children, ...rest}) => {
73-
75+
export const DefaultContainer = ({ children, ...rest }) => {
7476
return (
7577
<Container>
76-
<Column {...rest}>
77-
{children}
78-
</Column>
78+
<Column {...rest}>{children}</Column>
7979
</Container>
80-
)
81-
}
80+
);
81+
};
8282

8383
DefaultContainer.propTypes = {
8484
children: Base.propTypes.children,
8585
};
8686

87-
8887
export const LoremContent = () => {
89-
return (<>
90-
<h2>Ligula aenean leo porttitor eu conseq</h2>
91-
<p>
92-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
93-
commodo ligula eget dolor. Aenean massa{" "}
94-
<strong>strong</strong>. Cum sociis natoque penatibus et magnis dis
95-
parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies
96-
nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis
97-
enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget,
98-
arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
99-
Nullam dictum felis eu pede{" "}
100-
<a className="external ext" href="#">
101-
link
102-
</a>{" "}
103-
mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum
104-
semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula,
105-
porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante,
106-
dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla
107-
ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam
108-
ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.
109-
</p>
110-
<p>
111-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
112-
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
113-
et magnis dis parturient montes, nascetur ridiculus mus. Donec quam
114-
felis, ultricies nec, pellentesque eu, pretium quis, sem.
115-
</p>
116-
<h2>Aenean commodo ligula eget dolor aenean massa</h2>
117-
<p>
118-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
119-
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
120-
et magnis dis parturient montes, nascetur ridiculus mus. Donec quam
121-
felis, ultricies nec, pellentesque eu, pretium quis, sem.
122-
</p>
123-
<ul className="uds-list">
124-
<li>Lorem ipsum dolor sit amet consectetuer.</li>
125-
<li>Aenean commodo ligula eget dolor.</li>
126-
<li>Aenean massa cum sociis natoque penatibus.</li>
127-
</ul>
128-
<p>
129-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
130-
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
131-
et magnis dis parturient montes, nascetur ridiculus mus. Donec quam
132-
felis, ultricies nec, pellentesque eu, pretium quis, sem.
133-
</p>
134-
<blockquote>
135-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
136-
commodo ligula eget dolor. Aenean massa{" "}<strong>strong</strong>. Cum
137-
sociis natoque penatibus et magnis dis parturient montes, nascetur
138-
ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu,
139-
pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo,
140-
fringilla vel, aliquet nec, vulputate eget, arcu. In <em>em</em>
141-
enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam{" "}
142-
<a className="external ext" href="#">
143-
link
144-
</a>{" "}
145-
dictum felis eu pede mollis pretium.
146-
</blockquote>
147-
<p>
148-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
149-
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
150-
et magnis dis parturient montes, nascetur ridiculus mus. Donec quam
151-
felis, ultricies nec, pellentesque eu, pretium quis, sem.
152-
</p>
153-
</>);
154-
}
88+
return (
89+
<>
90+
<h2>Ligula aenean leo porttitor eu conseq</h2>
91+
<p>
92+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
93+
ligula eget dolor. Aenean massa <strong>strong</strong>. Cum sociis
94+
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
95+
mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
96+
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
97+
aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet
98+
a, venenatis vitae, justo. Nullam dictum felis eu pede{" "}
99+
<a className="external ext" href="#">
100+
link
101+
</a>{" "}
102+
mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum
103+
semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula,
104+
porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante,
105+
dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut
106+
metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies
107+
nisi vel augue. Curabitur ullamcorper ultricies nisi.
108+
</p>
109+
<p>
110+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
111+
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis
112+
dis parturient montes, nascetur ridiculus mus. Donec quam felis,
113+
ultricies nec, pellentesque eu, pretium quis, sem.
114+
</p>
115+
<h2>Aenean commodo ligula eget dolor aenean massa</h2>
116+
<p>
117+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
118+
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis
119+
dis parturient montes, nascetur ridiculus mus. Donec quam felis,
120+
ultricies nec, pellentesque eu, pretium quis, sem.
121+
</p>
122+
<ul className="uds-list">
123+
<li>Lorem ipsum dolor sit amet consectetuer.</li>
124+
<li>Aenean commodo ligula eget dolor.</li>
125+
<li>Aenean massa cum sociis natoque penatibus.</li>
126+
</ul>
127+
<p>
128+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
129+
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis
130+
dis parturient montes, nascetur ridiculus mus. Donec quam felis,
131+
ultricies nec, pellentesque eu, pretium quis, sem.
132+
</p>
133+
<blockquote>
134+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
135+
ligula eget dolor. Aenean massa <strong>strong</strong>. Cum sociis
136+
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
137+
mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
138+
sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
139+
aliquet nec, vulputate eget, arcu. In <em>em</em>
140+
enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam{" "}
141+
<a className="external ext" href="#">
142+
link
143+
</a>{" "}
144+
dictum felis eu pede mollis pretium.
145+
</blockquote>
146+
<p>
147+
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
148+
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis
149+
dis parturient montes, nascetur ridiculus mus. Donec quam felis,
150+
ultricies nec, pellentesque eu, pretium quis, sem.
151+
</p>
152+
</>
153+
);
154+
};
155155

156-
export const fullLayoutDecorator = (story, context) => <FullLayout>{story(context)}</FullLayout>;
157-
export const defaultDecorator = (story, context) => <DefaultContainer id="html-root">{story(context)}</DefaultContainer>;
158-
export const htmlRootDecorator = (story, context)=><div id="html-root">{story(context)}</div>;
156+
export const fullLayoutDecorator = (story, context) => (
157+
<FullLayout>{story(context)}</FullLayout>
158+
);
159+
export const defaultDecorator = (story, context) => (
160+
<DefaultContainer id="html-root">{story(context)}</DefaultContainer>
161+
);
162+
export const htmlRootDecorator = (story, context) => (
163+
<div id="html-root">{story(context)}</div>
164+
);

packages/shared/constants/strings.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export const loremStrings = [
7070
`Suspendisse potenti.`,
7171
`Duis dictum ac elit at elementum.`,
7272
`In sit amet hendrerit lacus.`,
73-
]
73+
];
7474

7575
/**
7676
* @param {number} [length] Number of Sentences
@@ -81,5 +81,8 @@ export const getLoremSentences = (length = 1, offset = 0) => {
8181
if (length < 1) {
8282
return loremStrings[(0 + offset) % loremStrings.length];
8383
}
84-
return Array.from({ length }, (_, i) => loremStrings[(i + offset) % loremStrings.length]).join(' ');
85-
}
84+
return Array.from(
85+
{ length },
86+
(_, i) => loremStrings[(i + offset) % loremStrings.length]
87+
).join(" ");
88+
};

packages/shared/eslint.config.js

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
const rootConfig = require("../../eslint.config.js");
2+
const globals = require("globals");
3+
const tsParser = require("@typescript-eslint/parser");
4+
const reactRefresh = require("eslint-plugin-react-refresh");
5+
6+
module.exports = [
7+
...rootConfig,
8+
9+
// Package-specific overrides
10+
{
11+
files: ["**/*.{ts,tsx}"],
12+
languageOptions: {
13+
globals: {
14+
...globals.browser,
15+
},
16+
ecmaVersion: "latest",
17+
sourceType: "module",
18+
parser: tsParser,
19+
parserOptions: {
20+
project: ["./tsconfig.json"],
21+
},
22+
},
23+
plugins: {
24+
"react-refresh": reactRefresh,
25+
},
26+
rules: {
27+
// Disable problematic rules for TypeScript files
28+
"import/extensions": "off",
29+
"no-undef": "off", // TypeScript handles this
30+
"no-unused-vars": [
31+
"warn",
32+
{
33+
argsIgnorePattern: "^_",
34+
varsIgnorePattern: "^_|^React$",
35+
ignoreRestSiblings: true,
36+
},
37+
],
38+
},
39+
settings: {
40+
react: {
41+
version: "detect",
42+
},
43+
},
44+
},
45+
46+
// JavaScript files
47+
{
48+
files: ["**/*.{js,jsx}"],
49+
rules: {
50+
// Disable import extensions for JS files too if needed
51+
"import/extensions": "off",
52+
"no-unused-vars": [
53+
"warn",
54+
{
55+
argsIgnorePattern: "^_",
56+
varsIgnorePattern: "^_",
57+
ignoreRestSiblings: true,
58+
},
59+
],
60+
// Allow console statements in utility files
61+
"no-console": "off",
62+
},
63+
},
64+
];

packages/shared/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,4 @@ export * from "./components/Layout";
77
export * from "./services/componentDatalayer";
88
export * from "./assets/img/list";
99
export * from "./assets/img/named";
10-
export * from "./assets"
11-
12-
10+
export * from "./assets";

0 commit comments

Comments
 (0)