From 8b2c4a38a461ff5ecc95972291bc711e2c5dec9a Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 01:47:57 +0800 Subject: --- examples/kitchen-sink/packages/ui/.eslintrc.js | 4 ++ examples/kitchen-sink/packages/ui/package.json | 39 +++++++++++++++++++ .../kitchen-sink/packages/ui/src/CounterButton.tsx | 45 ++++++++++++++++++++++ .../kitchen-sink/packages/ui/src/NewTabLink.tsx | 15 ++++++++ .../packages/ui/src/__tests__/index.test.tsx | 11 ++++++ .../packages/ui/src/__tests__/tsconfig.json | 7 ++++ examples/kitchen-sink/packages/ui/src/index.tsx | 3 ++ examples/kitchen-sink/packages/ui/tsconfig.json | 8 ++++ 8 files changed, 132 insertions(+) create mode 100644 examples/kitchen-sink/packages/ui/.eslintrc.js create mode 100644 examples/kitchen-sink/packages/ui/package.json create mode 100644 examples/kitchen-sink/packages/ui/src/CounterButton.tsx create mode 100644 examples/kitchen-sink/packages/ui/src/NewTabLink.tsx create mode 100644 examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx create mode 100644 examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json create mode 100644 examples/kitchen-sink/packages/ui/src/index.tsx create mode 100644 examples/kitchen-sink/packages/ui/tsconfig.json (limited to 'examples/kitchen-sink/packages/ui') diff --git a/examples/kitchen-sink/packages/ui/.eslintrc.js b/examples/kitchen-sink/packages/ui/.eslintrc.js new file mode 100644 index 0000000..c8df607 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: ["custom"], +}; diff --git a/examples/kitchen-sink/packages/ui/package.json b/examples/kitchen-sink/packages/ui/package.json new file mode 100644 index 0000000..2241c40 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/package.json @@ -0,0 +1,39 @@ +{ + "name": "ui", + "version": "0.0.0", + "private": true, + "license": "MIT", + "sideEffects": false, + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist/**" + ], + "scripts": { + "build": "tsup src/index.tsx --format esm,cjs --dts --external react", + "clean": "rm -rf dist", + "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react", + "lint": "eslint \"src/**/*.ts*\"", + "test": "jest" + }, + "jest": { + "preset": "jest-presets/jest/node" + }, + "devDependencies": { + "@types/jest": "^26.0.22", + "@types/react": "^17.0.13", + "@types/react-dom": "^17.0.8", + "eslint": "^7.32.0", + "eslint-config-custom": "workspace:*", + "jest": "^26.6.3", + "jest-presets": "workspace:*", + "react": "^18.2.0", + "tsconfig": "workspace:*", + "tsup": "^6.2.3", + "typescript": "^4.8.3" + }, + "dependencies": { + "react-dom": "^18.2.0" + } +} diff --git a/examples/kitchen-sink/packages/ui/src/CounterButton.tsx b/examples/kitchen-sink/packages/ui/src/CounterButton.tsx new file mode 100644 index 0000000..ec99b39 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/CounterButton.tsx @@ -0,0 +1,45 @@ +import * as React from "react"; + +export const CounterButton = () => { + const [count, setCount] = React.useState(0); + return ( +
+

+ This component is from{" "} + + ui + +

+
+ +
+
+ ); +}; diff --git a/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx b/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx new file mode 100644 index 0000000..e8a00a0 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/NewTabLink.tsx @@ -0,0 +1,15 @@ +import * as React from "react"; +export const NewTabLink = ({ + children, + href, + ...other +}: { + children: React.ReactNode; + href: string; +}) => { + return ( + + {children} + + ); +}; diff --git a/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx b/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx new file mode 100644 index 0000000..8956208 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/__tests__/index.test.tsx @@ -0,0 +1,11 @@ +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { CounterButton } from "../CounterButton"; + +describe("CounterButton", () => { + it("renders without crashing", () => { + const div = document.createElement("div"); + ReactDOM.render(, div); + ReactDOM.unmountComponentAtNode(div); + }); +}); diff --git a/examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json b/examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json new file mode 100644 index 0000000..10f19c1 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/__tests__/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "include": [".", "../."], + "compilerOptions": { + "jsx": "react" + } +} diff --git a/examples/kitchen-sink/packages/ui/src/index.tsx b/examples/kitchen-sink/packages/ui/src/index.tsx new file mode 100644 index 0000000..4880f34 --- /dev/null +++ b/examples/kitchen-sink/packages/ui/src/index.tsx @@ -0,0 +1,3 @@ +import * as React from "react"; +export { NewTabLink } from "./NewTabLink"; +export { CounterButton } from "./CounterButton"; diff --git a/examples/kitchen-sink/packages/ui/tsconfig.json b/examples/kitchen-sink/packages/ui/tsconfig.json new file mode 100644 index 0000000..46c4f7b --- /dev/null +++ b/examples/kitchen-sink/packages/ui/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "lib": ["dom", "ES2015"] + }, + "extends": "tsconfig/react-library.json", + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +} -- cgit v1.2.3-70-g09d2