Releases: modern-agile-team/modern-kit
@modern-kit/[email protected]
Minor Changes
-
#765
cd2baa4
Thanks @rhehfl! - feat(utils): isSet 함수 추가 - @rhehfl -
#785
68157fc
Thanks @rhehfl! - feat(utils): isRegExp 함수 추가 - @rhehfl -
#747
17d1b3c
Thanks @YeonnJ! - feat(utils): trimStart 신규 함수 추가 - @YeonnJ -
#774
7a65987
Thanks @ssi02014! - feat(utils): invariant 신규 함수 추가 - @ssi02014 -
#761
0f8ad19
Thanks @ssi02014! - feat(utils): parseDate 신규 유틸 함수 추가 - @ssi02014 -
#748
e0bd3ee
Thanks @GNOSss! - feat(utils): isBirthDate 함수 추가 - @GNOSss -
#749
66972c2
Thanks @dngur9801! - feat(utils): isAlphanumeric 함수 추가 - @dngur9801 -
#718
87238a3
Thanks @ssi02014! - feat(utils): isBlob 함수 추가 - @ssi02014 -
#766
e852048
Thanks @dngur9801! - feat(utils): zip 함수 추가 - @dngur9801 -
#762
a33b43b
Thanks @ssi02014! - feat(utils): trim 신규 유틸 함수 추가 - @ssi02014 -
#746
8d1a383
Thanks @Gaic4o! - feat(utils) random, randomInt 함수 추가 - @Gaic4o -
#751
346c9e9
Thanks @YeonnJ! - feat(utils) trimEnd 함수 추가 - @YeonnJ -
#706
7574f89
Thanks @ssi02014! - chore: update react/utils build setting - @ssi02014 -
#775
a762a44
Thanks @dngur9801! - feat(utils): retry 함수 추가 - @dngur9801 -
#772
04279f0
Thanks @ssi02014! - feat(utils): removeLetters 추가 - @ssi02014
Patch Changes
@modern-kit/[email protected]
@modern-kit/[email protected]
Minor Changes
-
#716
1718064
Thanks @ssi02014! - feat(react): Delay 컴포넌트 추가 - @ssi02014 -
#738
3cb3572
Thanks @ssi02014! - feat(react): useArrayState 신규 훅 추가 - @ssi02014 -
#792
cded639
Thanks @ssi02014! - feat(react): useComputedStyleObserver 신규 훅 추가 - @ssi02014 -
#790
2bd2da3
Thanks @ssi02014! - feat(react): useDropZone 신규 훅 추가 - @ssi02014 -
#743
078ffae
Thanks @ssi02014! - fix(react): remove useUserAgent - @ssi02014 -
#759
47d489e
Thanks @dngur9801! - feat(react): useDidUpdate 신규 훅 추가 - @dngur9801 -
#764
77f5fbc
Thanks @ssi02014! - feat(react): EventExtender 신규 컴포넌트 추가 - @ssi02014 -
#706
7574f89
Thanks @ssi02014! - chore: update react/utils build setting - @ssi02014
Patch Changes
@modern-kit/[email protected]
Release
@modern-kit/utils v2.0.0부터 SubPath
를 지원합니다.
SubPath
- 전체 모듈을 불러오는 것이 아닌 필요한 모듈만 직접 가져오기 때문에
불 필요한 코드를 불러오는 것을 방지
할 수 있으며,번들러가 모듈을 읽고, 식별하는 과정
을 최적화 할 수 있습니다. - 번들러가 개별 모듈을 더 잘 식별할 수 있기 때문에,
Tree-shaking
이 더욱 효과적으로 동작하도록 개선 할 수 있습니다. 이는 결과적으로 최종 번들 크기를 줄이는데 도움이 됩니다.
// 일반 케이스
import { flatten } from '@modern-kit/utils';
const arr = [1, [2, [3, 4], 5]];
const result = flatten(arr); // [1, 2, 3, 4, 5]
// SubPath 사용 예시
// tsconfig moduleResolution 옵션이 `bundler`일 경우
import { flatten } from '@modern-kit/utils/array/flatten';
// tsconfig moduleResolution 옵션이 `node`일 경우
import { flatten } from '@modern-kit/utils/dist/array/flatten';
const arr = [1, [2, [3, 4], 5]];
const result = flatten(arr); // [1, 2, 3, 4, 5]
Next.js 개발 환경에서 SubPath 사용 차이
SubPath 사용하지 않은 경우
import { flatten } from "@modern-kit/utils";
export default function Home() {
console.log(flatten([1, [2], [3], [4], [5]]));
return (
<div>{}</div>
);
}

