diff --git a/.gitignore b/.gitignore index 85580ad..3d68001 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,9 @@ dist/ .idea/ # Dependency directories -node_modules/ \ No newline at end of file +node_modules/ +docs/ + +**/tsconfig.tsbuildinfo + +*.cache \ No newline at end of file diff --git a/packages/three.quarks/assets/custom.css b/assets/custom.css similarity index 100% rename from packages/three.quarks/assets/custom.css rename to assets/custom.css diff --git a/packages/three.quarks/landing.png b/landing.png similarity index 100% rename from packages/three.quarks/landing.png rename to landing.png diff --git a/package-lock.json b/package-lock.json index 7e080d6..950f9a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "rollup": "^3.29.4", "ts-jest": "^29.1.4", "tslib": "^2.6.3", - "typedoc": "^0.25.13", + "typedoc": "^0.26.2", "typedoc-google-tag-manager-plugin": "^1.0.5", "typedoc-plugin-extra-footer": "^1.0.1", "typedoc-plugin-markdown": "^4.0.3", @@ -3447,6 +3447,12 @@ } } }, + "node_modules/@shikijs/core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.9.0.tgz", + "integrity": "sha512-cbSoY8P/jgGByG8UOl3jnP/CWg/Qk+1q+eAKWtcrU3pNoILF8wTsLB0jT44qUBV8Ce1SvA9uqcM9Xf+u3fJFBw==", + "dev": true + }, "node_modules/@sigstore/bundle": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", @@ -4391,12 +4397,6 @@ "node": ">=8" } }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", - "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", - "dev": true - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -10534,6 +10534,15 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "dependencies": { + "uc.micro": "^2.0.0" + } + }, "node_modules/lint-staged": { "version": "15.2.7", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.7.tgz", @@ -11206,16 +11215,21 @@ "node": ">=0.10.0" } }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, - "bin": { - "marked": "bin/marked.js" + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, - "engines": { - "node": ">= 12" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/math-random": { @@ -11224,6 +11238,12 @@ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", "dev": true }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, "node_modules/meow": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", @@ -13594,6 +13614,15 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pure-rand": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", @@ -14894,15 +14923,12 @@ } }, "node_modules/shiki": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", - "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.9.0.tgz", + "integrity": "sha512-i6//Lqgn7+7nZA0qVjoYH0085YdNk4MC+tJV4bo+HgjgRMJ0JmkLZzFAuvVioJqLkcGDK5GAMpghZEZkCnwxpQ==", "dev": true, "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "@shikijs/core": "1.9.0" } }, "node_modules/side-channel": { @@ -16379,24 +16405,25 @@ "dev": true }, "node_modules/typedoc": { - "version": "0.25.13", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", - "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.2.tgz", + "integrity": "sha512-q/t+M+PZqhN9gPWLBZ3CCvP+KT8O1tyYkSzEYbcQ6mo89avdIrMlBEl3vfo5BgSzwC6Lbmq0W64E8RkY+eVsLA==", "dev": true, "dependencies": { "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.3", - "shiki": "^0.14.7" + "markdown-it": "^14.1.0", + "minimatch": "^9.0.4", + "shiki": "^1.9.0", + "yaml": "^2.4.5" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 16" + "node": ">= 18" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x" } }, "node_modules/typedoc-google-tag-manager-plugin": { @@ -16479,6 +16506,12 @@ "node": ">=14.17" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true + }, "node_modules/uglify-js": { "version": "3.18.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz", @@ -16788,18 +16821,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", @@ -17176,11 +17197,7 @@ }, "packages/quarks.core": { "version": "0.13.1", - "license": "ISC", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.13.0" - } + "license": "MIT" }, "packages/quarks.nodes": { "version": "0.1.0", diff --git a/package.json b/package.json index 62f8202..84349fe 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,12 @@ "scripts": { "build": "npm run build --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes", "dev": "npm run dev --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes", - "test": "npm run test --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes ", + "test": "npm run test --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes", "example": "npm run example --workspace=three.quarks", "prettier": "npm run prettier --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes", - "docs": "npm run docs --workspace=quarks.core --workspace=three.quarks --workspace=quarks.nodes" + "publish": "npm run publish --workspace=quarks.core --workspace=three.quarks", + "docs": "typedoc", + "docs-dev": "http-server ./docs -c-1 -p 8001" }, "devDependencies": { "@babel/core": "^7.24.7", @@ -42,7 +44,7 @@ "rollup": "^3.29.4", "ts-jest": "^29.1.4", "tslib": "^2.6.3", - "typedoc": "^0.25.13", + "typedoc": "^0.26.2", "typedoc-google-tag-manager-plugin": "^1.0.5", "typedoc-plugin-extra-footer": "^1.0.1", "typedoc-plugin-markdown": "^4.0.3", diff --git a/packages/quarks.core/LICENSE b/packages/quarks.core/LICENSE new file mode 100644 index 0000000..2e287c8 --- /dev/null +++ b/packages/quarks.core/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Forrest Sun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/quarks.core/package.json b/packages/quarks.core/package.json index 7482555..71ecc93 100644 --- a/packages/quarks.core/package.json +++ b/packages/quarks.core/package.json @@ -1,7 +1,7 @@ { "name": "quarks.core", "version": "0.13.1", - "description": "Core library for quarks VFX Engine", + "description": "Core library for Quarks VFX / Particle System Library", "type": "module", "types": "./dist/types/index.d.ts", "main": "./dist/quarks.core.cjs", @@ -13,6 +13,11 @@ "types": "./dist/types/index.d.ts" } }, + "files": [ + "dist", + "src", + "LICENSE" + ], "scripts": { "build:types": "tsc --emitDeclarationOnly", "build:js": "cross-env NODE_ENV=production rollup -c", @@ -37,5 +42,5 @@ "bugs": { "url": "https://github.com/Alchemist0823/three.quarks/issues" }, - "homepage": "https://github.com/Alchemist0823/three.quarks#readme" + "homepage": "https://quarks.art" } diff --git a/packages/quarks.core/tsconfig.json b/packages/quarks.core/tsconfig.json index 320cc6d..d663bd1 100644 --- a/packages/quarks.core/tsconfig.json +++ b/packages/quarks.core/tsconfig.json @@ -3,8 +3,10 @@ "compilerOptions": { "declarationDir": "./dist/types", "typeRoots": ["./types", "./node_modules/@types", "../../node_modules/@types"], - "skipLibCheck": true + "skipLibCheck": true, + "rootDir": "src", + "outDir": "dist" }, "include": ["src", "types"], - "exclude": ["node_modules", "test", "dist"] + "exclude": ["node_modules/", "test/", "dist/"] } diff --git a/packages/quarks.core/typedoc.json b/packages/quarks.core/typedoc.json new file mode 100644 index 0000000..dbf5012 --- /dev/null +++ b/packages/quarks.core/typedoc.json @@ -0,0 +1,4 @@ +{ + "extends": ["../../typedoc.package.json"], + "entryPoints": ["src/index.ts"] +} \ No newline at end of file diff --git a/packages/quarks.nodes/tsconfig.json b/packages/quarks.nodes/tsconfig.json index a52c098..628d37b 100644 --- a/packages/quarks.nodes/tsconfig.json +++ b/packages/quarks.nodes/tsconfig.json @@ -4,7 +4,9 @@ "declarationDir": "./dist/types", "typeRoots": ["./node_modules/@webgpu/types" ,"./types", "./node_modules/@types", "../../node_modules/@types"], "skipLibCheck": true, + "rootDir": "src", + "outDir": "dist" }, "include": ["src", "types"], - "exclude": ["node_modules", "test", "dist"] + "exclude": ["node_modules/", "test/", "dist/"] } diff --git a/packages/three.quarks/package.json b/packages/three.quarks/package.json index b09f216..c8008dc 100644 --- a/packages/three.quarks/package.json +++ b/packages/three.quarks/package.json @@ -17,7 +17,6 @@ "files": [ "dist", "src", - "README.md", "LICENSE" ], "scripts": { @@ -32,8 +31,6 @@ "lint": "eslint . --ext .ts", "prepublishOnly": "npm run build:production", "deploy": "gh-pages -d examples", - "docs": "typedoc", - "docs-dev": "http-server ./docs -c-1 -p 8001", "example": "http-server ./examples -c-1 -p 8000", "test": "jest", "test:coverage": "jest --coverage", @@ -58,7 +55,7 @@ "bugs": { "url": "https://github.com/Alchemist0823/three.quarks/issues" }, - "homepage": "https://github.com/Alchemist0823/three.quarks#readme", + "homepage": "https://quarks.art", "peerDependencies": { "three": ">=0.165.0" }, diff --git a/packages/three.quarks/tsconfig.json b/packages/three.quarks/tsconfig.json index 0bcb411..54581ef 100644 --- a/packages/three.quarks/tsconfig.json +++ b/packages/three.quarks/tsconfig.json @@ -2,8 +2,11 @@ "extends": ["../../tsconfig.package.json"], "compilerOptions": { "declarationDir": "./dist/types", - "typeRoots": ["./types", "./node_modules/@types", "../../node_modules/@types"] + "rootDir": "src", + "outDir": "dist", + "typeRoots": ["./types", "./node_modules/@types", "../../node_modules/@types"], + "skipLibCheck": true }, "include": ["src", "types"], - "exclude": ["node_modules", "test", "dist"] + "exclude": ["node_modules/", "test/", "dist/"] } diff --git a/packages/three.quarks/typedoc.json b/packages/three.quarks/typedoc.json index b5beeac..dbf5012 100644 --- a/packages/three.quarks/typedoc.json +++ b/packages/three.quarks/typedoc.json @@ -1,19 +1,4 @@ { - "$schema": "https://typedoc.org/schema.json", - "includeVersion": true, - "entryPoints": ["src/index.ts"], - "out": "docs", - "excludeInternal": true, - "excludePrivate": true, - "readme": "./README.md", - "scriptSrc": "https://github.com/Alchemist0823/three.quarks/", - "plugin": ["typedoc-plugin-script-inject", "typedoc-plugin-extra-footer", "typedoc-google-tag-manager-plugin"], - "customCss": "./assets/custom.css", - "navigationLinks": { - "GitHub": "https://github.com/Alchemist0823/three.quarks" - }, - "extraFooter": "
© 2024 Quarks VFX, LLC
", - "extraFooterNoDefaultWrapper": true, - "hideGenerator": true, - "gtmWorkspaceId": "G-Q0RV7V5Y83" + "extends": ["../../typedoc.package.json"], + "entryPoints": ["src/index.ts"] } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..54b2d80 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,6 @@ +{ + "references": [ + { "path": "packages/three.quarks" }, + { "path": "packages/quarks.core" } + ] +} \ No newline at end of file diff --git a/tsconfig.package.json b/tsconfig.package.json index 5463254..90fe409 100644 --- a/tsconfig.package.json +++ b/tsconfig.package.json @@ -10,9 +10,13 @@ "removeComments": true, "esModuleInterop": true, "noImplicitAny": true, - "declaration": true, "target": "ES2017", "module": "ES2015", - "strict": true + "strict": true, + + // These options are necessary so that TypeDoc can resolve references across packages + "composite": true, + "declaration": true, + "declarationMap": true } } \ No newline at end of file diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..a456af0 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "includeVersion": false, + "entryPoints": ["packages/*"], + "entryPointStrategy": "packages", + "out": "docs", + "excludeInternal": true, + "excludePrivate": true, + "readme": "./README.md", + "scriptSrc": "https://github.com/Alchemist0823/three.quarks/", + "plugin": ["typedoc-plugin-script-inject", "typedoc-plugin-extra-footer", "typedoc-google-tag-manager-plugin"], + "customCss": "./assets/custom.css", + "navigationLinks": { + "GitHub": "https://github.com/Alchemist0823/three.quarks", + "Quarks VFX": "https://quarks.art/" + }, + "extraFooter": "
© 2024 Quarks VFX, LLC
", + "extraFooterNoDefaultWrapper": true, + "hideGenerator": true, + "useHostedBaseUrlForAbsoluteLinks": true, + "hostedBaseUrl": "https://quarks.art/runtime/docs/", + "gtmWorkspaceId": "G-Q0RV7V5Y83" +} \ No newline at end of file diff --git a/typedoc.package.json b/typedoc.package.json new file mode 100644 index 0000000..34bcb3e --- /dev/null +++ b/typedoc.package.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "includeVersion": true +} \ No newline at end of file