8000 Migrate `@emotion/is-prop-valid` to TypeScript (#2432) · emotion-js/emotion@a1e881b · GitHub
[go: up one dir, main page]

Skip to content

Commit a1e881b

Browse files
Migrate @emotion/is-prop-valid to TypeScript (#2432)
* [is-prop-valid] Convert to TypeScript * Add changeset * tweak some minor things Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
1 parent fc4d27c commit a1e881b

File tree

8 files changed

+17
-13
lines changed

8 files changed

+17
-13
lines changed

.changeset/hot-yaks-flow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@emotion/is-prop-valid': minor
3+
---
4+
5+
Source code has been migrated to TypeScript. From now on type declarations will be emitted based on that, instead of being hand-written.

packages/is-prop-valid/package.json

Lines changed: 2 additions & 3 deletions
< 8000 td data-grid-cell-id="diff-ea92ceb68d9de797ff6ccd926051ee30fd069382b1d5d0989626bc25582182de-4-4-0" data-selected="false" role="gridcell" style="background-color:var(--bgColor-default);text-align:center" tabindex="-1" valign="top" class="focusable-grid-cell diff-line-number position-relative diff-line-number-neutral left-side">4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
4
"description": "A function to check whether a prop is valid for HTML and SVG elements",
55
"main": "dist/emotion-is-prop-valid.cjs.js",
66
"module": "dist/emotion-is-prop-valid.esm.js",
7-
"types": "types/index.d.ts",
7+
"types": "dist/emotion-is-prop-valid.cjs.d.ts",
88
"license": "MIT",
99
"repository": "https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid",
1010
"scripts": {
@@ -21,8 +21,7 @@
2121
},
2222
"files": [
2323
"src",
24-
"dist",
25-
"types/*.d.ts"
24+
"dist"
2625
],
2726
"browser": {
2827
"./dist/emotion-is-prop-valid.cjs.js": "./dist/emotion-is-prop-valid.browser.cjs.js",

packages/is-prop-valid/src/index.js renamed to packages/is-prop-valid/src/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import memoize from '@emotion/memoize'
22

3-
/*
4-
declare var codegen: { require: string => RegExp }
5-
*/
3+
declare const codegen: { require: (path: string) => any }
64

75
// eslint-disable-next-line no-undef
8-
const reactPropsRegex = codegen.require('./props')
6+
const reactPropsRegex: RegExp = codegen.require('./props')
97

108
// https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
119
const isPropValid = /* #__PURE__ */ memoize(

packages/is-prop-valid/src/props.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* This module needs to remain pure JavaScript for codegen to work on it
3+
*/
14
const props = {
25
// react props
36
// https://github.com/facebook/react/blob/5495a7f24aef85ba6937truetrue1ce962673ca9f5fde6/src/renderers/dom/shared/hooks/ReactDOMUnknownPropertyHook.js
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// Definitions by: Junyoung Clare Jang <https://github.com/Ailrun>
21
// TypeScript Version: 2.1
32

4-
declare function isPropValid(string: PropertyKey): boolean
5-
export default isPropValid
3+
export { default } from '../src'

packages/is-prop-valid/types/tslint.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"check-preblock"
1818
],
1919

20-
"no-unnecessary-generics": false
20+
"no-unnecessary-generics": false,
21+
"no-default-import": false
2122
}
2223
}

packages/memoize/types/tests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import memoize from '../src'
1+
import memoize from '@emotion/memoize'
22

33
// $ExpectType string[]
44
memoize((arg: string) => [arg])('foo')

packages/weak-memoize/types/tests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import weakMemoize from '../src'
1+
import weakMemoize from '@emotion/weak-memoize'
22

33
interface Foo {
44
bar: 'xyz'

0 commit comments

Comments
 (0)
0