첫 번째 이미지는 SubPath
를 사용하지 않은 경우입니다. 전체 모듈에서 flatten
을 가져온 경우입니다.
위 이미지와 같이 @modern-kit/utils
의 모든 모듈을 불러오는 것을 확인 할 수 있습니다.
SubPath 사용한 경우
// tsconfig moduleResolution 옵션이 `node`
import { flatten } from "@modern-kit/utils/dist/array/flatten";
export default function Home() {
console.log(flatten([1, [2], [3], [4], [5]]));
return (
<div>{}</div>
);
}

두 번째 이미지는 SubPath
를 사용한 경우입니다. 개별 경로를 통해 flatten
을 가져온 경우입니다.
첫 번째 케이스와 다르게 사용하는 @modern-kit/utils
의 flatten
만 불러오는 것을 확인 할 수 있습니다.
이러한 차이는 개발 서버 성능에 영향을 미칠 수 있습니다.
@modern-kit/[email protected]
Release
@modern-kit/react v2.0.0부터 SubPath
를 지원합니다.
SubPath
- 전체 모듈을 불러오는 것이 아닌 필요한 모듈만 직접 가져오기 때문에
불 필요한 코드를 불러오는 것을 방지
할 수 있으며,번들러가 모듈을 읽고, 식별하는 과정
을 최적화 할 수 있습니다. - 번들러가 개별 모듈을 더 잘 식별할 수 있기 때문에,
Tree-shaking
이 더욱 효과적으로 동작하도록 개선 할 수 있습니다. 이는 결과적으로 최종 번들 크기를 줄이는데 도움이 됩니다.
// 일반 케이스
import { useInterval } from '@modern-kit/react';
const App = () => {
useInterval(() => {
console.log('interval');
}, 300);
return <div>Modern Kit</div>;
}
// tsconfig moduleResolution 옵션이 `node`일 경우
import { useInterval } from '@modern-kit/react/dist/hooks/useInterval';
// tsconfig moduleResolution 옵션이 `bundler`일 경우
import { useInterval } from '@modern-kit/react/hooks/useInterval';
const App = () => {
useInterval(() => {
console.log('interval');
}, 300);
return <div>Modern Kit</div>;
}
Next.js 개발 환경에서 SubPath 사용 차이
SubPath 사용하지 않은 경우
import { flatten } from "@modern-kit/utils";
export default function Home() {
console.log(flatten([1, [2], [3], [4], [5]]));
return (
<div>{}</div>
);
}

첫 번째 이미지는 SubPath
를 사용하지 않은 경우입니다. 전체 모듈에서 flatten
을 가져온 경우입니다.
위 이미지와 같이 @modern-kit/utils
의 모든 모듈을 불러오는 것을 확인 할 수 있습니다.
SubPath 사용한 경우
// tsconfig moduleResolution 옵션이 `node`
import { flatten } from "@modern-kit/utils/dist/array/flatten";
export default function Home() {
console.log(flatten([1, [2], [3], [4], [5]]));
return (
<div>{}</div>
);
}

두 번째 이미지는 SubPath
를 사용한 경우입니다. 개별 경로를 통해 flatten
을 가져온 경우입니다.
첫 번째 케이스와 다르게 사용하는 @modern-kit/utils
의 flatten
만 불러오는 것을 확인 할 수 있습니다.
이러한 차이는 개발 서버 성능에 영향을 미칠 수 있습니다.