Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project/upgrade react v18 #421

Merged
merged 41 commits into from
Jan 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
319be27
build: upgrade node to v20
kyoyadmoon Dec 12, 2023
1ccf9e5
ci: update node version of workflows
kyoyadmoon Dec 12, 2023
f984d82
docs: upgrade storybook to v6 with webpack v5
kyoyadmoon Dec 12, 2023
2b8318e
docs: update title in Storybook examples
kyoyadmoon Dec 12, 2023
1073229
test: add testing-library
kyoyadmoon Dec 12, 2023
5c175be
test: upgrade jest
kyoyadmoon Dec 13, 2023
bf2aebd
test: update test of SearchInput
kyoyadmoon Dec 13, 2023
b95a974
test: update jest config
kyoyadmoon Dec 13, 2023
fcd79c0
refactor: Refactor EditableBasicRow component to use React hooks
kyoyadmoon Dec 14, 2023
e16dd03
refactor: Refactor EditableTextLabel component to use React hooks
kyoyadmoon Dec 14, 2023
17aabd1
refactor: Refactor StatusIcon component and update tests
kyoyadmoon Dec 14, 2023
907b7a0
refactor: Refactor SelectList component to use React hooks
kyoyadmoon Dec 14, 2023
d82ed07
test: Add touch event tests to EditableTextLabel
kyoyadmoon Dec 14, 2023
8f84c1a
refactor: Refactor SelectRow component to use React hooks
kyoyadmoon Dec 15, 2023
c2f5cfe
docs: Add onChange event handler to SelectRow component
kyoyadmoon Dec 15, 2023
225ff52
refactor: Refactor SwitchRow component to use React hooks
kyoyadmoon Dec 15, 2023
9fefd36
refactor: Refactor componentDidUpdate in ImageEditor.js
kyoyadmoon Dec 15, 2023
f6366f4
feat: upgrade react to v18
kyoyadmoon Dec 16, 2023
36c4da1
refactor: Refactor tests to use @testing-library/react
kyoyadmoon Dec 16, 2023
c2d9b9e
docs: Refactor ReactDOM.render to use createRoot
kyoyadmoon Dec 16, 2023
26f200f
fix: Fix warning message in SelectRow.js
kyoyadmoon Dec 16, 2023
48018d5
test: Update Jest config to ignore icons components in coverage
kyoyadmoon Dec 16, 2023
caa3ea6
refactor: Refactor EditableTextLabel and StatusIcon exports
kyoyadmoon Dec 16, 2023
dbfcd59
refactor: Update SelectList export
kyoyadmoon Dec 16, 2023
36b8195
chore: update code format
kyoyadmoon Dec 18, 2023
e068001
chore: Update Node.js version to 20
kyoyadmoon Dec 18, 2023
08a2eee
Merge pull request #413 from iCHEF/feat/upgrade-node-v20
kyoyadmoon Dec 18, 2023
4dc2beb
Merge pull request #414 from iCHEF/docs/upgrade-storybook-v6-with-web…
kyoyadmoon Dec 18, 2023
2e0aa8d
Merge pull request #415 from iCHEF/test/add-testing-library
kyoyadmoon Dec 18, 2023
5849ef8
Merge pull request #416 from iCHEF/refactor/remove-unsafe-lifecycles-…
kyoyadmoon Dec 19, 2023
662b0f9
chore: revised with reviewer suggestions
kyoyadmoon Dec 19, 2023
1a7edf3
Merge pull request #417 from iCHEF/refactor/remove-unsafe-lifecycles-…
kyoyadmoon Dec 19, 2023
ac6f801
Merge pull request #418 from iCHEF/refactor/remove-unsafe-lifecycles-…
kyoyadmoon Dec 19, 2023
50c9b26
Merge pull request #419 from iCHEF/refactor/remove-unsafe-lifecycles-…
kyoyadmoon Dec 19, 2023
a3439b8
Merge pull request #420 from iCHEF/feat/upgrade-react-v18
kyoyadmoon Dec 19, 2023
f7f8e56
refactor: Refactor EditableTextLabel component to use useRef
kyoyadmoon Dec 20, 2023
2112c8a
Merge pull request #422 from iCHEF/fix/implementation-of-simulate-dou…
kyoyadmoon Dec 21, 2023
2e9e8a2
build: fix svg and font loader config of webpack.dist.js
kyoyadmoon Dec 28, 2023
422b543
chore: remove unused file-loader
kyoyadmoon Dec 28, 2023
d2ce155
Merge pull request #423 from iCHEF/build/webpack-v5-font-and-svg-loader
kyoyadmoon Jan 3, 2024
7076e66
build: remove cache option from TerserPlugin in webpack.config.js
kyoyadmoon Jan 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/canary_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-node@v1
with:
node-version: '12'
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'

