diff --git a/.gitignore b/.gitignore index 7f4cfd48..5a019028 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,4 @@ types/types.ts build typedocs +.turbo diff --git a/docs/.eslintrc.js b/docs/.eslintrc.js new file mode 100644 index 00000000..0a6b9c1a --- /dev/null +++ b/docs/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + rules: { + 'no-use-before-define': 0, + 'no-console': 0, + }, + extends: ['../.eslintrc.js'], +} diff --git a/docs/package.json b/docs/package.json index 4aa39776..05fce960 100644 --- a/docs/package.json +++ b/docs/package.json @@ -6,7 +6,8 @@ "author": "Burak Cakmakoglu", "scripts": { "dev": "vuepress dev src", - "build": "vuepress build src" + "build": "vuepress build src", + "lint": "eslint --ext \".ts,.tsx\" -c .eslintrc.js --fix ./dist" }, "dependencies": { "@braks/vue-flow": "^0.4.2-3", diff --git a/examples/.eslintrc.js b/examples/.eslintrc.js new file mode 100644 index 00000000..0a6b9c1a --- /dev/null +++ b/examples/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + rules: { + 'no-use-before-define': 0, + 'no-console': 0, + }, + extends: ['../.eslintrc.js'], +} diff --git a/examples/package.json b/examples/package.json index 2f8b0def..781d4455 100644 --- a/examples/package.json +++ b/examples/package.json @@ -7,7 +7,8 @@ "scripts": { "dev": "vite", "build": "vite build", - "serve": "vite serve" + "serve": "vite serve", + "lint": "eslint --ext \".ts,.tsx\" -c .eslintrc.js --fix ./dist" }, "dependencies": { "@braks/vue-flow": "^0.4.2-3" diff --git a/package.json b/package.json index 2368d87c..e0d66d70 100644 --- a/package.json +++ b/package.json @@ -11,23 +11,24 @@ "scripts": { "dev": "yarn --cwd examples dev", "docs": "yarn --cwd docs dev", - "docs:build": "yarn --cwd docs build", - "build": "yarn --cwd package build", + "build": "yarn turbo run build", "postbuild": "yarn typedoc", "prerelease": "git-cliff --output CHANGELOG.md && git add CHANGELOG.md && git commit -m \"chore: Update CHANGELOG.md\"", - "release": "yarn --cwd package np", - "test": "yarn --cwd tests test", - "lint": "eslint --ext \".js,.jsx,.ts,.tsx\" --fix --ignore-path .gitignore .", + "release": "yarn turbo run release", + "test": "yarn turbo run test", + "lint": "yarn turbo run lint", "typedoc": "typedoc --tsconfig ./package/tsconfig.docs.json ./package/dist/index.d.ts --out typedocs" }, "devDependencies": { "@antfu/eslint-config": "^0.9.0", + "@changesets/cli": "^2.22.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-chai-friendly": "^0.7.2", "eslint-plugin-prettier": "^3.4.1", "prettier": "^2.4.1", "shx": "^0.3.4", + "turbo": "^1.2.1", "typedoc": "^0.22.13", "typescript": "^4.5.5" } diff --git a/package/package.json b/package/package.json index 7bae93f5..84478c65 100644 --- a/package/package.json +++ b/package/package.json @@ -22,14 +22,16 @@ ], "sideEffects": false, "scripts": { - "build": "vite build && vue-tsc --declaration --emitDeclarationOnly && tsc -p tsconfig.build.json && yarn theme", - "postbuild": "shx rm -rf tmp && yarn lint", - "pretest": "yarn build", - "test": "yarn --cwd .. test", - "lint": "eslint --ext \".ts,.tsx\" -c .eslintrc.js --fix ./dist", - "theme": "postcss src/style.css -o dist/style.css && postcss src/theme-default.css -o dist/theme-default.css", "prepare": "ts-patch install -s", + "build": "vite build", + "postbuild": "shx rm -rf tmp", + "types": "vue-tsc --declaration --emitDeclarationOnly && tsc -p tsconfig.build.json", + "theme": "postcss src/style.css -o dist/style.css && postcss src/theme-default.css -o dist/theme-default.css", + "test": "yarn --cwd .. tests", + "lint": "eslint --ext \".js,.jsx,.ts,.tsx\" --fix --ignore-path ../.gitignore .", + "lint:dist": "eslint --ext \".ts,.tsx\" -c .eslintrc.js --fix ./dist", "prepublishOnly": "shx cp ../README.md .", + "release": "yarn np", "postpublish": "shx rm README.md" }, "dependencies": { diff --git a/tests/package.json b/tests/package.json index c369e67d..6dcd6e37 100644 --- a/tests/package.json +++ b/tests/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "scripts": { - "test": "cypress run-ct", + "tests": "cypress run-ct", "open": "cypress open-ct" }, "dependencies": { diff --git a/turbo.json b/turbo.json new file mode 100644 index 00000000..8e2cffe7 --- /dev/null +++ b/turbo.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "baseBranch": "origin/main", + "pipeline": { + "package#build": { + "dependsOn": ["build", "types", "theme", "lint:dist"], + "outputs": ["dist/**", ".vuepress/dist/**"] + }, + "docs#build": { + "dependsOn": ["^build"], + "outputs": [".vuepress/dist/**"] + }, + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "dependsOn": ["^build"], + "outputs": [] + }, + "lint": { + "dependsOn": ["^build"], + "outputs": [] + }, + "dev": { + "cache": false + } + } +} diff --git a/yarn.lock b/yarn.lock index e72ac672..b256bca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7849,6 +7849,84 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +turbo-darwin-64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.2.1.tgz#ce1f37c744bd5a327a758433141e55c74d4e0e74" + integrity sha512-NZgrrFF4xJ73CRbIqQXwAfKF5AFEOeM79palpPjJJUXWX8o3KxW/VcrheAryh+aAaEBitaDy8stKgViI/6l1SQ== + +turbo-darwin-arm64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.2.1.tgz#5deb2c4c5b9a4dd186f0a05f05b7f02a54deaa7f" + integrity sha512-NzWeE+rZJLEkbMpRpnHNn7R/qqamCRRUUxPWD2z4uuZFXkpMzUVX/PCqy05wPT2IVbcJQn20rojEMwr+oJRxHg== + +turbo-freebsd-64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.2.1.tgz#079b3dccd66e1adf1ef02513ebc03cb9294c3657" + integrity sha512-Y/V8swwuiesAWYU9pu7yPhTQhHnrZEFQq/oCDNQVkUK7SEHAu+UmMaDzSBwk+sg6JWVTkpcXX1yMUFDpfF43cg== + +turbo-freebsd-arm64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.2.1.tgz#5a0b9650f0f16a5c0335641edbfa37b877335184" + integrity sha512-ielxsQ0nM6/XCzopNk55rNryFCr3tHowhukteTmfOpgWsT2bDyP/PZUyMTIEtLoaoy2pDr4R+9Wf+db9xDtWQw== + +turbo-linux-32@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.2.1.tgz#d3386756493bff4f4316603b5ec3cfb108a29f95" + integrity sha512-xQunD8jrkhzPq4miY8p65elUJIqRpyCrJSWukX73m3SpibQPVSQ8BNELEQzeJBjPTcEI2dFSsoAI7Z1NHDX/Pw== + +turbo-linux-64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.2.1.tgz#e336d7592141a35c3a58ec760e6f34dd143004fd" + integrity sha512-vae1Y7VxumzityRH4ddaj0VEjIg3qbq6tV3TylOaacXvwIijrCVquG5otx9KXEajqzcwuu9+yp5348fUGA/Vxg== + +turbo-linux-arm64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.2.1.tgz#5114f00ddbbef31382549a94040d8b5e04785887" + integrity sha512-cNRboXg4kbuoj7J4q3yje+COravXlga7FFZsM0onZNhSai0dYTGXayxOOCVKdN/IfxSG37A0jL0fk7vDyerRZg== + +turbo-linux-arm@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.2.1.tgz#08ff45b12eaf25e1792a797b3c8994996a1013e8" + integrity sha512-8eKOw1OvD4e+vg9jg02gI9Y+rrJQfwMLaiUkIZTqvWjs7PytfmhtneaA08QkfMY/rksD5uPSx9sPE9MPYJtfxw== + +turbo-linux-mips64le@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.2.1.tgz#b43fed865361c167aee25dae391f02781ab1543b" + integrity sha512-q4gXn09AriapgANzFgIdUzqB45CB6VqqvEAf8uZ4y8I91dEP562op4pp/D59bFAx7GgCZdFfvEc0KCE/5I+0UA== + +turbo-linux-ppc64le@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.2.1.tgz#10f79d7bd0ced98bb8eeea7df3dfe2edef630eba" + integrity sha512-xWaPfFNU/x2SqDkeQTwh7qJt0Ev/YUiKxcCTZDQbUykjVTC/6beD+DvqcFqsispYqZyRY5U/71EhlZLnHcIbFw== + +turbo-windows-32@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.2.1.tgz#0649eb59e5384ef662cb2ec054dae6cc67e82bed" + integrity sha512-BHu0qRKVHztgvzNc3Nq1B8/psYaldY3y0aYVRb1Kb+RNrmhyeYVfC5+4L4ez0AxuLlb2bc0BOrvPjiEkgv/uLA== + +turbo-windows-64@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.2.1.tgz#dbc952a12a94fda00b7c68537d7a7e55818c70d5" + integrity sha512-/l5j4pdKek1Q1qSj5xidVCDsU26hTo23oMmck/XEcbTOcnde9D+Y7pf5+RsmhtWEhP/yLGv3zUTYyRMf1Ahumw== + +turbo@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.2.1.tgz#5d9d1cbbc48b673de7438c169d7c530674a7c351" + integrity sha512-k9j1xMGqNoSkeaCkbPOlGJFxsgYKG9TMg82o6LuiUerJtJ5sCwDwBD7QVy/RkngMGOAKeMLhx+OuzLFwa5nHgQ== + optionalDependencies: + turbo-darwin-64 "1.2.1" + turbo-darwin-arm64 "1.2.1" + turbo-freebsd-64 "1.2.1" + turbo-freebsd-arm64 "1.2.1" + turbo-linux-32 "1.2.1" + turbo-linux-64 "1.2.1" + turbo-linux-arm "1.2.1" + turbo-linux-arm64 "1.2.1" + turbo-linux-mips64le "1.2.1" + turbo-linux-ppc64le "1.2.1" + turbo-windows-32 "1.2.1" + turbo-windows-64 "1.2.1" + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"