Skip to content

Commit 3629044

Browse files
committed
chore: remove babel and ts config symlinks
1 parent a6abae5 commit 3629044

File tree

14 files changed

+1768
-14
lines changed

14 files changed

+1768
-14
lines changed

packages/ant-component-mapper/babel.config.js

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
require.extensions['.css'] = () => undefined;
2+
const path = require('path');
3+
const glob = require('glob');
4+
5+
const mapper = {
6+
ContentVariants: 'Content',
7+
ButtonVariant: 'Button',
8+
TextListVariants: 'TextList',
9+
TextListItemVariants: 'TextListItem',
10+
FlexItem: 'Flex',
11+
FormFieldGroup: 'Form',
12+
FormFieldGroupHeader: 'Form',
13+
FormHelperText: 'Form',
14+
FormGroup: 'Form',
15+
GridItem: 'Grid',
16+
Content: 'Content',
17+
HelperTextItem: 'HelperText',
18+
ActionGroup: 'Form',
19+
Tab: 'Tabs',
20+
TabTitleText: 'Tabs',
21+
WizardNavItem: 'Wizard',
22+
WizardNav: 'Wizard',
23+
WizardBody: 'Wizard',
24+
WizardHeader: 'Wizard',
25+
ActionListGroup: 'ActionList',
26+
ActionListItem: 'ActionList',
27+
};
28+
29+
const blueprintMapper = {
30+
Checkbox: 'components/forms/controls',
31+
FormGroup: 'components/forms/formGroup',
32+
Intent: 'common/intent',
33+
Button: 'components/button/buttons',
34+
H1: 'components/html/html',
35+
H2: 'components/html/html',
36+
H3: 'components/html/html',
37+
H4: 'components/html/html',
38+
RadioGroup: 'components/forms/radioGroup',
39+
MenuItem: 'components/menu/menuItem',
40+
Switch: 'components/forms/controls',
41+
Tab: 'components/tabs/tab',
42+
InputGroup: 'components/forms/inputGroup',
43+
TextArea: 'components/forms/textArea',
44+
Menu: 'components/menu/menu',
45+
ButtonGroup: 'components/button/buttonGroup',
46+
ControlGroup: 'components/forms/controlGroup'
47+
};
48+
49+
const pascaltoCamelCase = (name) => name.charAt(0).toLowerCase() + name.slice(1);
50+
const pascalToKebabCase = (name) =>
51+
name.charAt(0).toLowerCase() +
52+
name
53+
.slice(1)
54+
.replace(/([A-Z])/, '-$1')
55+
.toLowerCase();
56+
57+
const pascalToKebabCaseCarbonIcons = (name) =>
58+
name.charAt(0).toLowerCase() +
59+
name
60+
.slice(1)
61+
.replace(/([A-Z])/g, '--$1')
62+
.toLowerCase();
63+
64+
const createSuirCJSTransform = (env = 'commonjs') => [
65+
'transform-imports',
66+
{
67+
'semantic-ui-react': {
68+
transform: (importName) => {
69+
let res;
70+
const files = glob.sync(path.resolve(__dirname, `../{..,suir-component-mapper}/node_modules/semantic-ui-react/dist/${env}/**/${importName}.js`));
71+
72+
if (files.length > 0) {
73+
res = files[0];
74+
} else {
75+
throw new Error(`File with importName ${importName} does not exist`);
76+
}
77+
78+
res = res.replace(/^.*node_modules\//, '');
79+
res = res.replace(/^\//, '');
80+
return res;
81+
},
82+
preventFullImport: false,
83+
skipDefaultConversion: false
84+
}
85+
},
86+
`semantic-ui-react-${env}`
87+
];
88+
89+
const createMuiTransform = (env) => [
90+
'transform-imports',
91+
{
92+
'@mui/x-date-pickers': {
93+
transform: (importName) => (env ? `@mui/x-date-pickers/${env}/${importName}` : `@mui/x-date-pickers/${importName}`),
94+
preventFullImport: false,
95+
skipDefaultConversion: true
96+
},
97+
'@mui/material': {
98+
transform: (importName) => (env ? `@mui/material/${env}/${importName}` : `@mui/material/${importName}`),
99+
preventFullImport: false,
100+
skipDefaultConversion: false
101+
}
102+
},
103+
`MUI-${env || 'commonjs'}`
104+
];
105+
106+
const createPfReactTransform = (env) => [
107+
'transform-imports',
108+
{
109+
'@patternfly/react-core': {
110+
transform: (importName) => {
111+
let res;
112+
const files = glob.sync(
113+
path.resolve(__dirname, `../{..,pf4-component-mapper}//node_modules/@patternfly/react-core/dist/dynamic/**/${mapper[importName] || importName}`)
114+
);
115+
if (files.length > 0) {
116+
res = files[0];
117+
} else {
118+
throw new Error(`File with importName ${importName} does not exist`);
119+
}
120+
121+
res = res.replace(/^.*node_modules\//, '');
122+
res = res.replace(/^\//, '');
123+
return res;
124+
},
125+
preventFullImport: false,
126+
skipDefaultConversion: true
127+
},
128+
'@patternfly/react-icons': {
129+
transform: (importName) =>
130+
`@patternfly/react-icons/dist/dynamic/icons/${importName
131+
.split(/(?=[A-Z])/)
132+
.join('-')
133+
.toLowerCase()}`,
134+
preventFullImport: true
135+
},
136+
},
137+
`pf-react-${env}`
138+
];
139+
140+
const createBluePrintTransform = (env) => [
141+
'transform-imports',
142+
{
143+
'@blueprintjs/core': {
144+
transform: (importName) =>
145+
`@blueprintjs/core/lib/${env}/${blueprintMapper[importName] ||
146+
`components/${pascalToKebabCase(importName)}/${pascaltoCamelCase(importName)}`}.js`,
147+
preventFullImport: false,
148+
skipDefaultConversion: true
149+
}
150+
},
151+
`BLUEPRINT-${env}`
152+
];
153+
154+
const createAntTransform = (env) => [
155+
'transform-imports',
156+
{
157+
antd: {
158+
transform: (importName) => {
159+
let res;
160+
const files = glob.sync(
161+
path.resolve(
162+
__dirname,
163+
`../{..,ant-component-mapper}/node_modules/antd/${env === 'cjs' ? 'lib' : 'es'}/${importName
164+
.split(/(?=[A-Z])/)
165+
.join('-')
166+
.toLowerCase()}/index.js`
167+
)
168+
);
169+
if (files.length > 0) {
170+
res = files[0];
171+
} else {
172+
throw new Error(`File with importName ${importName} does not exist`);
173+
}
174+
175+
res = res.replace(/^.*node_modules\//, '');
176+
res = res.replace(/^\//, '');
177+
return res;
178+
}
179+
}
180+
},
181+
`ant-${env}`
182+
];
183+
184+
const createReactJSSTransform = (env) => [
185+
'transform-imports',
186+
{
187+
'react-jss': {
188+
skipDefaultConversion: true,
189+
transform: (importName) => {
190+
let res;
191+
const files = glob.sync(
192+
path.resolve(
193+
__dirname,
194+
`../../node_modules/react-jss/dist/react-jss.${env}.js`
195+
)
196+
);
197+
if (files.length > 0) {
198+
res = files[0];
199+
} else {
200+
throw new Error(`File with importName ${importName} does not exist`);
201+
}
202+
203+
res = res.replace(path.resolve(__dirname, '../../node_modules/'), '');
204+
res = res.replace(/^\//, '');
205+
return res;
206+
}
207+
}
208+
},
209+
`react-jss-${env}`
210+
];
211+
212+
module.exports = {
213+
extends: '../../babel.config.js',
214+
env: {
215+
cjs: {
216+
presets: [['@babel/preset-env', { modules: 'commonjs' }]],
217+
plugins: [
218+
createSuirCJSTransform('commonjs'),
219+
createMuiTransform(),
220+
createPfReactTransform('js'),
221+
createBluePrintTransform('cjs'),
222+
createAntTransform('cjs'),
223+
createReactJSSTransform('cjs')
224+
]
225+
},
226+
esm: {
227+
presets: [['@babel/preset-env', { modules: false }]],
228+
plugins: [
229+
createSuirCJSTransform('es'),
230+
createMuiTransform(),
231+
createPfReactTransform('esm'),
232+
createBluePrintTransform('esm'),
233+
createAntTransform('esm'),
234+
createReactJSSTransform('esm')
235+
]
236+
}
237+
}
238+
};

packages/ant-component-mapper/tsconfig.json

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"compilerOptions": {
3+
"sourceMap": true,
4+
"module": "es6",
5+
"moduleResolution": "node",
6+
"target": "es5",
7+
"lib": ["es2020", "dom"],
8+
"jsx": "preserve",
9+
"allowSyntheticDefaultImports": true,
10+
"noErrorTruncation": true,
11+
"allowJs": true,
12+
"strict": true,
13+
"noEmit": true
14+
},
15+
"include": ["./src/**/*.ts", "./src/**/*.tsx", "./src/**/*.js"],
16+
"exclude": ["./dist"]
17+
}

packages/blueprint-component-mapper/babel.config.js

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

0 commit comments

Comments
 (0)