- name: Install packages with cache
Expand All @@ -36,8 +36,16 @@ jobs:
env: canary
ref: ${{ github.head_ref }}

- name: "NPM Identity"
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
echo "#always-auth=true" >> .npmrc

- name: Publish canary build
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
RUN_NUMBER: ${{ github.run_number }}
run: yarn release:canary --yes --preid="alpha.${RUN_NUMBER}" --no-git-reset --dist-tag="alpha"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '20.x'
- name: Install packages with cache
uses: iCHEF/npm-install-with-cache-action@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
token: ${{ secrets.ICHEF_BOT_TOKEN }}
- uses: actions/setup-node@v1
with:
node-version: '12'
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install packages with cache
uses: iCHEF/npm-install-with-cache-action@v1
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
lts/erbium
v20
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,21 @@ Here is a quick example to get you started:
**./App.js**
```jsx
import React from 'react';
import ReactDOM from 'react-dom';
import { createRoot } from 'react-dom/client';

import CustomComponent from './CustomComponent';

import '@ichef/gypcrete/dist/gypcrete.css';

const App = () => (
<div>
<CustomComponent />
</div>
<div>
<CustomComponent />
</div>
);

ReactDOM.render(
<App />,
document.getElementById('app')
);
const container = document.getElementById('app');
const root = createRoot(container);
root.render(<App />);
```

**./CustomComponent.js**
Expand Down
1 change: 1 addition & 0 deletions configs/.eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ es/
lib/
public/
!.storybook/
packages/core/src/icons/components
27 changes: 14 additions & 13 deletions configs/jest.config.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
{
"rootDir": "../",
"coverageReporters": ["clover", "json", "lcov", "text"],
"coveragePathIgnorePatterns": [
"/node_modules/",
"<rootDir>/packages/\\w+/lib/"
],
"moduleNameMapper": {
"\\.(css|scss|sass|md|jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|)$": "<rootDir>/__mocks__/fileMock.js"
},
"transformIgnorePatterns": [
"<rootDir>/node_modules/(?!@ichef/)"
],
"setupTestFrameworkScriptFile": "<rootDir>/configs/jestSetup.js"
"rootDir": "../",
"coverageReporters": ["clover", "json", "lcov", "text"],
"coveragePathIgnorePatterns": [
"/node_modules/",
"<rootDir>/packages/\\w+/lib/",
"<rootDir>/packages/core/src/icons/components/"
],
"moduleNameMapper": {
"\\.(css|scss|sass|md|jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|)$": "<rootDir>/__mocks__/fileMock.js"
},
"transformIgnorePatterns": [
"<rootDir>/node_modules/(?!@ichef/)"
],
"setupTestFrameworkScriptFile": "<rootDir>/configs/jestSetup.js"
}
3 changes: 2 additions & 1 deletion configs/jestSetup.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint-disable import/no-extraneous-dependencies */
import Enzyme from 'enzyme';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
import Adapter from '@cfaester/enzyme-adapter-react-18';
import '@testing-library/jest-dom';

Enzyme.configure({ adapter: new Adapter() });
56 changes: 36 additions & 20 deletions configs/webpack.dist.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
/* eslint-disable import/no-extraneous-dependencies */
const path = require('path');
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

const packageDirname = process.cwd();
const fullPackageName = process.env.npm_package_name || process.env.GPT_PKG_NAME;
const packageName = fullPackageName.replace(/@ichef\//, '');

function toCamelCase(str) {
return str.replace(/([-_]\w)/g, g => g[1].toUpperCase());
}


module.exports = {
mode: 'production',

entry: './src/index.js',

context: packageDirname,

output: {
filename: `${packageName}.js`,
path: path.resolve(packageDirname, 'dist'),
library: packageName,
library: {
name: toCamelCase(packageName),
type: 'var',
},
},

module: {
Expand All @@ -39,35 +49,41 @@ module.exports = {
include: [
path.resolve(packageDirname, 'src'),
],
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
use: [
{
loader: MiniCssExtractPlugin.loader,
},
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
{
loader: 'postcss-loader',
options: {
plugins: () => [autoprefixer],
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [autoprefixer],
},
},
{
loader: 'sass-loader',
options: {
},
{
loader: 'sass-loader',
options: {
sassOptions: {
outputStyle: 'expanded',
},
},
],
}),
},
],
},
],
},

