{"_id":"@haixing_hu/vue3-class-component","_rev":"32-a727123706eef00f251a77bbd4103473","name":"@haixing_hu/vue3-class-component","dist-tags":{"latest":"2.3.1"},"versions":{"1.0.0":{"name":"@haixing_hu/vue3-class-component","version":"1.0.0","author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"390186c0a8b3a0a3d31a58d4b5eed61a0735cb04","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.0.tgz","fileCount":52,"integrity":"sha512-0Dd7rR6pr5uMgzXWgiWvLmnHY4T5fCf5EqYUcyjduAely4AEMxXf1amSldVAErr+lthWZ0bAK/QADkYByHsy7Q==","signatures":[{"sig":"MEUCIAYTRc+HXTkyVikOu2JYmOaRiZ3yUid7l9fwsrHBbnfMAiEAwiO9LBboN2z1UI1wFXWogi5wmncDCQuZKTDU2egYdpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3384269},"main":"dist/vue3-class-component.min.js","gitHead":"590d7e5c78829253369bbd77279ff13dfe1f1575","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.0_1696610137634_0.207063415723298","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@haixing_hu/vue3-class-component","version":"1.0.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"9224c84194af78bafab86b8d63d7aeebcd938b89","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.1.tgz","fileCount":52,"integrity":"sha512-RJ2oKZ43MVWJTVlQRV7+O934khiUqVHUo+1QIhPtXNiU5Tm+z8VmkJqmT8ev50rBWqyraHVfZIJ/lteO4zNu/Q==","signatures":[{"sig":"MEYCIQCBNuuif3Ff0A4CpMFFP8gCyWFcpYcXTK9kT7GLdVgjQgIhAMCzIfdncwoFo+UuH9ZdSY4Kt7hyR8kafXKdNDaVQIIi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3384355},"main":"dist/vue3-class-component.min.js","gitHead":"eedf186870546d956a1d1125532be75573eb57fe","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.1_1696610340292_0.12423611272924417","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@haixing_hu/vue3-class-component","version":"1.0.2","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.2","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"547d3b497204a4766506607fbea9fe7bbca64cb4","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.2.tgz","fileCount":52,"integrity":"sha512-MYY5j/Nks5jztlo35ZlRnBs+YVhMi2rbJY1mWIpfyKF6H/9W5nIoteZAAwQUuX7XtsI10yTnVZ+WdErRONfqwQ==","signatures":[{"sig":"MEQCIFmlqDFRhcRtn9NsYeNXf+9xOgoxFILhxiQudOaM7pqvAiABhi/ZLAdqvP0GTpfHBaKl3RNrlfj609lbgnOTsBQVpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3384401},"main":"dist/vue3-class-component.min.js","gitHead":"4a3e041c8df28ebdb3140c740d03c04810cd59bb","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.2_1696610683545_0.11117009975613157","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@haixing_hu/vue3-class-component","version":"1.0.3","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.3","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"cdcf7bd0c49e421ae4b90b68384109d7d0198ba4","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.3.tgz","fileCount":52,"integrity":"sha512-fLwNmlSJ+ETPLT5B0Oj8dbjKWlvVLMRsZ3rLKoPajgW6i52ZyK86wapfhdrlsjmgkSQ0dRxujVanbMwUveqDdA==","signatures":[{"sig":"MEUCIQDueX6MQkiJDbTH18zjJeU3BsIH3wWDZMt0sz0MME4ZJgIgRWR9JHdloxQbjUIrJzf51pxFb/9IADcPpKr/MEWwSCo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3384399},"main":"dist/vue3-class-component.min.js","gitHead":"e25e4af8122db71bdbc9f065ac9aefc9701b2c82","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.3_1696610858271_0.22340268720535983","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@haixing_hu/vue3-class-component","version":"1.0.4","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.4","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"b4beba031a9ff212525629b19e74fb3c73e38ef4","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.4.tgz","fileCount":51,"integrity":"sha512-WTSOLRO+1eXdpkkBpLZJ3hmbQeHL3vmcU2Gsf7eZ6hh/oPLRVUId0FPb54DqxiBF74+5pA2VX9EWnAU0lcEPNA==","signatures":[{"sig":"MEQCIHFN7tQZuJGflI38PahHkDzyZNOeitrU6JUgKWJZZrjNAiBHAnzkZi4xwr/5yeJLdpv2X0cfdbofKzl9slfCNNi7Og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3037055},"main":"dist/vue3-class-component.min.js","gitHead":"94fdcfc591d35ae6ac8bb5ca400413d6e5a24bf5","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.4_1696666031982_0.08777870821870648","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@haixing_hu/vue3-class-component","version":"1.0.5","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.0.5","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"c47d48094fad5564f1b9f90865c4eca1785e4b4a","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.0.5.tgz","fileCount":51,"integrity":"sha512-2ktbWkltWGIbaQtEOybYBgq0BfIe6g13AnhhMOOq6LsBP9HnMVY2g94HPtqAPpI0cFnTkNkp4Da0K9Vp8PPpkg==","signatures":[{"sig":"MEQCIBDj5vqbHuq7qaMCxEsck88QE/pN+1MbGha+/gASnVacAiB+denwg2dx+I7jbVAYfcn+jdP1+I3B6AhMdExzYQQJRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3038847},"main":"dist/vue3-class-component.min.js","gitHead":"485dfbf007d7adefd5eb5bd01ea2be0252cac2c6","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"cross-env NODE_ENV=production gulp build","deploy":"yarn & gulp build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"cross-env NODE_ENV=development gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.0.5_1696697135460_0.5526423202012503","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@haixing_hu/vue3-class-component","version":"1.1.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.1.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"868a27e7c7902023f7f09119a90b23971954fb50","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.1.0.tgz","fileCount":57,"integrity":"sha512-DD1okGyLw92Wn3Eyf6kv620jHOwIe4TzYUVvtwrKt/+YWBwaImuSRkHkaX8I2pL9xaSs/mkmF3XkN9TszeH/4w==","signatures":[{"sig":"MEQCIC38tOHVYBGPnSif+cf4wzHLWEIMdwwkWg//xNiOK/nJAiBGLDS8JJdardev9QGLR8fuerrvHm01ld3zrisSzvOJFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4386499},"main":"dist/vue3-class-component.umd.min.js","module":"dist/vue3-class-component.esm.min.js","exports":{".":{"import":"./dist/vue3-class-component.esm.min.js","require":"./dist/vue3-class-component.umd.min.js"}},"gitHead":"7942160d595371e4748a3f9e893c98766038b378","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"yarn run build:umd && yarn run build:esm","deploy":"yarn && yarn test && yarn build:dev && yarn build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"yarn run build:umd:dev && yarn run build:esm:dev","build:esm":"cross-env NODE_ENV=production LIBRARY_TYPE=esm gulp build","build:umd":"cross-env NODE_ENV=production LIBRARY_TYPE=umd gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build","build:esm:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=esm gulp build","build:umd:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=umd gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.1.0_1696929748293_0.9483912203938545","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@haixing_hu/vue3-class-component","version":"1.1.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.1.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"e8c4e34ea9c61d426bde3ab1749faa4ebe470a5d","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.1.1.tgz","fileCount":59,"integrity":"sha512-ZgmG6CG4u6kPhc9LiHXxh3768q8Xa8EUqIdqYrnxN0twNCvxTEwYt52pQw1SzB2+bYrYaYNQ4tOwKuVFUG6V8g==","signatures":[{"sig":"MEUCIQDOhkzH9KGKgU01yT9C6KPF9ifB90N+8/chk6zVUhYmLQIgPPnENZG36cemTMoqdDejUErMud4LVdvL2pLEqC+K55Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5028907},"main":"dist/vue3-class-component.umd.min.js","module":"dist/vue3-class-component.esm.min.js","exports":{".":{"import":"./dist/vue3-class-component.esm.min.js","require":"./dist/vue3-class-component.umd.min.js"}},"gitHead":"7942160d595371e4748a3f9e893c98766038b378","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"yarn run build:umd && yarn run build:esm","deploy":"yarn && yarn test && yarn build:dev && yarn build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"yarn run build:umd:dev && yarn run build:esm:dev","build:esm":"cross-env NODE_ENV=production LIBRARY_TYPE=esm gulp build","build:umd":"cross-env NODE_ENV=production LIBRARY_TYPE=umd gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build","build:esm:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=esm gulp build","build:umd:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=umd gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.1.1_1696948929000_0.15663032919560416","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@haixing_hu/vue3-class-component","version":"1.1.4","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.1.4","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"8736522fe90566a61862fba8b5d8947b85854b3e","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.1.4.tgz","fileCount":58,"integrity":"sha512-uMt7Af5PRfUqR9J8m+JyjfSGWT6NHCan+8/IpV6GoN7k5+8DuINnT78KdmaCxUCKDA+GRpybN/Hxk/B69cZGhA==","signatures":[{"sig":"MEYCIQD6qrfeo2Mhw+DhoJld4RJAzDS/q9JaZWVWAvvyZNrNDgIhAKIAyK7vQMMIptPppHz5xF0LvUWJT0s+AzoGDhbWOy6d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4405832},"main":"dist/vue3-class-component.umd.min.js","module":"dist/vue3-class-component.esm.min.js","exports":{".":{"import":"./dist/vue3-class-component.esm.min.js","require":"./dist/vue3-class-component.umd.min.js"}},"gitHead":"a239a3687e86ec353bbad87aa247a44c63fde99f","scripts":{"doc":"gulp doc","es5":"check-es-version -e 5 -s true","lint":"gulp lint","test":"gulp test","build":"yarn run build:umd && yarn run build:esm","deploy":"yarn && yarn lint && yarn test && yarn build:dev && yarn build && npm publish --registry='https://registry.npmjs.com/' --access public","analyze":"cross-env USE_ANALYZER=true NODE_ENV=production gulp build","build:dev":"yarn run build:umd:dev && yarn run build:esm:dev","build:esm":"cross-env NODE_ENV=production LIBRARY_TYPE=esm gulp build","build:umd":"cross-env NODE_ENV=production LIBRARY_TYPE=umd gulp build","doc:server":"gulp doc:server","analyze:dev":"cross-env USE_ANALYZER=true NODE_ENV=development gulp build","build:esm:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=esm gulp build","build:umd:dev":"cross-env NODE_ENV=development LIBRARY_TYPE=umd gulp build"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","gulp":"^4.0.2","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","core-js":"^3.33.0","gulp-if":"^3.0.0","webpack":"^5.88.2","cross-env":"^7.0.3","gulp-jest":"^4.0.4","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","gulp-jsdoc3":"^3.0.0","babel-loader":"^9.1.3","gulp-connect":"^5.7.0","jest-extended":"^4.0.1","webpack-merge":"^5.9.0","@babel/runtime":"^7.23.1","@vue/vue3-jest":"^29.2.6","webpack-stream":"^7.0.0","@vue/test-utils":"^2.4.1","gulp-eslint-new":"^1.8.3","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.22.15","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","jest-environment-node":"^29.7.0","terser-webpack-plugin":"^5.3.9","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","webpack-bundle-analyzer":"^4.9.1","@haixing_hu/jsdoc-minami":"^1.4.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.1.4_1697169760009_0.974122969149642","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@haixing_hu/vue3-class-component","version":"1.2.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.2.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"535269ca16ec6957b26295111884d422eb6ea601","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.2.0.tgz","fileCount":59,"integrity":"sha512-EWcPMgpCOJ3TOsZ1xpb1HSjCh1pFO3f7nzM2DnQ3eXiQ3bMI6Ilq7XIr5NwMIRoPIzck93LhUl0kcNYJccpMgw==","signatures":[{"sig":"MEQCIA1EzI9G8e5fd93TLwwy0sr7IRoV/11e87LfdQr3tlNJAiAF/sRE8WdeybNM7q0kWjWNccQHihdLxKXxeQrVeRmCZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2842862},"main":"dist/vue3-class-component.cjs.min.js","module":"dist/vue3-class-component.es.min.js","exports":{".":{"import":"./dist/vue3-class-component.es.min.js","require":"./dist/vue3-class-component.cjs.min.js"}},"gitHead":"3285dba6a19c9e736d4270f9fcec6150c266ac7a","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:dev && yarn build && npm publish --registry='https://registry.npmjs.com/' --access public","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.6.1","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.0.2","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","babel-loader":"^9.1.3","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.22.15","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","@haixing_hu/jsdoc-minami":"^1.5.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.2.0_1697391352624_0.14771583047988712","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@haixing_hu/vue3-class-component","version":"1.3.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.3.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"4168f111f0f0a8c82a151411e360f5e968cc3e2c","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.3.0.tgz","fileCount":66,"integrity":"sha512-FZ4/lXyFNcvb7WpUuNY4NAG78K3Z+rqVpZjf03YmUNpolg6autqwmrlWpUBGuNtWrQ+uOP8u6GMEF0Tu5thakA==","signatures":[{"sig":"MEUCIQDnicwJEIDHkWfx0eZ2WD2W+y0FWDynJBzFa4o6WATXVQIgIhCRD0rkjIROK3ZMHreAxMAg9sjoaigqav0f6+yeAEc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4839432},"main":"dist/vue3-class-component.cjs.min.js","module":"dist/vue3-class-component.es.min.js","exports":{".":{"import":"./dist/vue3-class-component.es.min.js","require":"./dist/vue3-class-component.cjs.min.js"}},"gitHead":"4876c6e1dc5689a9c155dc511e8e09ff752c5d7a","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:dev && yarn build && npm publish --registry='https://registry.npmjs.com/' --access public","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.0.2","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","babel-loader":"^9.1.3","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.22.15","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","@haixing_hu/jsdoc-minami":"^1.5.0","@haixing_hu/eslint-config":"^1.0.4","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.3.0_1697442605058_0.15198527409102058","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@haixing_hu/vue3-class-component","version":"1.3.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.3.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"0f88b241d87879d1507819a1358dc7ef2e2c3191","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.3.1.tgz","fileCount":54,"integrity":"sha512-9ObMZdVLJttSjJBjz2i3ows7HdNeuDue/hJAIQeKSCzRLBKkLWVTT2ZMkfRPTLZC3tjTgSwbT6Dxq1NU/yYMbQ==","signatures":[{"sig":"MEQCICWUS8WPy9Ay4DFpYrjAIbmTe7epnMY/Dq6BKkvG3Fs8AiArCR5/S0ZaSi9NaHfXczm8qDOnBPfbwI5oCxoXVNd7dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2059621},"main":"dist/vue3-class-component.cjs.min.js","module":"dist/vue3-class-component.es.min.js","exports":{".":{"import":"./dist/vue3-class-component.es.min.js","require":"./dist/vue3-class-component.cjs.min.js"}},"gitHead":"d85d1c480be4b1e1319ee178d56eb90b88ec176e","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.0.2","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","babel-loader":"^9.1.3","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.22.15","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","@haixing_hu/jsdoc-minami":"^1.5.0","@haixing_hu/eslint-config":"^1.3.0","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.3.1_1698118143732_0.12881898569873118","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"@haixing_hu/vue3-class-component","version":"1.3.2","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.3.2","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"5d3b7343ca2518ecd1b079ed1c2a86ce7122c0d1","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.3.2.tgz","fileCount":54,"integrity":"sha512-XxAgYQs400/ywfr5OwDL/Bbd+gpZAnvJBVTxn4T3zuNSSy6FTZudxf5NWYxX5N2V50D2uQ+XJmzhdzI7J02V4w==","signatures":[{"sig":"MEUCIBkgGK5RQIf+s7J8MvAyf/5gF65T1AMHuNgdkPJOntdaAiEAwUqAVV1bwIE1jssOh+RPaDECJwLBIUy9vhZLGo6AfZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2059644},"main":"dist/vue3-class-component.cjs.min.js","module":"dist/vue3-class-component.es.min.js","exports":{".":{"import":"./dist/vue3-class-component.es.min.js","require":"./dist/vue3-class-component.cjs.min.js"}},"gitHead":"ca3ddc2501845d80b4552b34fd78ab2414c56fab","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.7.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.0.2","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.0","babel-loader":"^9.1.3","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.22.20","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.22.15","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","@haixing_hu/jsdoc-minami":"^1.5.0","@haixing_hu/eslint-config":"^1.3.0","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.22.15","@babel/plugin-proposal-decorators":"^7.23.0","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.3.2_1698119081934_0.6550492136456758","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"@haixing_hu/vue3-class-component","version":"1.3.3","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.3.3","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"71909ade42fdfe8f33b611487fd1af987c72474b","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.3.3.tgz","fileCount":58,"integrity":"sha512-twDSoaA88jr/haUPwyj87jhpfOe3F5VnlSOee/We+uytIRE++uvcTC+LVb5WVpqBdQJnPViltz1v3jTaIroMwA==","signatures":[{"sig":"MEUCIQCWOdwmlm/ev4hHKIvmDRc5itXndZ1TyLs4/2TI29revgIgd/J6aAkiYNxi5/iXeEs4uPWSDpX0MFY57YMrMnkeFZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2750883},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"49893c1edc921ed3fb9c34b89c204db939298686","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.1","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.0.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.0","@haixing_hu/eslint-config":"^1.3.0","@haixing_hu/rollup-builder":"^1.0.2","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.3.3_1698219063953_0.23970050894929917","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@haixing_hu/vue3-class-component","version":"1.4.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.4.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"d9e09c9124aa1c05f10ce285566fb33f36798969","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.4.0.tgz","fileCount":58,"integrity":"sha512-z48rJEPHQWOtvXEdILm/diht8UuVVkqZchg3Sm/s97P6Q3235I327X/sJHpvRdoSzO8OqDdXx/Sa09T0o3aFYA==","signatures":[{"sig":"MEUCIDq7ijy2myxK/ss0qplI1JIrn/Pn9PdT4k/elL15RknOAiEAsMVt/sM9vDL4mosOu536DU2UmB2R1vnKrYcrP7B3YA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2751534},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"7048770e04adb3c77485c722ed2d718b793f2799","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.3.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.4.0_1702003122950_0.3884269200330259","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@haixing_hu/vue3-class-component","version":"1.5.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.5.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"110ed42679a3385c999759ed5ded5c38ea178f75","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.5.0.tgz","fileCount":58,"integrity":"sha512-2el1bQ+PMJa7yQDqD+ji0Wf57jvnibFu7kMnUjif3UO9LxcCpHbBka1PHXvk0ty/fU7hQKrmGhFNW4+EVf7cJw==","signatures":[{"sig":"MEQCIFNrQ4JaJMLm7F7+gBcN1nNYP7W3KQ0IcueYZHGWM9vUAiBjE5wzybLGYD92lLnEFTYE9OEbXukfDZ+dzbrT8dZi6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2751419},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"14a5b0bb36639d2ccefb763aa115052e4674fb04","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.4.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.5.0_1702006411849_0.7503540842543046","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"@haixing_hu/vue3-class-component","version":"1.5.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.5.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"d1798e539fce49ffc84c101caed4f693dd6d8f0a","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.5.1.tgz","fileCount":58,"integrity":"sha512-LSTUwFGqgfm7keq/YJYIREXDgdP8ouf+vOa3yinrU1/YK33593+0sneSCVDL4zGT2AhILx2Wsz3X/OsnGeySgQ==","signatures":[{"sig":"MEYCIQCWh0pYT1VjqwHbnoC9vZ0zTo93amZrAva++0lRVDuOBQIhAMjERXzmD/UZPOrddhP/PBbeWsqJUY2ORdnkkWO7AlJK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2751419},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"be0f16bde774931975be7ab74652791d5336141c","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2","@babel/plugin-transform-class-properties":"^7.22.5"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.5.1_1702007728805_0.09386116946931211","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"@haixing_hu/vue3-class-component","version":"1.6.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.6.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"c4a6429e42e0d8c4b8b5e6c7138909ec184a732e","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.6.0.tgz","fileCount":66,"integrity":"sha512-0SslGn3WcbelfUFhTRk/56UiTCBoHNro65B7diX7YwEBYBPLb4Aq1g1jBkl4JimzOmcmqXHMSVJ++Ox+Bcmdow==","signatures":[{"sig":"MEYCIQDjX3yZ1z0qfv+hZ6tXjLRN0CQ4lR/UuGw3m0yGGLhWjQIhAJdeqHrmefpdLAwCfW3AyOAM+YHKqmgH0ubd1qpZURAU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2827464},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"68cfc3614d1f2a7323f55c7df6e60f6227365848","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.6.0_1703443023343_0.7692063700003227","host":"s3://npm-registry-packages"}},"1.6.1":{"name":"@haixing_hu/vue3-class-component","version":"1.6.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.6.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"8675d2cc86b8510d9d5b132c80aae6da8b76fc2b","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.6.1.tgz","fileCount":66,"integrity":"sha512-WfZI9OwaAqtWj/AGu9ieLR3yFO2Qtzz8dvvNAsGu8dDLWnMgQG1jsGnK/wbeVfdDUlJfIpKLcgaDALLj9Ud3iA==","signatures":[{"sig":"MEUCIB8wboL468tXL2f2ljfjUvOUvBzRUDu6RHxq3TZ+BViMAiEAkpB5b37z8SXClp9c7IxsSur4jfcoLv4suUKkmx8+6n4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2830317},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"0ee01474422d24d24d819d32792a85fc7240390e","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.6.1_1703478522486_0.039109875739723465","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"@haixing_hu/vue3-class-component","version":"1.7.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.7.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"d351aeea1d286e375b86c621e699538598cf0b53","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.7.0.tgz","fileCount":66,"integrity":"sha512-9vhwxaNmVa7UIHJ2SFhBETt4FEH3r3+abG6YshQB6UrV6pkx+mGv0OZt2OwQKuKS85dnYTNtuOpdiXF+TCYK+g==","signatures":[{"sig":"MEQCIEKhX0AGvprOfQWo8HS9WXSENaKr5v7GPHeLDNDV6XOaAiAqjMF0J02hXJmoMBxuPqu31+oCK5xi6k1KSvXOImutxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2835307},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"8f8012f64970079432740e96949a382c64c515dc","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.7.0_1703489281591_0.7346663908045925","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"@haixing_hu/vue3-class-component","version":"1.8.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.8.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"97aac64f22cb1b563f66a4314885d4f8bc434019","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.8.0.tgz","fileCount":66,"integrity":"sha512-RnPUGMvXfTnmzHcLIZzKxgpiGdMBnH37Er9amcm+Ve9uCARFhWmnDT18GenFvOrzEOm2ah+sS892s/CXs22HLg==","signatures":[{"sig":"MEUCIBoT+kbov2h3j1sxSZauz/D0H+F8gFveJBvTfo0DqyVGAiEA78Vg4ZxiGEGRlrGcu+kSSwRmqdWEb39sF/Ba7J42W/U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2844644},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"5de1b742824afdd9178479b63c5ea7727e62bfcc","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.8.0_1703573848472_0.08939595755749807","host":"s3://npm-registry-packages"}},"1.8.1":{"name":"@haixing_hu/vue3-class-component","version":"1.8.1","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.8.1","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"a0589358c045b2dadbb09ba311f02b15911d656e","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.8.1.tgz","fileCount":69,"integrity":"sha512-2arsquoCRl5Hu7c2RZD6oCXxnP160/gf3Pi6RqYGjeVB0Uhe3a1/HnZckxeWmCFQLGkuI9gnWlFDx4KMWMBqlQ==","signatures":[{"sig":"MEQCIFxsuBlXkSXSzPhnzf3af1sPpTSOc37JbS+S6aphElU2AiAB856wTUMO2QLPUicIPum3u5hm3JxIdwP0+oA9aLUHtQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2848161},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"eb15645585fde7c3591881de348e6434d1696d65","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@haixing_hu/clone":"^1.4.1","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@haixing_hu/typeinfo":"^2.3.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2","@haixing_hu/clone":"^1.4.1","@haixing_hu/typeinfo":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.8.1_1703665278359_0.044459818734208234","host":"s3://npm-registry-packages"}},"1.8.2":{"name":"@haixing_hu/vue3-class-component","version":"1.8.2","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.8.2","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"fb3c196f1df4cdfb49dced55d4fb511a785cec6b","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.8.2.tgz","fileCount":69,"integrity":"sha512-KxpjF6MlGNvMoByXQDpaWRgq/V2Rgyy5wdf8w4saQUjyFhB643KCzW8MC5cVsZGGWLycF3TI25NetYovsaAVpg==","signatures":[{"sig":"MEYCIQC40I8FT4mRki7EH90gXbZcxzieO/MD62qDBF5wAE5iagIhALHrdMHp84Y7vFoJEA1Nf6P0qdWSYzapFad/4juMfl+J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2849523},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"5bbb96ae7c57bd349ee7f1ac6a615acd4e0f6e08","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"resolutions":{"@babel/helpers":"7.23.0"},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.23.2","jest-extended":"^4.0.1","@babel/runtime":"^7.23.2","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.23.2","@haixing_hu/clone":"^1.4.1","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@babel/eslint-parser":"^7.17.0","@haixing_hu/typeinfo":"^2.3.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.5.0","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.23.2","@babel/plugin-proposal-decorators":"^7.23.2"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.23.2","@haixing_hu/clone":"^1.4.1","@haixing_hu/typeinfo":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.8.2_1703666651283_0.051554490188697955","host":"s3://npm-registry-packages"}},"1.8.3":{"name":"@haixing_hu/vue3-class-component","version":"1.8.3","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@1.8.3","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"6ccc4edb5119ceadd583cd4f5ddea7ec4973dd24","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-1.8.3.tgz","fileCount":69,"integrity":"sha512-4qPo+4H/lqZiAMt93fomaap3fMM4usjyUca3Utyp4A3hMxjVEz0Mj8pXGRZ5j/DKqPDn5vqjEMGHWw6akVxgUQ==","signatures":[{"sig":"MEQCICLpDzDK+J4LEvSB7wDWGf/tcnFix9hGF3oBXGn3xlbrAiBH8CWJSliaZFWnjTKwmvntRRX5H6ILiifbflz97IVkMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2848237},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"5bbb96ae7c57bd349ee7f1ac6a615acd4e0f6e08","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@3.6.3","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.24.0","jest-extended":"^4.0.1","@babel/runtime":"^7.24.0","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.24.0","@haixing_hu/clone":"^1.4.1","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@rollup/plugin-json":"^6.1.0","@babel/eslint-parser":"^7.24.0","@haixing_hu/typeinfo":"^2.3.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","rollup-plugin-visualizer":"^5.12.0","@haixing_hu/eslint-config":"^1.3.1","@haixing_hu/rollup-builder":"^1.6.1","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.24.0","@babel/plugin-proposal-decorators":"^7.24.0"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.24.0","@haixing_hu/clone":"^1.4.1","@haixing_hu/typeinfo":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_1.8.3_1717347648389_0.3107971189056198","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@haixing_hu/vue3-class-component","version":"2.0.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@2.0.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"89064f1c59bef56e520fb8c393e4c8f124f69607","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-2.0.0.tgz","fileCount":64,"integrity":"sha512-3KbdMX1I+jXR0KEf75VFpxJw3RQJobxksJNy8IfFyGhuAOVUHRJ5fvAf3GdhMnDGIBHpFtbCf9OKaHYCbtlDMA==","signatures":[{"sig":"MEUCIQCZCYFOR3J3UJmZlO+aME0tEUAtn2+QoMKvUKiaklDByQIgfaiujFNMQRarKtNShs4uImD7UloCiSW4aHEt5WahG/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":616636},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"9a96a0fbfb8184128cc8a240622ce10f63ea0fbb","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.1.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"20.9.0","_hasShrinkwrap":false,"packageManager":"yarn@4.5.0","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.25.2","jest-extended":"^4.0.1","@babel/runtime":"^7.25.6","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.25.4","@haixing_hu/clone":"^1.7.2","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@rollup/plugin-json":"^6.1.0","@babel/eslint-parser":"^7.25.1","@haixing_hu/typeinfo":"^3.0.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@haixing_hu/type-detect":"^1.1.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/naming-style":"^1.3.0","rollup-plugin-visualizer":"^5.12.0","@haixing_hu/eslint-config":"^1.3.3","@haixing_hu/rollup-builder":"^1.6.5","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.25.4","@babel/plugin-proposal-decorators":"^7.24.7"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.24.0","@haixing_hu/clone":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_2.0.0_1727252000765_0.07613262206541438","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@haixing_hu/vue3-class-component","version":"2.1.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@2.1.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"cf8fa51da2383bf3a8d7986360b6e5dca347a3da","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-2.1.0.tgz","fileCount":64,"integrity":"sha512-47+CO//26fFpaI7SHItAq7a93u48gPWzxQk0LRqAHD42tBFPMo8KP+OoLoLGE28IxZXkGverWe15r4cp+hN43g==","signatures":[{"sig":"MEUCIEJVkUntLTPv8D12JZallwaz9tPpoTl8/tk02S1xgE/CAiEAvzIlp7kbXXc5TSyXQ3NH4dahScMFEgVJ9Xkld2KzDoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":616638},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"c1b8fad2df5039fd682802734cb50f2f9577ef91","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@4.5.0","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.33.0","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.25.2","jest-extended":"^4.0.1","@babel/runtime":"^7.25.6","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.25.4","@haixing_hu/clone":"^1.11.1","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@rollup/plugin-json":"^6.1.0","@babel/eslint-parser":"^7.25.1","@haixing_hu/typeinfo":"^3.0.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@haixing_hu/type-detect":"^1.1.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/naming-style":"^1.3.0","rollup-plugin-visualizer":"^5.12.0","@haixing_hu/eslint-config":"^1.3.3","@haixing_hu/rollup-builder":"^1.6.5","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.25.4","@babel/plugin-proposal-decorators":"^7.24.7"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.24.0","@haixing_hu/clone":"^1.11.1"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_2.1.0_1729420699242_0.9708199295187989","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@haixing_hu/vue3-class-component","version":"2.2.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@2.2.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"57d80cd20e1b64f6c36ab6b11c6536aa04f53dce","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-2.2.0.tgz","fileCount":51,"integrity":"sha512-v3Lkol6WJd9jAy89UVEQpAXur7Dn9vecgSchBUecDsR/F6hzCwNkc1RpOl9BvVNqmYVAmUA32TphHGVcvPv7yA==","signatures":[{"sig":"MEYCIQCQW2dA2iUswKUKv56gYzRP2PZhh9uts/6k1fVnpQeIwQIhANrECDtVK+b9Wp3TrAqidg6QaRKSfzH5nVHZCOxJDdbW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3008377},"main":"dist/vue-class-component.cjs.min.js","module":"dist/vue-class-component.esm.min.mjs","exports":{".":{"import":"./dist/vue-class-component.esm.min.mjs","require":"./dist/vue-class-component.cjs.min.js"}},"gitHead":"e2d406b7a368b7ca9d70c68e59d8948f95c012ef","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"yarn && yarn lint && yarn test && yarn build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"yarn clean && yarn build:dev && yarn build && yarn doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.2.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"21.1.0","_hasShrinkwrap":false,"packageManager":"yarn@4.5.0","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.38.1","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.25.2","jest-extended":"^4.0.1","@babel/runtime":"^7.25.6","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.25.4","@haixing_hu/clone":"^1.11.1","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@rollup/plugin-json":"^6.1.0","@babel/eslint-parser":"^7.25.1","@haixing_hu/typeinfo":"^3.0.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@haixing_hu/type-detect":"^1.1.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/naming-style":"^1.3.0","rollup-plugin-visualizer":"^5.12.0","@haixing_hu/eslint-config":"^1.3.3","@haixing_hu/rollup-builder":"^1.6.5","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.25.4","@babel/plugin-proposal-decorators":"^7.24.7"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.24.0","@haixing_hu/clone":"^1.11.1"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_2.2.0_1729524529115_0.31852164802840877","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@haixing_hu/vue3-class-component","version":"2.3.0","keywords":["vue","vue3","class","decorator","babel"],"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","_id":"@haixing_hu/vue3-class-component@2.3.0","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"homepage":"https://github.com/Haixing-Hu/vue3-class-component","bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"dist":{"shasum":"1a1ddc53620fcd3f25d129e1afd9256dddcc4e1c","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-2.3.0.tgz","fileCount":49,"integrity":"sha512-P298M6X3zOrhWGtW3tLRld79IMRgX6egGdOamLGLdGClJU1fkxIRq/YPLc9LcQwjws5YkdurofTlGzDo1AhDeA==","signatures":[{"sig":"MEUCIEZaovceq8rQ4PnXPjvXfU60CAu1wQBLOaMv2JREWyEqAiEA+5DxIQ1UYV+bx4c8/xEXvqZwlQnUh4ZKUWxHbWSmzKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2604498},"main":"dist/vue-class-component.min.cjs","module":"dist/vue-class-component.min.mjs","exports":{".":{"import":"./dist/vue-class-component.min.mjs","require":"./dist/vue-class-component.min.cjs"}},"gitHead":"68b182abda7cc53baa9845c6786b5bc53b16a929","scripts":{"doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","lint":"eslint ./src ./test","test":"jest","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","clean":"rm -rvf dist doc","deploy":"npm run lint && npm run test && npm run build:all && npm publish --registry='https://registry.npmjs.com/' --access public","build:all":"npm run clean && npm run build:dev && npm run build && npm run doc","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs"},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/Haixing-Hu/vue3-class-component.git","type":"git"},"_npmVersion":"10.9.0","description":"A JavaScript class decorator for Vue3 components","directories":{},"_nodeVersion":"23.1.0","_hasShrinkwrap":false,"packageManager":"yarn@4.5.0","devDependencies":{"vue":"^3.3.4","jest":"^29.7.0","jsdoc":"^4.0.2","eslint":"^8.49.0","rollup":"^4.1.4","core-js":"^3.38.1","cross-env":"^7.0.3","@jest/core":"^29.7.0","babel-jest":"^29.7.0","@babel/core":"^7.25.2","jest-extended":"^4.0.1","@babel/runtime":"^7.25.6","@vue/vue3-jest":"^29.2.6","@vue/test-utils":"^2.4.1","check-es-version":"^1.4.2","@babel/preset-env":"^7.25.4","@haixing_hu/clone":"^1.12.0","@vue/compiler-dom":"^3.3.4","@vue/compiler-sfc":"^3.3.4","eslint-plugin-vue":"^9.17.0","@rollup/plugin-json":"^6.1.0","@babel/eslint-parser":"^7.25.1","@haixing_hu/typeinfo":"^3.1.0","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-babel":"^6.0.4","@vue/server-renderer":"^3.3.4","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.4","vue-template-compiler":"^2.7.14","jest-environment-jsdom":"^29.7.0","rollup-plugin-analyzer":"^4.0.0","@haixing_hu/type-detect":"^1.2.0","@rollup/plugin-commonjs":"^25.0.7","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/naming-style":"^1.3.1","rollup-plugin-visualizer":"^5.12.0","@haixing_hu/eslint-config":"^1.3.3","@haixing_hu/rollup-builder":"^1.8.2","@rollup/plugin-node-resolve":"^15.2.3","jest-environment-jsdom-global":"^4.0.0","@babel/plugin-transform-runtime":"^7.25.4","@babel/plugin-proposal-decorators":"^7.24.7"},"peerDependencies":{"vue":"^3.3.4","@babel/runtime":"^7.24.0","@haixing_hu/clone":"^1.12.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-class-component_2.3.0_1730229255793_0.11311208850099375","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"@haixing_hu/vue3-class-component","version":"2.3.1","description":"A JavaScript class decorator for Vue3 components","main":"dist/vue-class-component.min.cjs","module":"dist/vue-class-component.min.mjs","exports":{".":{"require":"./dist/vue-class-component.min.cjs","import":"./dist/vue-class-component.min.mjs"}},"scripts":{"clean":"rm -rvf dist doc","build":"cross-env NODE_ENV=production rollup -c rollup.config.mjs","build:dev":"cross-env NODE_ENV=development rollup -c rollup.config.mjs","build:all":"npm run clean && npm run build:dev && npm run build && npm run doc","test":"jest","lint":"eslint ./src ./test","doc":"jsdoc -c jsdoc.json","es5":"check-es-version -e 5 -s true","deploy":"npm run lint && npm run test && npm run build:all && npm publish --registry='https://registry.npmjs.com/' --access public"},"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","repository":{"type":"git","url":"git+https://github.com/Haixing-Hu/vue3-class-component.git"},"bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"homepage":"https://github.com/Haixing-Hu/vue3-class-component","keywords":["vue","vue3","class","decorator","babel"],"browserify":{"transform":["babelify"]},"peerDependencies":{"@babel/runtime":"^7.26.0","@haixing_hu/clone":"^1.12.2","vue":"^3.5.13"},"devDependencies":{"@babel/core":"^7.26.0","@babel/eslint-parser":"^7.25.9","@babel/plugin-proposal-decorators":"^7.25.9","@babel/plugin-transform-runtime":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/runtime":"^7.26.0","@haixing_hu/clone":"^1.12.2","@haixing_hu/eslint-config":"^1.3.3","@haixing_hu/jsdoc-minami":"^1.5.1","@haixing_hu/naming-style":"^1.3.3","@haixing_hu/rollup-builder":"^1.8.3","@haixing_hu/type-detect":"^1.2.2","@haixing_hu/typeinfo":"^3.1.2","@jest/core":"^29.7.0","@rollup/plugin-alias":"^5.1.1","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@vue/compiler-dom":"^3.5.13","@vue/compiler-sfc":"^3.5.13","@vue/server-renderer":"^3.5.13","@vue/test-utils":"^2.4.6","@vue/vue3-jest":"^29.2.6","babel-jest":"^29.7.0","check-es-version":"^1.5.0","core-js":"^3.39.0","cross-env":"^7.0.3","eslint":"^8.57.1","eslint-plugin-import":"^2.31.0","eslint-plugin-vue":"^9.32.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-environment-jsdom-global":"^4.0.0","jest-extended":"^4.0.2","jsdoc":"^4.0.4","rollup":"^4.28.1","rollup-plugin-analyzer":"^4.0.0","rollup-plugin-visualizer":"^5.12.0","vue":"^3.5.13","vue-template-compiler":"^2.7.16"},"packageManager":"yarn@4.5.0","_id":"@haixing_hu/vue3-class-component@2.3.1","gitHead":"6cb6beef73e79ec2d6b43b8b90079b72da5a20c2","_nodeVersion":"23.1.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-g1XN7o5TMELGWPi3p5tW/50RaK98xTU4d0j8pHOug02v3SsKXdePjXAFL489y9FYSmZAwYsc8tPb1DtfEIUGpw==","shasum":"fa74cb602c4a046743cef04b09365241d557262e","tarball":"https://registry.npmjs.org/@haixing_hu/vue3-class-component/-/vue3-class-component-2.3.1.tgz","fileCount":49,"unpackedSize":2602081,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7OvZNHvtEWfTG48sZ0WCWIhtNJn6jeLLIIS3ZkRJXOAiEA7e1evWC2wXV3xIkTNoXdheGFs5gXNPpELvvcRTlkVEc="}]},"_npmUser":{"name":"haixing-hu","email":"starfish.hu@gmail.com"},"directories":{},"maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue3-class-component_2.3.1_1733731794793_0.8716325035138428"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-06T16:35:37.510Z","modified":"2024-12-09T08:09:55.222Z","1.0.0":"2023-10-06T16:35:37.996Z","1.0.1":"2023-10-06T16:39:00.610Z","1.0.2":"2023-10-06T16:44:43.832Z","1.0.3":"2023-10-06T16:47:38.468Z","1.0.4":"2023-10-07T08:07:12.234Z","1.0.5":"2023-10-07T16:45:35.740Z","1.1.0":"2023-10-10T09:22:28.606Z","1.1.1":"2023-10-10T14:42:09.276Z","1.1.2":"2023-10-11T08:37:03.576Z","1.1.3":"2023-10-12T03:43:43.021Z","1.1.4":"2023-10-13T04:02:40.276Z","1.2.0":"2023-10-15T17:35:52.797Z","1.3.0":"2023-10-16T07:50:05.376Z","1.3.1":"2023-10-24T03:29:03.962Z","1.3.2":"2023-10-24T03:44:42.326Z","1.3.3":"2023-10-25T07:31:04.347Z","1.4.0":"2023-12-08T02:38:43.154Z","1.5.0":"2023-12-08T03:33:32.206Z","1.5.1":"2023-12-08T03:55:29.035Z","1.6.0":"2023-12-24T18:37:03.611Z","1.6.1":"2023-12-25T04:28:42.756Z","1.7.0":"2023-12-25T07:28:01.871Z","1.8.0":"2023-12-26T06:57:28.701Z","1.8.1":"2023-12-27T08:21:18.659Z","1.8.2":"2023-12-27T08:44:11.634Z","1.8.3":"2024-06-02T17:00:48.648Z","2.0.0":"2024-09-25T08:13:20.998Z","2.1.0":"2024-10-20T10:38:19.482Z","2.2.0":"2024-10-21T15:28:49.381Z","2.3.0":"2024-10-29T19:14:16.132Z","2.3.1":"2024-12-09T08:09:55.030Z"},"bugs":{"url":"https://github.com/Haixing-Hu/vue3-class-component/issues"},"author":{"name":"Haixing Hu"},"license":"Apache License 2.0","homepage":"https://github.com/Haixing-Hu/vue3-class-component","keywords":["vue","vue3","class","decorator","babel"],"repository":{"type":"git","url":"git+https://github.com/Haixing-Hu/vue3-class-component.git"},"description":"A JavaScript class decorator for Vue3 components","maintainers":[{"name":"haixing-hu","email":"starfish.hu@gmail.com"}],"readme":"# vue3-class-component\n\n[![npm package](https://img.shields.io/npm/v/@haixing_hu/vue3-class-component.svg)](https://npmjs.com/package/@haixing_hu/vue3-class-component)\n[![License](https://img.shields.io/badge/License-Apache-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n[![English Document](https://img.shields.io/badge/Document-English-blue.svg)](README.md)\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/Haixing-Hu/vue3-class-component/tree/master.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/Haixing-Hu/vue3-class-component/tree/master)\n[![Coverage Status](https://coveralls.io/repos/github/Haixing-Hu/vue3-class-component/badge.svg?branch=master)](https://coveralls.io/github/Haixing-Hu/vue3-class-component?branch=master)\n\n这个库允许您使用类式语法创建您的 [Vue] 组件。它从 [vue-class-component] 得到了很多灵感，但有一些显著的区别：\n\n- 它支持 [Vue] v3.x.x（当前版本为 v3.3.4）。\n- 与 [vue-facing-decorator] 不同，它使用纯 JavaScript 而非 TypeScript 编写，不再需要配置使用 TypeScript。\n- 它采用了最新的（截止到2023年5月） [JavaScript 装饰器第3阶段提案] 和\n  [JavaScript 装饰器元数据第3阶段提案]。\n- 它提供了用于类式 Vue 组件的常用装饰器，如 @Prop、@Watch、@Provide 和 @Inject（更多详情\n  请参阅[预定义装饰器](#predefined-decorators)部分）。简而言之，它结合了 [vue-class-component] 和\n  [vue-property-decorator] 的功能。\n- 同时提供 UMD 和 ESM 打包格式，支持[webpack]和[vite]。更多详细信息，请参阅[配置](#configuration)部分。\n- 经过详细单元测试，代码覆盖率达到了100%。\n- 代码全面重写，装饰器功能经过重新设计，更加合理。\n\n## 目录\n\n- [安装方式](#installation)\n- [配置方式](#configuration)\n- [使用示例](#usage-example)\n- [支持的选项](#supported-options)\n- [预定义装饰器](#predefined-decorators)\n    - [@Prop 装饰器](#Prop)\n    - [@VModel 装饰器](#VModel)\n    - [@Watch 装饰器](#Watch)\n    - [@Provide 装饰器](#Provide)\n    - [@Inject 装饰器](#Inject)\n    - [@Raw 装饰器](#Raw)\n- [自定义装饰器](#customize-decorators)\n- [贡献](#contributing)\n- [许可](#license)\n\n## <span id=\"installation\">安装方式</span>\n\n```bash\nyarn add @haixing_hu/vue3-class-component @haixing_hu/typeinfo @haixing_hu/clone\n```\nor\n```bash\nnpm install @haixing_hu/vue3-class-component @haixing_hu/typeinfo @haixing_hu/clone\n```\n\n注意：这个库依赖于 [@haixing_hu/typeinfo] 和 [@haixing_hu/clone] 库，因此您必须同时安装它们。\n\n## <span id=\"configuration\">配置方式</span>\n\n这个库使用了最新的（截止到2023年5月）[JavaScript 装饰器第3阶段提案] 和\n[JavaScript 装饰器元数据第3阶段提案]，因此您必须配置 [Babel]，\n使用 [@babel/plugin-transform-class-properties] 和\n[@babel/plugin-proposal-decorators] 插件。\n\n**注意：** 为了支持 [JavaScript 装饰器元数据第3阶段提案],\n插件 [@babel/plugin-proposal-decorators] 的版本号必须至少为 `7.23.0`。\n\n**注意：** `@babel/helpers` 在大于 `7.23.0` 但小于 `8.0.0` (尚未发布) 的版本上，有个\n严重的 bug：它错误地将装饰在类上的装饰器的上下文中的 `kind` 属性设置为 `'field'`，而实际上应\n设置为 `'class'`。更多详细信息，请参见 [Babel] 的 [issue #16179] 和 [issue #16180]。\n因此，我们需要在 `package.json` 中强制使用 `7.23.0` 版本的 `@babel/helpers`。具体而言，\n应该在 `package.json`中加上下面这段代码：\n```json\n{\n  \"resolutions\": {\n    \"@babel/helpers\": \"7.23.0\"\n  }\n}\n```\n\n### <span id=\"webpack\">使用 [webpack] 打包</span>\n\n1.  安装需要的依赖：\n    ```bash \n    yarn add @haixing_hu/vue3-class-component @haixing_hu/typeinfo @haixing_hu/clone\n    yarn add --dev @babel/core @babel/runtime @babel/preset-env \n    yarn add --dev @babel/plugin-proposal-decorators @babel/plugin-transform-class-properties @babel/plugin-transform-runtime\n    ```\n2.  配置 [Babel]，使用 [@babel/plugin-transform-class-properties] 和\n    [@babel/plugin-proposal-decorators] 插件。一个可能的 [Babel] 配置文件 `babelrc.json` 如下：\n    ```json\n    {\n      \"presets\": [\n        \"@babel/preset-env\"\n      ],\n      \"plugins\": [\n        \"@babel/plugin-transform-runtime\",\n        [\"@babel/plugin-proposal-decorators\", { \"version\": \"2023-05\" }],\n        \"@babel/plugin-transform-class-properties\"\n      ]\n    }\n    ```\n\n详细配置过程可以参考：\n- 使用 [vue-cli] 和 [webpack] 创建的演示项目：[vue3-class-component-demo-webpack]\n\n### <span id=\"vite\">使用 [vite] 打包</span>\n\n1.  安装需要的依赖：\n    ```bash \n    yarn add @haixing_hu/vue3-class-component @haixing_hu/typeinfo @haixing_hu/clone\n    yarn add --dev @babel/core @babel/runtime @babel/preset-env \n    yarn add --dev @babel/plugin-proposal-decorators @babel/plugin-transform-class-properties @babel/plugin-transform-runtime\n    ```\n2.  配置 [Babel]，使用 [@babel/plugin-transform-class-properties] 和\n    [@babel/plugin-proposal-decorators] 插件。一个可能的 [Babel] 配置文件 `babelrc.json` 如下：\n    ```json\n    {\n      \"presets\": [\n        [\"@babel/preset-env\", { \"modules\": false }]\n      ],\n      \"plugins\": [\n        \"@babel/plugin-transform-runtime\",\n        [\"@babel/plugin-proposal-decorators\", { \"version\": \"2023-05\" }],\n        \"@babel/plugin-transform-class-properties\"\n      ]\n    }\n    ```\n    **注意：** 使用 [vite] 打包需要将 `@babel/preset-env` 的参数 `modules` 设置为 `false`。\n3.  配置 [vite]，修改 `vite.config.js` 文件，使其支持 [Babel]。一个可能的 `vite.config.js` 文件如下：\n    ```javascript\n    import { fileURLToPath, URL } from 'node:url';\n    import { defineConfig } from 'vite';\n    import vue from '@vitejs/plugin-vue';\n    import * as babel from '@babel/core';\n    \n    // A very simple Vite plugin support babel transpilation\n    const babelPlugin = {\n      name: 'plugin-babel',\n      transform: (src, id) => {\n        if (/\\.(jsx?|vue)$/.test(id)) {               // the pattern of the file to handle\n          return babel.transform(src, {\n            filename: id,\n            babelrc: true,\n          });\n        }\n      },\n    };\n    // https://vitejs.dev/config/\n    export default defineConfig({\n      plugins: [\n        vue({\n          script: {\n            babelParserPlugins: ['decorators'],     // must enable decorators support\n          },\n        }),\n        babelPlugin,                                // must after the vue plugin\n      ],\n      resolve: {\n        alias: {\n          '@': fileURLToPath(new URL('./src', import.meta.url)),\n        },\n      },\n    });\n    ```\n    **注意：** 在上面配置文件中我们实现了一个简单的 [Vite] 插件用于将 [vite-plugin-vue] \n    插件处理过的代码通过 [babel] 转译。虽然有个 [vite-plugin-babel] 插件声称可以让 [vite]\n    支持 [babel]，但我们发现它无法正确处理 [vue] 的 SFC 格式 (`*.vue`格式文件）。仔细研究\n    它的源码后，我们发现要实现正确的转译，必须在 [vite-plugin-vue] 插件处理过源码之后再使用 \n    [babel] 进行转译，因此只需上面非常简单的插件函数即可实现我们需要的功能。作为一个替代选择，\n    你可以使用 [我们的 vite-plugin-babel 插件]，下面是一个配置示例：\n    ```js\n    import { fileURLToPath, URL } from 'node:url';\n    import { defineConfig } from 'vite';\n    import vue from '@vitejs/plugin-vue';\n    import babel from '@haixing_hu/vite-plugin-babel';\n\n    export default defineConfig({\n      plugins: [\n        vue({\n          script: {\n            babelParserPlugins: ['decorators'],     // must enable decorators support\n          },\n        }),\n        babel(),\n      ],\n      resolve: {\n        alias: {\n          '@': fileURLToPath(new URL('./src', import.meta.url)),\n        },\n      },\n    });\n    ```\n\n详细配置过程可以参考：\n- 使用 [create-vue] 和 [vite] 创建的演示项目：[vue3-class-component-demo-vite]\n\n## <span id=\"usage-example\">使用示例</span>\n\n```vue\n<template>\n  <div class=\"hello-page\">\n    <div class=\"message\">{{ message }}</div>\n    <div class=\"computed-message\">{{ computedMessage }}</div>\n    <div class=\"value\">{{ value }}</div>\n    <input v-model=\"newMessage\">\n    <button @click=\"setMessage(newMessage)\">Set Message</button>\n  </div>\n</template>\n<script>\nimport { Component, toVue } from 'vue3-class-component';\n\n@Component\nclass HelloPage {\n  message = 'hello';\n\n  value = 0;\n\n  newMessage = '';\n\n  mounted() {\n    this.value = this.$route.params.value;\n  }\n\n  get computedMessage() {\n    return this.message + '!';\n  }\n\n  setMessage(s) {\n    this.message = s;\n  }\n}\n\nexport default toVue(MyComponent); // don't forget calling `toVue`\n</script>\n```\n上述代码等效于：\n```vue\n<template>\n  <div class=\"hello-page\">\n    <div class=\"message\">{{ message }}</div>\n    <div class=\"computed-message\">{{ computedMessage }}</div>\n    <div class=\"value\">{{ value }}</div>\n    <input v-model=\"newMessage\">\n    <button @click=\"setMessage(newMessage)\">Set Message</button>\n  </div>\n</template>\n<script>\nexport default {\n  name: 'HelloPage',\n  data() {\n    return {\n      message: 'hello',\n      value: 0,\n      newMessage: '',\n    };\n  },\n  mounted() {\n    this.value = this.$route.params.value;\n  },\n  computed: {\n    computedMessage() {\n      return this.message + '!';\n    },\n  },\n  methods: {\n    setMessage(s) {\n      this.message = s;\n    },\n  },\n};\n</script>\n```\n\n## <span id=\"supported-options\">支持的选项</span>\n\n`@Component` 装饰器可以与选项参数一起使用，这些选项参数将传递给生成的 Vue 组件的选项。例如：\n\n```js\n@Component({\n  name: 'Hello',  // override the name of the class\n  components: {\n    PhoneLink,\n  },\n  filters: {\n    capitalize: (s) => s.toUpperCase(),\n  },\n})\nclass HelloPage {\n  message = 'hello';\n\n  value = 0;\n\n  newMessage = '';\n\n  mounted() {\n    this.value = this.$route.params.value;\n  }\n\n  get computedMessage() {\n    return this.message + '!';\n  }\n\n  setMessage(s) {\n    this.message = s;\n  }\n}\n\nexport default toVue(MyComponent); // don't forget calling `toVue`\n```\n上述代码等效于：\n```js\nexport default {\n  name: 'Hello',\n  components: {\n    PhoneLink,\n  },\n  filters: {\n    capitalize: (s) => s.toUpperCase(),\n  },\n  data() {\n    return {\n      message: 'hello',\n      value: 0,\n      newMessage: '',\n    };\n  },\n  mounted() {\n    this.value = this.$route.params.value;\n  },\n  computed: {\n    computedMessage() {\n      return this.message + '!';\n    },\n  },\n  methods: {\n    setMessage(s) {\n      this.message = s;\n    },\n  },\n};\n```\n下表列出了Vue选项API中的所有关键词以及它们是否受 `@Component` 装饰器参数的支持：\n\n| 类别          | 选项                | 是否支持\t | 描述                                             |\n|-------------|-------------------|-------|------------------------------------------------|\n| State       | `data`            | 否     | 组件的响应式状态应该定义为类字段。                              |\n| State       | `props`           | 否     | 组件的属性应该定义为类字段，并使用 `@Prop` 装饰器标记。               |\n| State       | `computed`        | 否     | 计算属性应该定义为类 getter。                             |\n| State       | `methods`         | 否     | 组件的方法应该定义为类方法。                                 |\n| State       | `watch`           | 否     | 观察者应该定义为类方法，并使用 `@Watch` 装饰器标记。                |\n| State       | `emits`           | 是     | 由 Vue 组件发出的自定义事件可以在 `@Component` 的选项中声明。       |\n| State       | `expose`          | 是     | 可公开的公共属性可以在 `@Component` 的选项中声明。               |\n| Rendering   | `template`        | 是     | 字符串模板可以在 @Component 的选项中声明。                    |\n| Rendering   | `render`          | 否     | 渲染函数应该定义为类方法。                                  |\n| Rendering   | `compilerOptions` | 是     | 字符串模板的编译器选项可以在 @Component 的选项中声明。              |\n| Rendering   | `slot`            | 是     | Vue 组件的插槽可以在 @Component 的选项中声明。                |\n| Lifecycle   | `beforeCreate`    | 否     | beforeCreate 钩子应该定义为类方法。                       |\n| Lifecycle   | `created`         | 否     | `created` 钩子应该定义为类方法。                          |\n| Lifecycle   | `beforeMount`     | 否     | `beforeMount` 钩子应该定义为类方法。                      |\n| Lifecycle   | `mounted`         | 否     | `mounted` 钩子应该定义为类方法。                          |\n| Lifecycle   | `beforeUpdate`    | 否     | `beforeUpdate` 钩子应该定义为类方法。                     |\n| Lifecycle   | `updated`         | 否     | `updated` 钩子应该定义为类方法。                          |\n| Lifecycle   | `beforeUnmount`   | 否     | `beforeUnmount` 钩子应该定义为类方法。                    |\n| Lifecycle   | `unmounted`       | 否     | `unmounted` 钩子应该定义为类方法。                        |\n| Lifecycle   | `errorCaptured`   | 否     | `errorCaptured` 钩子应该定义为类方法。                    |\n| Lifecycle   | `renderTracked`   | 否     | `renderTracked` 钩子应该定义为类方法。                    |\n| Lifecycle   | `renderTriggered` | 否     | `renderTriggered` 钩子应该定义为类方法。                  |\n| Lifecycle   | `activated`       | 否     | `activated` 钩子应该定义为类方法。                        |\n| Lifecycle   | `deactivated`     | 否     | `deactivated` 钩子应该定义为类方法。                      |\n| Lifecycle   | `serverPrefetch`  | 否     | `serverPrefetch` 钩子应该定义为类方法。                   |\n| Composition | `provide`         | 否     | `provide` 属性应该定义为类字段，并使用 `@Provide` 装饰器标记。     |\n| Composition | `inject`          | 否     | `inject` 属性应该定义为类字段，并使用 `@Inject` 装饰器标记。       |\n| Composition | `mixins`          | 是     | 可以在 `@Component` 的选项中声明混入的对象数组。                |\n| Composition | `extends`         | 是     | 可以在 `@Component` 的选项中声明要扩展的基础 Vue 组件。          |\n| Misc        | `name`            | 是     | Vue 组件的名称可以在 `@Component` 的选项中声明；否则将使用装饰的类的类名。 |\n| Misc        | `inheritAttrs`    | 是     | inheritAttrs 可以在 `@Component` 的选项中声明。          |\n| Misc        | `components`      | 是     | Vue 组件的注册组件可以在 `@Component` 的选项中声明。            |\n| Misc        | `directives`      | 是     | Vue 组件的注册指令可以在 `@Component` 的选项中声明。            |\n\n## <span id=\"predefined-decorators\">预定义装饰器</span>\n\n这个库为类式 Vue 组件提供了以下常用装饰器：\n\n- [`@Prop` 装饰器](#Prop)\n- [`@VModel` 装饰器](#VModel)\n- [`@Watch` 装饰器](#Watch)\n- [`@Provid` 装饰器](#Provide)\n- [`@Inject` 装饰器](#Inject)\n\n### <span id=\"Prop\">`@Prop` 装饰器</span>\n\n`@Prop` 装饰器应用在类字段上，用于声明 Vue 组件的 props。\n\n例如：\n```js\n@Component\nclass MyComponent {\n  // 如果新属性定义时有默认值，则无需指定其类型和默认值，系统会自动推断其类型\n  @Prop\n  message = 'hello';\n\n  @Prop({ type: Number, validator: (v) => (v >= 0) })\n  value;\n\n  // 非基本数据类型的默认值 **无需** 用工厂函数包装\n  @Prop\n  person = {\n    id: 1,\n    name: 'John',\n    age: 32,\n    gender: 'MALE',\n  };\n  \n  // 多个可能的属性类型，可以表示为一个构造器数组\n  @Prop({ type: [Boolean, String] })\n  lazy;\n\n  // 如果装饰器的参数是一个函数，它将被认为是新属性的类型\n  @Prop(Number)\n  value2;\n\n  // 如果装饰器的参数是一个函数数组，它将被认为是新属性的可能的类型\n  @Prop([Boolean, String, Number])\n  value3;\n}\n\nexport default toVue(MyComponent);\n```\n上述代码等效于：\n```js\nexport default {\n  name: 'MyComponent',\n  props: {\n    message: {\n      type: String,\n      default: 'hello',\n    },\n    value: {\n      type: Number,\n      required: true,\n      validator: (v) => {\n        return v >= 0\n      },\n    },\n    person: {\n      type: Object,\n      required: false,\n      default: () => ({\n        id: 1,\n        name: 'John',\n        age: 32,\n        gender: 'MALE',\n      }),\n    },\n    lazy: {\n      type: [Boolean, String],\n      required: true,\n    },\n    value2: {\n      type: Number,\n      required: true,\n    },\n    value3: {\n      type: [Boolean, String, Number],\n      required: true,\n    },\n  },\n};\n```\n\n`@Prop` 装饰器可以有一个可选参数。`@Prop` 装饰器的参数是一个包含以下选项的对象：\n\n| 选项          | 类型         | 默认值         | 描述                 |\n|-------------|------------|-------------|--------------------|\n| `type`      | `Function` | `undefined` | Prop 的数据类型，应为构造函数。 |\n| `required`  | `Boolean`  | `false`     | 指示是否需要传递该 prop。    |\n| `default`   | `any`      | `undefined` | 指定 prop 的默认值。      |\n| `validator` | `Function` | `undefined` | 用于 prop 的自定义验证函数。  |\n\n- `type`: 此选项定义了 prop 期望的数据类型，可以是以下之一：`String`、`Number`、\n  `Boolean`、`Array`、`Object`、`Date`、`Function`、`Symbol`、自定义的类、自定义的构造\n  函数，或这些类型的数组。在开发模式下，Vue 会验证 prop 的值是否与声明的类型匹配，如果不匹配，\n  将发出警告。有关更多详情，请参阅[属性校验]。\n \n  如果一个 prop允许多种可能的类型，可以在这个选项中指定一个构造函数数组。例如：\n  `{ type: [Boolean, String] }`。\n\n  请注意，具有 `Boolean` 类型的 prop 在开发和生产模式下都会影响其值的类型转换行为。有关更多\n  详情，请参阅[布尔型强制转换]。\n\n  如果未指定此选项，则库将从装饰的类字段的初始值中推断出类型。\n\n- `default`: 使用此选项为 prop 指定默认值，当它未由父组件传递或具有未定义的值时将会生效。对\n  象或数组类型的默认值必须使用工厂函数返回。工厂函数还接收原始的 prop 对象作为参数。如果未指定\n  此选项，则库将自动从装饰的类字段的初始值中推断默认值。\n\n  值得注意的是，[Vue] 库要求 prop 的非原始类型默认值必须使用工厂函数包装，但我们的库会自动处\n  理此问题。因此，**在声明 prop 时，不需要使用工厂函数包装非原始类型的默认值。**\n- `required`: 使用此选项来指定是否必须传递 prop。在非生产环境中，如果此值为真且未提供 prop，\n  则会生成控制台警告。\n\n  如果未指定此选项，则库将自动推断装饰的类字段的初始值是否已提供，以确定是否需要 prop。\n- `validator`: 此选项允许您定义一个自定义验证函数，该函数以 prop 值作为其唯一参数。在开发模\n  式下，如果此函数返回假值（即验证失败），则会生成控制台警告。\n\n如果 `@Prop` 装饰器的参数是一个函数，或者一个函数组成的数组，它将被认为是为新 prop 指定的类型。\n例如：\n```js\n@Component\nclass MyComponent {\n  @Prop(Number)\n  value1;\n\n  @Prop([Boolean, String, Number])\n  value2;\n}\n```\n\n如果属性定义时给出了默认值，则无需再指定其类型和默认值，系统会自动推断。例如：\n```js\n@Component\nclass MyComponent {\n  @Prop\n  message = '';\n\n  @Prop\n  value = 0;\n}\n```\n\n### <span id=\"VModel\">`@VModel` 装饰器</span>\n\n`@VModel` 装饰器与 `@Prop` 装饰器类似，不同之处在于它支持 `v-model` 绑定。\n有关更多详细信息，请参见[组件 v-model]。\n\n例如：\n```vue\n<template>\n  <div class=\"my-component\">\n    <input v-model=\"message\" />\n  </div>\n</template>\n<script>\n  import { Component, VModel, toVue } from '@haixing_hu/vue3-class-component';\n\n  @Component\n  class MyComponent {\n    @VModel({ type: String, validator: (v) => (v.length >= 0) })\n    message;\n  }\n\n  export default toVue(MyComponent);\n</script>\n```\n等同于：\n```vue\n<template>\n  <div class=\"my-component\">\n    <input v-model=\"message\" />\n  </div>\n</template>\n<script>\nexport default {\n  name: 'MyComponent',\n  props: {\n    modelValue: {\n      type: String,\n      required: true,\n      validator: (v) => {\n        return v.length >= 0;\n      },\n    },\n  },\n  emits: ['update:modelValue'],\n  computed: {\n    message: {\n      get() {\n        return this.modelValue;\n      },\n      set(value) {\n        this.$emit('update:modelValue', value);\n      },\n    },\n  },\n};\n</script>\n```\n上述自定义组件中的`@VModel`属性可按如下方式使用：\n```vue\n<template>\n  <div class=\"use-my-component\">\n    <my-component v-model=\"msg\" />\n  </div>\n</template>\n```\n\n**注意：**\n- 默认的 `v-model` 绑定属性名 `'modelValue'` 不应用作类字段名或类方法名。\n- 为了简化实现，这个库**不**支持多个 `v-model` 绑定。此外，它也**不**支持 `v-model` 修饰符，\n  **也不**允许更改默认的 `v-model` 绑定属性名。\n\n类似于 `@Prop` 装饰器，`@VModel` 装饰器也可以接受一个可选参数。这个用于 `@VModel` \n装饰器的参数是一个包含附加选项的对象。`@VModel` 可用的选项与 `@Prop` 支持的选项完全相同。\n有关更多详细信息，请参见 [@Prop 装饰器](#Prop)。\n\n### <span id=\"Watch\">`@Watch` 装饰器</span>\n\n`@Watch` 装饰器应用在类方法上，用于声明 Vue 组件的观察者。\n\n例如：\n```js\n@Component\nclass MyComponent {\n  value = 123;\n\n  person = {\n    id: 1,\n    name: 'John',\n    age: 32,\n    gender: 'MALE',\n  };\n\n  @Watch('value')\n  onValueChanged(val, oldVal) {\n    console.log(`The value is changed from ${oldVal} to ${val}.`);\n  }\n\n  @Watch('person', { deep: true })\n  onPersonChanged(val, oldVal) {\n    console.log(`The person is changed from ${oldVal} to ${val}.`);\n  }\n}\n\nexport default toVue(MyComponent);\n```\n上述代码等效于：\n```js\nexport default {\n  name: 'MyComponent',\n  data() {\n    return {\n      value: 123,\n    };\n  },\n  watch: {\n    value(val, oldVal) {\n      console.log(`The value is changed from ${oldVal} to ${val}.`);\n    },\n    person: {\n      deep: true,\n      handler(val, oldVal) {\n        console.log(`The person is changed from ${oldVal} to ${val}.`);\n      },\n    },\n  },\n};\n```\n\n`@Watch` 装饰器可以带有一个或两个参数。`@Watch` 装饰器的第一个参数是被监视的状态或属性的路径，\n第二个可选参数是一个包含以下选项的对象：\n\n| 选项          | 类型        | 默认值     | 描述                                             |\n|-------------|-----------|---------|------------------------------------------------|\n| `deep`      | `Boolean` | `false` | 观察者是否应深度遍历源对象（如果它是对象或数组）。                      |\n| `immediate` | `Boolean` | `false` | 观察者是否应在创建后立即调用。                                |\n| `flush`     | `String`  | `'pre'` | 观察者的刷新时机。可以是 `'pre'`、`'post'` 或 `'sync'` 中的一个。 |\n\n- `deep`: 如果源对象是对象或数组，强制深度遍历，以便在发生深层变化时触发回调。\n  请参阅[深度观察者]。\n- `immediate`: 在观察者创建时立即触发回调。第一次调用时旧值将为 `undefined`。\n  请参阅[急切观察者]。\n- `flush`: 调整回调的刷新时机。可以是 `'pre'`、`'post'` 或 `'sync'` 中的一个。\n  请参阅[回调刷新时机]和[watchEffect()]。\n\n**注意：** 与 [vue-property-decorator] 中的 `@Watch` 装饰器不同，此库中的 `@Watch`\n装饰器不支持使用多个观察处理程序同时监视相同的状态或属性。因为这不是常见用例，所以我们决定简\n化`@Watch`装饰器的实现。\n\n### <span id=\"Provide\">`@Provide` 装饰器</span>\n\n`@Provide` 装饰器应用在类字段上，用于声明可以由子组件注入的提供的值。\n\n例如：\n```js\nconst myInjectedKey = Symbol('myInjectedKey');\n\n@Component\nclass AncestorComponent {\n  @Provide\n  message = 'hello';\n\n  @Provide({key: myInjectedKey, reactive: true})\n  @Prop\n  value = 123;\n\n  @Provide({ reactive: true })\n  person = {\n    id: 1,\n    name: 'John',\n    age: 32,\n    gender: 'MALE',\n  };\n}\n\nexport default toVue(AncestorComponent);\n```\n上述代码等效于：\n```js\nimport { computed } from 'vue'\n\nexport default {\n  name: 'AncestorComponent',\n  props: {\n    value: {\n      type: Number,\n      default: 123,\n      required: false,\n    },\n  },\n  data() {\n    return {\n      message: 'hello',\n    };\n  },\n  provide() {\n    return {\n      message: this.message,                        // non-reactive\n      [myInjectedKey]: computed(() => this.value),  // reactive\n      person: computed(() => this.person),          // reactive\n    };\n  },\n};\n```\n\n`@Provide` 和 `@Inject` 装饰器一起使用，允许祖先组件作为所有后代组件的依赖注入器，无论组件\n层次结构有多深，只要它们在同一父级链中。有关详细信息，请参阅[Provide / Inject]。\n\n`@Provide` 装饰器可以带有一个可选参数。可选参数是一个包含以下选项的对象：\n\n| 选项         | 类型                 | 默认值         | 描述          |\n|------------|--------------------|-------------|-------------|\n| `key`      | `String \\| Symbol` | `undefined` | 提供值的键。      |\n| `reactive` | `Boolean`          | `false`     | 提供值是否是响应式的。 |\n\n- `key`: 子组件使用键来定位要注入的正确值。键可以是字符串或符号。有关更多详情，请参阅[使用符号键]。\n  如果未指定此选项，则将使用由 `@Provide` 装饰器装饰的字段的名称作为键。\n- `reactive`: 指示提供的值是否是响应式的。默认情况下，提供的值不是响应式的，即在祖先组件中更\n  改提供的值不会影响后代组件中注入的值。如果将此选项设置为 `true`，则提供的值将变为响应式。\n  有关更多详情，请参阅[使用响应式]。\n\n**注意：** [vue-property-decorator] 提供了 `@Provide` 和 `@ProvideReactive` 装饰器，\n分别用于声明非响应式和响应式的提供的值。但此库通过提供一个带有可选 `reactive` 选项的\n`@Provide` 装饰器来简化实现。由于提供的值通常是非响应式的，我们决定将 `reactive` 选项的默认\n值设置为 `false`。\n\n### <span id=\"Inject\">`@Inject` 装饰器</span>\n\n`@Inject` 装饰器应用在类字段上，用于声明被注入的值。\n\n例如：\n```js\n@Component\nclass DescendantComponent {\n  @Inject\n  message;\n\n  @Inject({from: myInjectedKey, default: 0})\n  injectedValue;\n\n  // non-primitive default value DO NOT need to be wrapped by a factory function\n  @Inject({ default: {id: 0, name: 'unknown'} })\n  person;\n}\n\nexport default toVue(DescendantComponent);\n```\n上述代码等效于：\n```js\nexport default {\n  name: 'DescendantComponent',\n  inject: {\n    message: {              // non-reactive\n      from: 'message',\n      default: undefined,\n    },\n    injectedValue: {        // reactive, since the provided `myInjectedKey` is reactive\n      from: myInjectedKey,\n      default: 0,\n    },\n    person: {               // reactive, since the provided `person` is reactive\n      from: 'person',\n      default: () => ({id: 0, name: 'unknown'}),\n    },\n  },\n};\n```\n`@Provide` 和 `@Inject` 装饰器一起使用，允许祖先组件作为所有后代组件的依赖注入器，无论组件\n层次结构有多深，只要它们在同一父级链中。有关详细信息，请参阅[Provide / Inject]。\n\n`@Inject` 装饰器可以带有一个可选参数。可选参数是一个包含以下选项的对象：\n\n| 选项        | 类型                 | 默认值         | 描述          |\n|-----------|--------------------|-------------|-------------|\n| `from`    | `String \\| Symbol` | `undefined` | 要注入的源提供值的键。 |\n| `default` | `any`              | `undefined` | 被注入值的默认值。   |\n\n- `from`: 此选项的值指定要注入的提供值的键。键可以是字符串或符号。有关更多详情，请参阅[使用符号键]。\n  如果未指定此选项，则将使用由 `@Inject` 装饰器装饰的字段的名称作为键。\n- `default`: 被注入属性的默认值。请注意，类似于 `@Prop` 装饰器的 `default` 选项，此库将自\n  动将非原始类型的默认值转换为工厂函数。\n\n**注意：** 如果提供的值是非响应式的，则相应的注入值也是非响应式的。如果提供的值是响应式的，\n则相应的注入值也是响应式的。有关更多详情，请参阅[使用响应式]。\n\n**注意：** [vue-property-decorator] 提供了 `@Inject` 和 `@InjectReactive` 装饰器，\n分别用于声明非响应式和响应式的注入值。但此库通过提供只有一个 `@Inject` 装饰器来简化实现，\n并且注入值的响应性由提供值的响应性决定。\n\n### <span id=\"Raw\">`@Raw` 装饰器</span>\n\n`@Raw` 装饰器标记在类字段上，用于声明该字段应被视为原始值，这意味着它不应被包装在响应式代理中。\n当你想要将非响应式属性注入到 Vue 组件中时，这个装饰器非常有用。这个装饰器的作用有点类似于\ncomposition API 中的 `markRaw()` 函数。\n\n例如\n```js\n@Component\nclass MyComponent {\n\n  message = 'hello';\n\n  @Raw\n  rawValue = 123;\n\n  @Raw\n  rawObject = {\n    id: 1,\n    name: 'John',\n    age: 32,\n    gender: 'MALE',\n  };\n\n  @Raw\n  client = new Client({\n    url: '/graphql',\n  });\n\n  created() {\n    console.log(this.rawValue);  \n    console.log(this.rawObject);\n    this.client.fetch();\n  }\n}\n```\n上述代码等效于：\n```js\nexport default {\n  name: 'MyComponent',\n  data() {\n    return {\n      message: 'hello',\n    };\n  },\n  created() {\n    console.log(this.rawValue);\n    console.log(this.rawObject);\n    this.client.fetch();\n  },\n  mixins: [{\n    created() {\n      this.rawValue = 123;\n      this.rawObject = {\n        id: 1,\n        name: 'John',\n        age: 32,\n        gender: 'MALE',\n      };\n      this.client = new Client({\n        url: '/graphql',\n      });\n    },\n  }],\n};\n```\n注意，直接在`data()`中返回一个被`markRaw()`函数所标记的对象属性，是无效的。因为`markRaw()`函数\n只能在 compositional API 的 `setup()` 函数中使用。因此，我们在`mixins`中注入一个`created()`\n生命周期钩子函数来初始化这些非响应式的属性。\n\n## <span id=\"customize-decorators\">自定义装饰器</span>\n\n此库提供了一个 `createDecorator()` 函数，用于创建自定义装饰器。该函数接受一个回调函数作为参\n数，并返回一个装饰器函数。回调函数将使用以下参数进行调用：\n\n- `Class`：被装饰类的构造函数。\n- `instance`：被装饰类的默认构造实例。此默认实例可用于获取被装饰类的所有实例字段。\n- `target`：被装饰的目标值，可以是类方法、getter 或 setter。请注意，如果被装饰的目标是类字\n  段，此参数将始终为 `undefined`。\n- `context`：包含有关被装饰目标的信息的上下文对象，如 [JavaScript 装饰器第3阶段提案] 和\n  [JavaScript 装饰器元数据第3阶段提案] 中所述。\n- `options`：Vue 组件选项对象。对此对象的更改将影响提供的组件。该对象包含了 Vue 组件选项对象应具备的所有属性，\n  还额外包含一个名为 `fields` 的属性，它是一个包含了 Vue 组件的所有响应式状态的对象; 也就是说，\n  它是 Vue 组件的 `data()` 函数返回的对象。修改 `options` 的 `fields` 属性允许您更改 Vue\n  组件的 `data()` 函数返回的响应式状态。\n\n此库将调用回调函数，以便给它一个机会来修改 Vue 组件选项。回调函数的返回值将被忽略。\n\n`createDecorator()` 函数将返回一个装饰器函数，该函数接受以下两个参数：\n\n- `target`：被装饰的目标值，可以是类方法、类字段、getter 或 setter。如果被装饰的目标是类字\n  段，此参数将始终为 `undefined`。\n- `context`：包含有关被装饰目标的信息的上下文对象，如 [JavaScript 装饰器第3阶段提案] 和\n  [JavaScript 装饰器元数据第3阶段提案] 中所述。\n\n以下是一个示例用法：\n```js\nconst Log = createDecorator((Class, instance, target, context, options) => {\n  if (context?.kind !== 'method') {\n    throw new Error('The @Log decorator can only be used to decorate a class method.');\n  }\n  const methodName = context.name;\n  const originalMethod = options.methods[methodName];\n  options.methods[methodName] = function (...args) {\n    console.log(`${Class.name}.${methodName}: ${args.join(', ')}`);\n    return originalMethod.apply(this, args);\n  };\n});\n```\n上面的示例演示了如何创建一个 `@Log` 装饰器，该装饰器可用于记录类方法的参数。例如：\n```js\n@Component\nclass HelloPage {\n  message = 'hello';\n\n  value = 0;\n\n  newMessage = '';\n\n  @Log\n  mounted() {\n    this.value = this.$route.params.value;\n  }\n\n  get computedMessage() {\n    return this.message + '!';\n  }\n\n  @Log\n  setMessage(s) {\n    this.message = s;\n  }\n}\n\nexport default toVue(MyComponent);\n```\n\n**注意：** 上述的 @Log 装饰器不能应用于组件类的 getter 或 setter。\n\n## <span id=\"contributing\">贡献</span>\n\n如果你发现任何问题或有改进建议，欢迎提交 issue 或者 PR 到本项目的 [GitHub 仓库]。\n\n## <span id=\"license\">许可</span>\n\n[vue3-class-component] 采用 Apache 2.0 许可证。详细信息请查阅 [LICENSE](LICENSE) 文件。\n\n[Vue]: https://vuejs.org/\n[vue-cli]: https://cli.vuejs.org/\n[webpack]: https://webpack.js.org/\n[create-vue]: https://github.com/vuejs/create-vue\n[vite]: https://vitejs.dev/\n[vue-class-component]: https://github.com/vuejs/vue-class-component\n[vue-property-decorator]: https://github.com/kaorun343/vue-property-decorator\n[vue-facing-decorator]: https://github.com/facing-dev/vue-facing-decorator\n[Babel]: https://babeljs.io/\n[@babel/plugin-transform-class-properties]: https://babeljs.io/docs/babel-plugin-transform-class-properties\n[@babel/plugin-proposal-decorators]: https://babeljs.io/docs/babel-plugin-proposal-decorators\n[JavaScript 装饰器第3阶段提案]: https://github.com/tc39/proposal-decorators\n[JavaScript 装饰器元数据第3阶段提案]: https://github.com/tc39/proposal-decorator-metadata\n[属性校验]: https://vuejs.org/guide/components/props.html#prop-validation\n[布尔型强制转换]: https://vuejs.org/guide/components/props.html#boolean-casting\n[深度观察者]: https://vuejs.org/guide/essentials/watchers#deep-watchers\n[急切观察者]: https://vuejs.org/guide/essentials/watchers.html#eager-watchers\n[回调刷新时机]: https://vuejs.org/guide/essentials/watchers#callback-flush-timing\n[watchEffect()]: https://vuejs.org/api/reactivity-core#watcheffect\n[Provide / Inject]: https://vuejs.org/guide/components/provide-inject.html\n[组件 v-model]: https://vuejs.org/guide/components/v-model.html#component-v-model\n[使用符号键]: https://vuejs.org/guide/components/provide-inject.html#working-with-symbol-keys\n[使用响应式]: https://vuejs.org/guide/components/provide-inject#working-with-reactivity\n[vue3-class-component]: https://npmjs.com/package/@haixing_hu/vue3-class-component\n[vue3-class-component-demo-webpack]: https://github.com/Haixing-Hu/vue3-class-component-demo-webpack\n[vue3-class-component-demo-vite]: https://github.com/Haixing-Hu/vue3-class-component-demo-vite\n[vite-plugin-vue]: https://www.npmjs.com/package/@vitejs/plugin-vue\n[vite-plugin-babel]: https://www.npmjs.com/package/vite-plugin-babel\n[我们的 vite-plugin-babel 插件]: https://npmjs.com/package/@haixing_hu/vite-plugin-babel\n[GitHub 仓库]: https://github.com/Haixing-Hu/vue3-class-component\n[@haixing_hu/typeinfo]: https://npmjs.com/package/@haixing_hu/typeinfo\n[@haixing_hu/clone]: https://npmjs.com/package/@haixing_hu/clone\n[issue #16179]: https://github.com/babel/babel/issues/16179\n[issue #16180]: https://github.com/babel/babel/issues/16180\n","readmeFilename":"README.zh_CN.md"}