mirror of
https://github.com/flarum/framework.git
synced 2025-02-08 05:55:16 +08:00
parent
4bda5c540a
commit
542fac888d
137
extensions/likes/js/package-lock.json
generated
137
extensions/likes/js/package-lock.json
generated
|
@ -6,9 +6,14 @@
|
||||||
"": {
|
"": {
|
||||||
"name": "@flarum/likes",
|
"name": "@flarum/likes",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@flarum/prettier-config": "^1.0.0",
|
||||||
|
"flarum-tsconfig": "^1.0.2",
|
||||||
"flarum-webpack-config": "^1.0.0",
|
"flarum-webpack-config": "^1.0.0",
|
||||||
"webpack": "^4.46.0",
|
"webpack": "^4.46.0",
|
||||||
"webpack-cli": "^4.9.0"
|
"webpack-cli": "^4.9.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "^2.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
|
@ -1617,16 +1622,44 @@
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@flarum/prettier-config": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@flarum/prettier-config/-/prettier-config-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-3/AcliIi5jPt4i7COb5hsLv6hm4EeXT9yI9I2EuEvhPi2QR+O9Y/8wrqRuO5mDkRzCIhUY+mjIL/f9770Zwfqg=="
|
||||||
|
},
|
||||||
"node_modules/@polka/url": {
|
"node_modules/@polka/url": {
|
||||||
"version": "1.0.0-next.21",
|
"version": "1.0.0-next.21",
|
||||||
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
|
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
|
||||||
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
|
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/jquery": {
|
||||||
|
"version": "3.5.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.12.tgz",
|
||||||
|
"integrity": "sha512-AlX/K29WByFhZ3UbVVn8eywPFwhDZGc/qhDWgy5mu4VVr9b+OQZKBegtS6Tqi9pk8A1aXVrYXuLhnjFJX8Wc/w==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/sizzle": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/json-schema": {
|
"node_modules/@types/json-schema": {
|
||||||
"version": "7.0.9",
|
"version": "7.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
|
||||||
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
|
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/mithril": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.8.tgz",
|
||||||
|
"integrity": "sha512-QzVV70DqUhWfLFpMFDBI9rRxtzeUUpbhiFDpUJYSV92AePgl+Qfficgv2MOb1Ceb+lBOQU8+L+Hjf2UielQjEw=="
|
||||||
|
},
|
||||||
|
"node_modules/@types/sizzle": {
|
||||||
|
"version": "2.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
|
||||||
|
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
|
||||||
|
},
|
||||||
|
"node_modules/@types/throttle-debounce": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ=="
|
||||||
|
},
|
||||||
"node_modules/@webassemblyjs/ast": {
|
"node_modules/@webassemblyjs/ast": {
|
||||||
"version": "1.9.0",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
|
||||||
|
@ -2821,6 +2854,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
|
||||||
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
|
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
|
||||||
},
|
},
|
||||||
|
"node_modules/dayjs": {
|
||||||
|
"version": "1.10.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz",
|
||||||
|
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
|
||||||
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
||||||
|
@ -3378,6 +3416,17 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/flarum-tsconfig": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/jquery": "^3.5.5",
|
||||||
|
"@types/mithril": "^2.0.7",
|
||||||
|
"@types/throttle-debounce": "^2.1.0",
|
||||||
|
"dayjs": "^1.10.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/flarum-webpack-config": {
|
"node_modules/flarum-webpack-config": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
|
||||||
|
@ -4699,6 +4748,18 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/prettier": {
|
||||||
|
"version": "2.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
|
||||||
|
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"prettier": "bin-prettier.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/process": {
|
"node_modules/process": {
|
||||||
"version": "0.11.10",
|
"version": "0.11.10",
|
||||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||||
|
@ -6046,11 +6107,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||||
},
|
},
|
||||||
"node_modules/v8-compile-cache": {
|
|
||||||
"version": "2.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
|
|
||||||
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
|
|
||||||
},
|
|
||||||
"node_modules/vm-browserify": {
|
"node_modules/vm-browserify": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
|
||||||
|
@ -6352,9 +6408,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack-cli": {
|
"node_modules/webpack-cli": {
|
||||||
"version": "4.9.0",
|
"version": "4.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
|
||||||
"integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==",
|
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@discoveryjs/json-ext": "^0.5.0",
|
"@discoveryjs/json-ext": "^0.5.0",
|
||||||
"@webpack-cli/configtest": "^1.1.0",
|
"@webpack-cli/configtest": "^1.1.0",
|
||||||
|
@ -6367,7 +6423,6 @@
|
||||||
"import-local": "^3.0.2",
|
"import-local": "^3.0.2",
|
||||||
"interpret": "^2.2.0",
|
"interpret": "^2.2.0",
|
||||||
"rechoir": "^0.7.0",
|
"rechoir": "^0.7.0",
|
||||||
"v8-compile-cache": "^2.2.0",
|
|
||||||
"webpack-merge": "^5.7.3"
|
"webpack-merge": "^5.7.3"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@ -7592,16 +7647,44 @@
|
||||||
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz",
|
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz",
|
||||||
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA=="
|
"integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA=="
|
||||||
},
|
},
|
||||||
|
"@flarum/prettier-config": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@flarum/prettier-config/-/prettier-config-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-3/AcliIi5jPt4i7COb5hsLv6hm4EeXT9yI9I2EuEvhPi2QR+O9Y/8wrqRuO5mDkRzCIhUY+mjIL/f9770Zwfqg=="
|
||||||
|
},
|
||||||
"@polka/url": {
|
"@polka/url": {
|
||||||
"version": "1.0.0-next.21",
|
"version": "1.0.0-next.21",
|
||||||
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
|
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
|
||||||
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
|
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
|
||||||
},
|
},
|
||||||
|
"@types/jquery": {
|
||||||
|
"version": "3.5.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.12.tgz",
|
||||||
|
"integrity": "sha512-AlX/K29WByFhZ3UbVVn8eywPFwhDZGc/qhDWgy5mu4VVr9b+OQZKBegtS6Tqi9pk8A1aXVrYXuLhnjFJX8Wc/w==",
|
||||||
|
"requires": {
|
||||||
|
"@types/sizzle": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@types/json-schema": {
|
"@types/json-schema": {
|
||||||
"version": "7.0.9",
|
"version": "7.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
|
||||||
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
|
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
|
||||||
},
|
},
|
||||||
|
"@types/mithril": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.8.tgz",
|
||||||
|
"integrity": "sha512-QzVV70DqUhWfLFpMFDBI9rRxtzeUUpbhiFDpUJYSV92AePgl+Qfficgv2MOb1Ceb+lBOQU8+L+Hjf2UielQjEw=="
|
||||||
|
},
|
||||||
|
"@types/sizzle": {
|
||||||
|
"version": "2.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
|
||||||
|
"integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ=="
|
||||||
|
},
|
||||||
|
"@types/throttle-debounce": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ=="
|
||||||
|
},
|
||||||
"@webassemblyjs/ast": {
|
"@webassemblyjs/ast": {
|
||||||
"version": "1.9.0",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
|
||||||
|
@ -8601,6 +8684,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
|
||||||
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
|
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
|
||||||
},
|
},
|
||||||
|
"dayjs": {
|
||||||
|
"version": "1.10.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz",
|
||||||
|
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
|
||||||
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.2",
|
"version": "4.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
|
||||||
|
@ -9044,6 +9132,17 @@
|
||||||
"path-exists": "^4.0.0"
|
"path-exists": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flarum-tsconfig": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==",
|
||||||
|
"requires": {
|
||||||
|
"@types/jquery": "^3.5.5",
|
||||||
|
"@types/mithril": "^2.0.7",
|
||||||
|
"@types/throttle-debounce": "^2.1.0",
|
||||||
|
"dayjs": "^1.10.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flarum-webpack-config": {
|
"flarum-webpack-config": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-1.0.0.tgz",
|
||||||
|
@ -10049,6 +10148,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
||||||
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
|
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
|
||||||
},
|
},
|
||||||
|
"prettier": {
|
||||||
|
"version": "2.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
|
||||||
|
"integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"process": {
|
"process": {
|
||||||
"version": "0.11.10",
|
"version": "0.11.10",
|
||||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||||
|
@ -11143,11 +11248,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||||
},
|
},
|
||||||
"v8-compile-cache": {
|
|
||||||
"version": "2.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
|
|
||||||
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="
|
|
||||||
},
|
|
||||||
"vm-browserify": {
|
"vm-browserify": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
|
||||||
|
@ -11387,9 +11487,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"webpack-cli": {
|
"webpack-cli": {
|
||||||
"version": "4.9.0",
|
"version": "4.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
|
||||||
"integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==",
|
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@discoveryjs/json-ext": "^0.5.0",
|
"@discoveryjs/json-ext": "^0.5.0",
|
||||||
"@webpack-cli/configtest": "^1.1.0",
|
"@webpack-cli/configtest": "^1.1.0",
|
||||||
|
@ -11402,7 +11502,6 @@
|
||||||
"import-local": "^3.0.2",
|
"import-local": "^3.0.2",
|
||||||
"interpret": "^2.2.0",
|
"interpret": "^2.2.0",
|
||||||
"rechoir": "^0.7.0",
|
"rechoir": "^0.7.0",
|
||||||
"v8-compile-cache": "^2.2.0",
|
|
||||||
"webpack-merge": "^5.7.3"
|
"webpack-merge": "^5.7.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"name": "@flarum/likes",
|
"name": "@flarum/likes",
|
||||||
|
"prettier": "@flarum/prettier-config",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@flarum/prettier-config": "^1.0.0",
|
||||||
|
"flarum-tsconfig": "^1.0.2",
|
||||||
"flarum-webpack-config": "^1.0.0",
|
"flarum-webpack-config": "^1.0.0",
|
||||||
"webpack": "^4.46.0",
|
"webpack": "^4.46.0",
|
||||||
"webpack-cli": "^4.9.0"
|
"webpack-cli": "^4.9.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"prettier": "^2.5.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "webpack --mode development --watch",
|
"dev": "webpack --mode development --watch",
|
||||||
"build": "webpack --mode production"
|
"build": "webpack --mode production",
|
||||||
|
"format": "prettier --write src",
|
||||||
|
"format-check": "prettier --check src"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
import { extend } from 'flarum/extend';
|
|
||||||
import app from 'flarum/app';
|
|
||||||
import PermissionGrid from 'flarum/components/PermissionGrid';
|
|
||||||
|
|
||||||
app.initializers.add('flarum-likes', () => {
|
|
||||||
app.extensionData
|
|
||||||
.for('flarum-likes')
|
|
||||||
.registerPermission({
|
|
||||||
icon: 'far fa-thumbs-up',
|
|
||||||
label: app.translator.trans('flarum-likes.admin.permissions.like_posts_label'),
|
|
||||||
permission: 'discussion.likePosts'
|
|
||||||
}, 'reply');
|
|
||||||
});
|
|
12
extensions/likes/js/src/admin/index.ts
Normal file
12
extensions/likes/js/src/admin/index.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import app from 'flarum/admin/app';
|
||||||
|
|
||||||
|
app.initializers.add('flarum-likes', () => {
|
||||||
|
app.extensionData.for('flarum-likes').registerPermission(
|
||||||
|
{
|
||||||
|
icon: 'far fa-thumbs-up',
|
||||||
|
label: app.translator.trans('flarum-likes.admin.permissions.like_posts_label'),
|
||||||
|
permission: 'discussion.likePosts',
|
||||||
|
},
|
||||||
|
'reply'
|
||||||
|
);
|
||||||
|
});
|
|
@ -1,42 +1,46 @@
|
||||||
import { extend } from 'flarum/extend';
|
import { extend } from 'flarum/common/extend';
|
||||||
import app from 'flarum/app';
|
import app from 'flarum/forum/app';
|
||||||
import Button from 'flarum/components/Button';
|
import Button from 'flarum/common/components/Button';
|
||||||
import CommentPost from 'flarum/components/CommentPost';
|
import CommentPost from 'flarum/forum/components/CommentPost';
|
||||||
|
|
||||||
export default function() {
|
export default function () {
|
||||||
extend(CommentPost.prototype, 'actionItems', function(items) {
|
extend(CommentPost.prototype, 'actionItems', function (items) {
|
||||||
const post = this.attrs.post;
|
const post = this.attrs.post;
|
||||||
|
|
||||||
if (post.isHidden() || !post.canLike()) return;
|
if (post.isHidden() || !post.canLike()) return;
|
||||||
|
|
||||||
const likes = post.likes();
|
const likes = post.likes();
|
||||||
|
|
||||||
let isLiked = app.session.user && likes && likes.some(user => user === app.session.user);
|
let isLiked = app.session.user && likes && likes.some((user) => user === app.session.user);
|
||||||
|
|
||||||
items.add('like',
|
items.add(
|
||||||
Button.component({
|
'like',
|
||||||
className: 'Button Button--link',
|
Button.component(
|
||||||
onclick: () => {
|
{
|
||||||
isLiked = !isLiked;
|
className: 'Button Button--link',
|
||||||
|
onclick: () => {
|
||||||
|
isLiked = !isLiked;
|
||||||
|
|
||||||
post.save({isLiked});
|
post.save({ isLiked });
|
||||||
|
|
||||||
// We've saved the fact that we do or don't like the post, but in order
|
// We've saved the fact that we do or don't like the post, but in order
|
||||||
// to provide instantaneous feedback to the user, we'll need to add or
|
// to provide instantaneous feedback to the user, we'll need to add or
|
||||||
// remove the like from the relationship data manually.
|
// remove the like from the relationship data manually.
|
||||||
const data = post.data.relationships.likes.data;
|
const data = post.data.relationships.likes.data;
|
||||||
data.some((like, i) => {
|
data.some((like, i) => {
|
||||||
if (like.id === app.session.user.id()) {
|
if (like.id === app.session.user.id()) {
|
||||||
data.splice(i, 1);
|
data.splice(i, 1);
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (isLiked) {
|
||||||
|
data.unshift({ type: 'users', id: app.session.user.id() });
|
||||||
}
|
}
|
||||||
});
|
},
|
||||||
|
},
|
||||||
if (isLiked) {
|
app.translator.trans(isLiked ? 'flarum-likes.forum.post.unlike_link' : 'flarum-likes.forum.post.like_link')
|
||||||
data.unshift({type: 'users', id: app.session.user.id()});
|
)
|
||||||
}
|
|
||||||
}
|
|
||||||
}, app.translator.trans(isLiked ? 'flarum-likes.forum.post.unlike_link' : 'flarum-likes.forum.post.like_link'))
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import { extend } from 'flarum/extend';
|
import { extend } from 'flarum/common/extend';
|
||||||
import app from 'flarum/app';
|
import app from 'flarum/forum/app';
|
||||||
import CommentPost from 'flarum/components/CommentPost';
|
import CommentPost from 'flarum/forum/components/CommentPost';
|
||||||
import Link from 'flarum/components/Link';
|
import Link from 'flarum/common/components/Link';
|
||||||
import punctuateSeries from 'flarum/helpers/punctuateSeries';
|
import punctuateSeries from 'flarum/common/helpers/punctuateSeries';
|
||||||
import username from 'flarum/helpers/username';
|
import username from 'flarum/common/helpers/username';
|
||||||
import icon from 'flarum/helpers/icon';
|
import icon from 'flarum/common/helpers/icon';
|
||||||
|
|
||||||
import PostLikesModal from './components/PostLikesModal';
|
import PostLikesModal from './components/PostLikesModal';
|
||||||
|
|
||||||
export default function() {
|
export default function () {
|
||||||
extend(CommentPost.prototype, 'footerItems', function(items) {
|
extend(CommentPost.prototype, 'footerItems', function (items) {
|
||||||
const post = this.attrs.post;
|
const post = this.attrs.post;
|
||||||
const likes = post.likes();
|
const likes = post.likes();
|
||||||
|
|
||||||
|
@ -19,9 +19,10 @@ export default function() {
|
||||||
|
|
||||||
// Construct a list of names of users who have liked this post. Make sure the
|
// Construct a list of names of users who have liked this post. Make sure the
|
||||||
// current user is first in the list, and cap a maximum of 4 items.
|
// current user is first in the list, and cap a maximum of 4 items.
|
||||||
const names = likes.sort(a => a === app.session.user ? -1 : 1)
|
const names = likes
|
||||||
|
.sort((a) => (a === app.session.user ? -1 : 1))
|
||||||
.slice(0, overLimit ? limit - 1 : limit)
|
.slice(0, overLimit ? limit - 1 : limit)
|
||||||
.map(user => {
|
.map((user) => {
|
||||||
return (
|
return (
|
||||||
<Link href={app.route.user(user)}>
|
<Link href={app.route.user(user)}>
|
||||||
{user === app.session.user ? app.translator.trans('flarum-likes.forum.post.you_text') : username(user)}
|
{user === app.session.user ? app.translator.trans('flarum-likes.forum.post.you_text') : username(user)}
|
||||||
|
@ -36,24 +37,28 @@ export default function() {
|
||||||
const count = likes.length - names.length;
|
const count = likes.length - names.length;
|
||||||
|
|
||||||
names.push(
|
names.push(
|
||||||
<a href="#" onclick={e => {
|
<a
|
||||||
e.preventDefault();
|
href="#"
|
||||||
app.modal.show(PostLikesModal, {post});
|
onclick={(e) => {
|
||||||
}}>
|
e.preventDefault();
|
||||||
{app.translator.trans('flarum-likes.forum.post.others_link', {count})}
|
app.modal.show(PostLikesModal, { post });
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{app.translator.trans('flarum-likes.forum.post.others_link', { count })}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
items.add('liked', (
|
items.add(
|
||||||
|
'liked',
|
||||||
<div className="Post-likedBy">
|
<div className="Post-likedBy">
|
||||||
{icon('far fa-thumbs-up')}
|
{icon('far fa-thumbs-up')}
|
||||||
{app.translator.trans('flarum-likes.forum.post.liked_by' + (likes[0] === app.session.user ? '_self' : '') + '_text', {
|
{app.translator.trans('flarum-likes.forum.post.liked_by' + (likes[0] === app.session.user ? '_self' : '') + '_text', {
|
||||||
count: names.length,
|
count: names.length,
|
||||||
users: punctuateSeries(names)
|
users: punctuateSeries(names),
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Notification from 'flarum/components/Notification';
|
import app from 'flarum/forum/app';
|
||||||
import { truncate } from 'flarum/utils/string';
|
import Notification from 'flarum/forum/components/Notification';
|
||||||
|
import { truncate } from 'flarum/common/utils/string';
|
||||||
|
|
||||||
export default class PostLikedNotification extends Notification {
|
export default class PostLikedNotification extends Notification {
|
||||||
icon() {
|
icon() {
|
||||||
|
@ -14,7 +15,7 @@ export default class PostLikedNotification extends Notification {
|
||||||
const notification = this.attrs.notification;
|
const notification = this.attrs.notification;
|
||||||
const user = notification.fromUser();
|
const user = notification.fromUser();
|
||||||
|
|
||||||
return app.translator.trans('flarum-likes.forum.notifications.post_liked_text', {user, count: 1});
|
return app.translator.trans('flarum-likes.forum.notifications.post_liked_text', { user, count: 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
excerpt() {
|
excerpt() {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import Modal from 'flarum/components/Modal';
|
import app from 'flarum/forum/app';
|
||||||
import Link from 'flarum/components/Link';
|
import Modal from 'flarum/common/components/Modal';
|
||||||
import avatar from 'flarum/helpers/avatar';
|
import Link from 'flarum/common/components/Link';
|
||||||
import username from 'flarum/helpers/username';
|
import avatar from 'flarum/common/helpers/avatar';
|
||||||
|
import username from 'flarum/common/helpers/username';
|
||||||
|
|
||||||
export default class PostLikesModal extends Modal {
|
export default class PostLikesModal extends Modal {
|
||||||
className() {
|
className() {
|
||||||
|
@ -16,11 +17,10 @@ export default class PostLikesModal extends Modal {
|
||||||
return (
|
return (
|
||||||
<div className="Modal-body">
|
<div className="Modal-body">
|
||||||
<ul className="PostLikesModal-list">
|
<ul className="PostLikesModal-list">
|
||||||
{this.attrs.post.likes().map(user => (
|
{this.attrs.post.likes().map((user) => (
|
||||||
<li>
|
<li>
|
||||||
<Link href={app.route.user(user)}>
|
<Link href={app.route.user(user)}>
|
||||||
{avatar(user)} {' '}
|
{avatar(user)} {username(user)}
|
||||||
{username(user)}
|
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { extend } from 'flarum/extend';
|
import { extend } from 'flarum/common/extend';
|
||||||
import app from 'flarum/app';
|
import app from 'flarum/forum/app';
|
||||||
import Post from 'flarum/models/Post';
|
import Post from 'flarum/common/models/Post';
|
||||||
import Model from 'flarum/Model';
|
import Model from 'flarum/common/Model';
|
||||||
import NotificationGrid from 'flarum/components/NotificationGrid';
|
import NotificationGrid from 'flarum/forum/components/NotificationGrid';
|
||||||
|
|
||||||
import addLikeAction from './addLikeAction';
|
import addLikeAction from './addLikeAction';
|
||||||
import addLikesList from './addLikesList';
|
import addLikesList from './addLikesList';
|
||||||
|
@ -21,7 +21,7 @@ app.initializers.add('flarum-likes', () => {
|
||||||
items.add('postLiked', {
|
items.add('postLiked', {
|
||||||
name: 'postLiked',
|
name: 'postLiked',
|
||||||
icon: 'far fa-thumbs-up',
|
icon: 'far fa-thumbs-up',
|
||||||
label: app.translator.trans('flarum-likes.forum.settings.notify_post_liked_label')
|
label: app.translator.trans('flarum-likes.forum.settings.notify_post_liked_label'),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
16
extensions/likes/js/tsconfig.json
Normal file
16
extensions/likes/js/tsconfig.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
// Use Flarum's tsconfig as a starting point
|
||||||
|
"extends": "flarum-tsconfig",
|
||||||
|
// This will match all .ts, .tsx, .d.ts, .js, .jsx files in your `src` folder
|
||||||
|
// and also tells your Typescript server to read core's global typings for
|
||||||
|
// access to `dayjs` and `$` in the global namespace.
|
||||||
|
"include": ["src/**/*", "../vendor/flarum/core/js/dist-typings/@types/**/*"],
|
||||||
|
"compilerOptions": {
|
||||||
|
// This will output typings to `dist-typings`
|
||||||
|
"declarationDir": "./dist-typings",
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user