From 8b2c4a38a461ff5ecc95972291bc711e2c5dec9a Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 01:47:57 +0800 Subject: --- .../packages/eslint-config-custom-server/index.js | 19 ++++++++++++++ .../eslint-config-custom-server/package.json | 9 +++++++ .../packages/eslint-config-custom/index.js | 13 ++++++++++ .../packages/eslint-config-custom/package.json | 15 +++++++++++ .../packages/jest-presets/jest/node/jest-preset.js | 13 ++++++++++ .../with-docker/packages/jest-presets/package.json | 9 +++++++ examples/with-docker/packages/logger/.eslintrc.js | 4 +++ examples/with-docker/packages/logger/package.json | 30 ++++++++++++++++++++++ .../packages/logger/src/__tests__/log.test.ts | 10 ++++++++ .../packages/logger/src/__tests__/tsconfig.json | 4 +++ examples/with-docker/packages/logger/src/index.ts | 3 +++ examples/with-docker/packages/logger/tsconfig.json | 11 ++++++++ examples/with-docker/packages/tsconfig/README.md | 3 +++ examples/with-docker/packages/tsconfig/base.json | 20 +++++++++++++++ examples/with-docker/packages/tsconfig/nextjs.json | 22 ++++++++++++++++ .../with-docker/packages/tsconfig/package.json | 9 +++++++ .../packages/tsconfig/react-library.json | 11 ++++++++ examples/with-docker/packages/ui/Button.tsx | 9 +++++++ examples/with-docker/packages/ui/index.tsx | 2 ++ examples/with-docker/packages/ui/package.json | 19 ++++++++++++++ examples/with-docker/packages/ui/tsconfig.json | 5 ++++ 21 files changed, 240 insertions(+) create mode 100644 examples/with-docker/packages/eslint-config-custom-server/index.js create mode 100644 examples/with-docker/packages/eslint-config-custom-server/package.json create mode 100644 examples/with-docker/packages/eslint-config-custom/index.js create mode 100644 examples/with-docker/packages/eslint-config-custom/package.json create mode 100644 examples/with-docker/packages/jest-presets/jest/node/jest-preset.js create mode 100644 examples/with-docker/packages/jest-presets/package.json create mode 100644 examples/with-docker/packages/logger/.eslintrc.js create mode 100644 examples/with-docker/packages/logger/package.json create mode 100644 examples/with-docker/packages/logger/src/__tests__/log.test.ts create mode 100644 examples/with-docker/packages/logger/src/__tests__/tsconfig.json create mode 100644 examples/with-docker/packages/logger/src/index.ts create mode 100644 examples/with-docker/packages/logger/tsconfig.json create mode 100644 examples/with-docker/packages/tsconfig/README.md create mode 100644 examples/with-docker/packages/tsconfig/base.json create mode 100644 examples/with-docker/packages/tsconfig/nextjs.json create mode 100644 examples/with-docker/packages/tsconfig/package.json create mode 100644 examples/with-docker/packages/tsconfig/react-library.json create mode 100644 examples/with-docker/packages/ui/Button.tsx create mode 100644 examples/with-docker/packages/ui/index.tsx create mode 100644 examples/with-docker/packages/ui/package.json create mode 100644 examples/with-docker/packages/ui/tsconfig.json (limited to 'examples/with-docker/packages') diff --git a/examples/with-docker/packages/eslint-config-custom-server/index.js b/examples/with-docker/packages/eslint-config-custom-server/index.js new file mode 100644 index 0000000..f0117f9 --- /dev/null +++ b/examples/with-docker/packages/eslint-config-custom-server/index.js @@ -0,0 +1,19 @@ +module.exports = { + extends: ["eslint:recommended"], + env: { + node: true, + es6: true, + }, + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + }, + overrides: [ + { + files: ["**/__tests__/**/*"], + env: { + jest: true, + }, + }, + ], +}; diff --git a/examples/with-docker/packages/eslint-config-custom-server/package.json b/examples/with-docker/packages/eslint-config-custom-server/package.json new file mode 100644 index 0000000..0ba6bc7 --- /dev/null +++ b/examples/with-docker/packages/eslint-config-custom-server/package.json @@ -0,0 +1,9 @@ +{ + "name": "eslint-config-custom-server", + "version": "0.0.0", + "license": "MIT", + "main": "index.js", + "publishConfig": { + "access": "public" + } +} diff --git a/examples/with-docker/packages/eslint-config-custom/index.js b/examples/with-docker/packages/eslint-config-custom/index.js new file mode 100644 index 0000000..d44cb62 --- /dev/null +++ b/examples/with-docker/packages/eslint-config-custom/index.js @@ -0,0 +1,13 @@ +module.exports = { + extends: ["next", "turbo", "prettier"], + settings: { + react: { + version: "detect", + }, + }, + parserOptions: { + babelOptions: { + presets: [require.resolve("next/babel")], + }, + }, +}; diff --git a/examples/with-docker/packages/eslint-config-custom/package.json b/examples/with-docker/packages/eslint-config-custom/package.json new file mode 100644 index 0000000..03d70c0 --- /dev/null +++ b/examples/with-docker/packages/eslint-config-custom/package.json @@ -0,0 +1,15 @@ +{ + "name": "eslint-config-custom", + "version": "0.0.0", + "license": "MIT", + "main": "index.js", + "dependencies": { + "eslint-config-next": "latest", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-react": "7.28.0", + "eslint-config-turbo": "latest" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/examples/with-docker/packages/jest-presets/jest/node/jest-preset.js b/examples/with-docker/packages/jest-presets/jest/node/jest-preset.js new file mode 100644 index 0000000..b6c2593 --- /dev/null +++ b/examples/with-docker/packages/jest-presets/jest/node/jest-preset.js @@ -0,0 +1,13 @@ +module.exports = { + roots: [""], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + modulePathIgnorePatterns: [ + "/test/__fixtures__", + "/node_modules", + "/dist", + ], + preset: "ts-jest", +}; diff --git a/examples/with-docker/packages/jest-presets/package.json b/examples/with-docker/packages/jest-presets/package.json new file mode 100644 index 0000000..c598b40 --- /dev/null +++ b/examples/with-docker/packages/jest-presets/package.json @@ -0,0 +1,9 @@ +{ + "name": "jest-presets", + "version": "0.0.0", + "private": true, + "license": "MIT", + "dependencies": { + "ts-jest": "^26.5.0" + } +} diff --git a/examples/with-docker/packages/logger/.eslintrc.js b/examples/with-docker/packages/logger/.eslintrc.js new file mode 100644 index 0000000..c8df607 --- /dev/null +++ b/examples/with-docker/packages/logger/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: ["custom"], +}; diff --git a/examples/with-docker/packages/logger/package.json b/examples/with-docker/packages/logger/package.json new file mode 100644 index 0000000..17079ae --- /dev/null +++ b/examples/with-docker/packages/logger/package.json @@ -0,0 +1,30 @@ +{ + "name": "logger", + "version": "0.0.0", + "private": true, + "main": "./dist/index.js", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "files": [ + "dist/**" + ], + "scripts": { + "build": "tsc", + "clean": "rm -rf dist", + "dev": "tsc -w", + "lint": "eslint \"src/**/*.ts*\"", + "test": "jest" + }, + "jest": { + "preset": "jest-presets/jest/node" + }, + "devDependencies": { + "@types/jest": "^26.0.22", + "eslint": "^7.32.0", + "eslint-config-custom": "*", + "jest": "^26.6.3", + "jest-presets": "*", + "tsconfig": "*", + "typescript": "^4.5.3" + } +} diff --git a/examples/with-docker/packages/logger/src/__tests__/log.test.ts b/examples/with-docker/packages/logger/src/__tests__/log.test.ts new file mode 100644 index 0000000..fa597a8 --- /dev/null +++ b/examples/with-docker/packages/logger/src/__tests__/log.test.ts @@ -0,0 +1,10 @@ +import { log } from ".."; + +jest.spyOn(global.console, "log"); + +describe("logger", () => { + it("prints a message", () => { + log("hello"); + expect(console.log).toBeCalled(); + }); +}); diff --git a/examples/with-docker/packages/logger/src/__tests__/tsconfig.json b/examples/with-docker/packages/logger/src/__tests__/tsconfig.json new file mode 100644 index 0000000..bf65be6 --- /dev/null +++ b/examples/with-docker/packages/logger/src/__tests__/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "include": [".", "../."] +} diff --git a/examples/with-docker/packages/logger/src/index.ts b/examples/with-docker/packages/logger/src/index.ts new file mode 100644 index 0000000..e472eb3 --- /dev/null +++ b/examples/with-docker/packages/logger/src/index.ts @@ -0,0 +1,3 @@ +export const log = (str: any) => { + console.log("logger: " + str); +}; diff --git a/examples/with-docker/packages/logger/tsconfig.json b/examples/with-docker/packages/logger/tsconfig.json new file mode 100644 index 0000000..74f3de4 --- /dev/null +++ b/examples/with-docker/packages/logger/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "lib": ["ES2015"], + "module": "CommonJS", + "outDir": "./dist", + "rootDir": "./src" + }, + "exclude": ["node_modules"], + "extends": "tsconfig/base.json", + "include": ["src"] +} diff --git a/examples/with-docker/packages/tsconfig/README.md b/examples/with-docker/packages/tsconfig/README.md new file mode 100644 index 0000000..0da79cf --- /dev/null +++ b/examples/with-docker/packages/tsconfig/README.md @@ -0,0 +1,3 @@ +# `tsconfig` + +These are base shared `tsconfig.json`s from which all other `tsconfig.json`'s inherit from. diff --git a/examples/with-docker/packages/tsconfig/base.json b/examples/with-docker/packages/tsconfig/base.json new file mode 100644 index 0000000..d72a9f3 --- /dev/null +++ b/examples/with-docker/packages/tsconfig/base.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "moduleResolution": "node", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true + }, + "exclude": ["node_modules"] +} diff --git a/examples/with-docker/packages/tsconfig/nextjs.json b/examples/with-docker/packages/tsconfig/nextjs.json new file mode 100644 index 0000000..3b7dfa9 --- /dev/null +++ b/examples/with-docker/packages/tsconfig/nextjs.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Next.js", + "extends": "./base.json", + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": ["src", "next-env.d.ts"], + "exclude": ["node_modules"] +} diff --git a/examples/with-docker/packages/tsconfig/package.json b/examples/with-docker/packages/tsconfig/package.json new file mode 100644 index 0000000..6efb83e --- /dev/null +++ b/examples/with-docker/packages/tsconfig/package.json @@ -0,0 +1,9 @@ +{ + "name": "tsconfig", + "version": "0.0.0", + "private": true, + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/examples/with-docker/packages/tsconfig/react-library.json b/examples/with-docker/packages/tsconfig/react-library.json new file mode 100644 index 0000000..6d6a7fe --- /dev/null +++ b/examples/with-docker/packages/tsconfig/react-library.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "React Library", + "extends": "./base.json", + "compilerOptions": { + "lib": ["ES2015"], + "module": "ESNext", + "target": "ES6", + "jsx": "react-jsx" + } +} diff --git a/examples/with-docker/packages/ui/Button.tsx b/examples/with-docker/packages/ui/Button.tsx new file mode 100644 index 0000000..4da1c65 --- /dev/null +++ b/examples/with-docker/packages/ui/Button.tsx @@ -0,0 +1,9 @@ +import * as React from "react"; + +interface ButtonProps extends React.ButtonHTMLAttributes { + children: React.ReactNode; +} + +export const Button = ({ children, ...rest }: ButtonProps) => { + return ; +}; diff --git a/examples/with-docker/packages/ui/index.tsx b/examples/with-docker/packages/ui/index.tsx new file mode 100644 index 0000000..916730e --- /dev/null +++ b/examples/with-docker/packages/ui/index.tsx @@ -0,0 +1,2 @@ +import * as React from "react"; +export * from "./Button"; diff --git a/examples/with-docker/packages/ui/package.json b/examples/with-docker/packages/ui/package.json new file mode 100644 index 0000000..e687c77 --- /dev/null +++ b/examples/with-docker/packages/ui/package.json @@ -0,0 +1,19 @@ +{ + "name": "ui", + "version": "0.0.0", + "license": "MIT", + "main": "./index.tsx", + "types": "./index.tsx", + "scripts": { + "lint": "eslint \"**/*.ts*\"" + }, + "devDependencies": { + "@types/react": "^17.0.37", + "@types/react-dom": "^17.0.11", + "eslint": "^7.32.0", + "eslint-config-custom": "*", + "react": "^17.0.2", + "tsconfig": "*", + "typescript": "^4.5.2" + } +} diff --git a/examples/with-docker/packages/ui/tsconfig.json b/examples/with-docker/packages/ui/tsconfig.json new file mode 100644 index 0000000..cd6c94d --- /dev/null +++ b/examples/with-docker/packages/ui/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "tsconfig/react-library.json", + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +} -- cgit v1.2.3-70-g09d2