plugins: [
new ExtractTextPlugin(`${packageName}.css`),
new MiniCssExtractPlugin({
filename: `${packageName}.css`,
}),
],

externals: {
Expand Down
40 changes: 22 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"repository": "iCHEF/gypcrete",
"license": "Apache-2.0",
"engines": {
"node": ">= 8.2.1 <= 12",
"node": ">= 20",
"npm": ">= 5.10.0",
"yarn": ">= 1.10.0"
},
Expand Down Expand Up @@ -35,22 +35,26 @@
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/plugin-transform-runtime": "^7.4.4",
"@babel/preset-env": "^7.4.4",
"@babel/preset-react": "^7.0.0",
"@babel/preset-react": "^7.23.3",
"@babel/runtime": "^7.4.4",
"@babel/runtime-corejs3": "^7.4.4",
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
"@cfaester/enzyme-adapter-react-18": "^0.7.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.4.0",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^13.5.0",
"autoprefixer": "^9.6.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^23.6.0",
"babel-jest": "^26.1.0",
"babel-loader": "^8.0.4",
"babel-plugin-module-resolver": "^3.1.1",
"babel-plugin-strip-css-imports": "zhusee2/babel-plugin-strip-css-imports",
"conventional-changelog-cli": "^2.1.1",
"core-js": "^3.1.1",
"coveralls": "^3.0.0",
"css-loader": "^0.28.8",
"enzyme": "^3.7.0",
"css-loader": "^6.8.1",
"enzyme": "^3.11.0",
"eslint": "7.8",
"eslint-config-airbnb": "18.2",
"eslint-config-ichef": "8.0",
Expand All @@ -62,21 +66,21 @@
"eslint-plugin-react": "7.20",
"eslint-plugin-react-hooks": "4.1",
"eslint-plugin-unicorn": "21.0",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.6",
"jest": "^23.6.0",
"lerna": "^3.16.4",
"node-sass": "^4.12.0",
"postcss-loader": "^3.0.0",
"jest": "^26.1.0",
"lerna": "^3.22.1",
"mini-css-extract-plugin": "^2.7.6",
"postcss-loader": "^7.3.3",
"prop-types": "^15.6.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-test-renderer": "^17.0.2",
"sass-loader": "^6.0.2",
"style-loader": "^0.19.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-test-renderer": "^18.2.0",
"sass": "^1.69.5",
"sass-loader": "^13.3.2",
"style-loader": "^3.3.3",
"stylelint": "^10.1.0",
"stylelint-config-standard": "^16.0.0",
"webpack": "^3.10.0"
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4"
},
"eslintConfig": {
"root": true,
Expand Down
26 changes: 8 additions & 18 deletions packages/core/configs/webpack.dist.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,17 @@ module.exports = webpackMerge(defaultConfigs, {
include: [
path.resolve(packageDirname, 'src/fonts'),
],
use: [
{
loader: 'file-loader',
options: {
name: '[name]-[hash:6].[ext]',
outputPath: 'fonts/',
},
},
],
type: 'asset/resource',
generator: {
filename: 'fonts/[name]-[hash:6][ext]',
},
},
{
test: /\.svg$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name]-[hash:6].[ext]',
outputPath: 'icons/',
},
},
],
type: 'asset/resource',
generator: {
filename: 'icons/[name]-[hash:6][ext]',
},
},
],
},
Expand Down
14 changes: 9 additions & 5 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
"peerDependencies": {
"@babel/runtime-corejs3": "^7.4.4",
"prop-types": "^15.5.8",
"react": "^17.0.2",
"react-dom": "^17.0.2"
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"dependencies": {
"classnames": "^2.2.5",
Expand All @@ -47,9 +47,13 @@
},
"devDependencies": {
"@babel/cli": "^7.4.4",
"enzyme": "^3.7.0",
"react-is": "^17.0.2",
"webpack": "^3.10.0",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.4.0",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^13.5.0",
"enzyme": "^3.11.0",
"react-is": "^18.2.0",
"webpack": "^5.89.0",
"webpack-merge": "^4.1.2"
}
}
Loading
Loading