{"_id":"@art-ws/web-app","_rev":"8-c54628e2ff1653c98b8bb47c8635ed63","name":"@art-ws/web-app","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@art-ws/web-app","version":"1.0.0","license":"UNLICENSED","_id":"@art-ws/web-app@1.0.0","maintainers":[{"name":"art-ws","email":"art-ws@pm.me"}],"bin":{"webapp":"bin/index.js"},"dist":{"shasum":"4b24407db7badca8ceb7314892dc491d19ecccfd","tarball":"https://registry.npmjs.org/@art-ws/web-app/-/web-app-1.0.0.tgz","fileCount":142,"integrity":"sha512-glrIAKA3JbrZCObJq8BkPS8JjlVVnmcGRWJ1/Kr7mQkffTxqwTS4ogVfiEq4koRTj1eQuip7H1oTNiI4M24AMg==","signatures":[{"sig":"MEUCICKypK4EAUlGU4DGD04OEuutHEZ6qmC+pZCP8ylROptNAiEAzORL6y01o4PG9lRis10oC0UtPIg7ckJRn8S5aW8UD0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJS8QCRA9TVsSAnZWagAAnIkP/3aWQkYAv0gIvNdvJKaC\nhDgEvYdfoVqkqepGr7xNWgomGUuxcF9EdWE/IuqIduAlVvfN9Tj/cz9vfb20\nB1UX57JdK9oYNUwEJemau7cAnXxM33Prc/wSg10bovxAAc2ITFPlarSQe/AL\n/tvhfVRZAWGtMkDRVBSR+kKk/zPn9VHxPaYz5fi2D5qwNkntuZg+z8iQuQ3P\nG1kwSdYD1QLMnVJUSR/i5lomkGPNSTrHSmNAiQCJnpIatPWX3tk/jVL+Npix\ng5IfsE5G+glgj54cmluSBigQr4BAkwiyWbfDN+wU4Z2YlZrHOSO02S29yOCw\nJMgtzjWXWhLTtrmt/8hTMqKAF0s6dAqbhiDFarmqagQo58vX2M89YCS0vBYu\nT48J1joZCeGbuun+y0UoBp37geFGWCbsf7r1B92cXMt+sRz625vll0WhuqQj\nR23okmKdpopsdAKrcJYmUcj7qcWVpl7vDWpPavDj4ZMhZVyBLOn9lRZX7AXd\nYJO9elLaWbvxikgrj/QAOUPrkdPNR7GiR4STGGVFH17i4DMyZCTYyRbWNCqQ\ncgy9aOnAqC8wfag8PhHiV2vJvNWtiXyWwcGeB4H/SVdtBBD4BPKqetgSbvnn\nZCEu5q9KkyrcqyzVt3L+RbUncZFA+6Po/n1/LN4S7y3dugKccZS89VnTLjHT\nciU6\r\n=IHHU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14"},"scripts":{"cti":"pnpx cti -n -b -v ./src","fmt":"prettier --write .","ncu":"pnpx ncu","link":"pnpm link","lint":"eslint --fix --ext .ts .","pack":"pnpm pack","test":"jest","build":"tsc","clean":"rimraf dist coverage *.tgz *.tsbuildinfo *.log","madge":"pnpx madge --circular --extensions ts .","watch":"tsc --watch","unlink":"pnpm unlink","upgrade":"pnpx ncu -u"},"_npmUser":{"name":"art-ws","email":"art-ws@pm.me"},"_npmVersion":"6.14.11","description":"Web app core","directories":{},"_nodeVersion":"14.15.1","dependencies":{"tslib":"2.1.0","yargs":"16.2.0","lodash":"4.17.20","fastify":"3.11.0","chokidar":"3.5.1","liquidjs":"9.22.1","nunjucks":"3.2.2","@art-ws/di":"latest","mime-types":"2.1.28","@art-ws/slf":"latest","markdown-it":"12.0.4","fastify-cors":"5.2.0","@types/lodash":"4.14.168","@art-ws/common":"latest","fastify-static":"3.4.0","@aristsoft/cpue":"latest","@types/chokidar":"1.7.5","@types/nunjucks":"3.1.4","swagger-ui-dist":"3.42.0","@art-ws/web-common":"latest","@types/markdown-it":"12.0.1","@art-ws/web-app-core":"latest","@types/fastify-static":"0.14.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.0","jest":"26.6.3","madge":"4.0.0","eslint":"7.19.0","rimraf":"3.0.2","ts-jest":"26.5.0","prettier":"2.2.1","typescript":"4.1.3","@art-ws/tsc":"latest","@types/chai":"4.2.14","@types/jest":"26.0.20","@types/node":"14.14.25","@art-ws/jest":"latest","@art-ws/eslint":"latest","create-ts-index":"1.13.6","@art-ws/prettier":"latest","npm-check-updates":"11.1.1","eslint-plugin-jest":"24.1.3","eslint-plugin-node":"11.1.0","@art-ws/package-base":"latest","eslint-plugin-import":"2.22.1","eslint-plugin-promise":"4.2.1","eslint-config-prettier":"7.2.0","eslint-plugin-standard":"4.1.0","jest-standard-reporter":"2.0.0","@art-ws/package-template":"latest","@typescript-eslint/parser":"4.14.2","@typescript-eslint/eslint-plugin":"4.14.2","eslint-config-standard-with-typescript":"20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/web-app_1.0.0_1613049616270_0.8206598045021307","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@art-ws/web-app","version":"1.0.2","license":"UNLICENSED","_id":"@art-ws/web-app@1.0.2","maintainers":[{"name":"art-ws","email":"art-ws@pm.me"}],"bin":{"webapp":"bin/index.js"},"dist":{"shasum":"55371f999ac044f35b7109e5c831f46471c26af1","tarball":"https://registry.npmjs.org/@art-ws/web-app/-/web-app-1.0.2.tgz","fileCount":142,"integrity":"sha512-H8rhSDthZdeiymFammlJTPt/4SYiWIVF7wwAX21jO9Dn6VVDt3/FSaTtUcFBHWyfHZuqx5+HMctsQrXY7l1I4A==","signatures":[{"sig":"MEUCIE16AhvBOt1Bm+VMndqP8OD4bY8mPclxZdIiwMA9Cm+QAiEAqrYaFp8D+1wY6FxHjutxQ8R8ld39+RLwH7Qiv/qFHUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":86036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJmvACRA9TVsSAnZWagAAQ1YQAJqCCsMmBTPqTIt85d/c\nUxD2Tg/J/sdJbYGHMiEDBA2Ev1gTRBp+emp40rWWdeEmJTjTA/p2TSjeuoAx\nZRgozjfeI/XcqhGZGhGbe3MX8eC/IpC8U6tBe8Y1mLVq0aCiXhzQasIKJDVt\noZX1iJVRx8+C1Uhx/E9LK7kY+SSsERATM6fbUEIn/88WtAWkLXumsvM+k8sT\n/vX/1a9jvSOcGDEtYZx+DY2+IOLcNqkzuW3lmZ05S3sptnQu2yqd1Pf8kdPW\nYEsqEZW78aooeUvjjkv9WdB9i2YfvC+SLW9uNYiyY6mbyjYpCTPx6fcBiB4R\nYzTQGjSai6pwUXz7rav0AmYhUr68nOsLMpkhTu8MhMa+1JLXEF7zT4mwfxDj\nzqHhcwWY3+5tRYSaXY55A2jF9EZfqUIgsAo9Hg7PoOlRSQlN0utXS1LRJdAJ\n2Io+ZFxTRK09f0mmcz4oXs/qZQnlK/APKN+nx5FRWsq84nYfSXfW6eipDmfx\nq80mzC+cjtmtaYh8LlcMDv+aPEqB7Mm+P4LWksWi3b0fOIce796E/A2JXfLC\nVV99Ot9/GpfJFL96pjtUGzYw4omcpjeZt6uz9MlCp7dp+wjflaQhFzzhGXcW\nWqjqhOKAqIdx6oW2XKCfOZB3S877QVTKJtHn4Z6UR4sFf1VjgSIGPqMZRBSo\nP/dp\r\n=JA+u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=14"},"scripts":{"cti":"pnpx cti -n -b -v ./src","fmt":"prettier --write .","ncu":"pnpx ncu","link":"pnpm link","lint":"eslint --fix --ext .ts .","pack":"pnpm pack","test":"jest","build":"tsc","clean":"rimraf dist coverage *.tgz *.tsbuildinfo *.log","madge":"pnpx madge --circular --extensions ts .","watch":"tsc --watch","unlink":"pnpm unlink","upgrade":"pnpx ncu -u"},"_npmUser":{"name":"art-ws","email":"art-ws@pm.me"},"_npmVersion":"7.5.3","description":"Web app core","directories":{},"_nodeVersion":"14.15.1","dependencies":{"tslib":"2.1.0","yargs":"16.2.0","lodash":"4.17.20","fastify":"3.11.0","chokidar":"3.5.1","liquidjs":"9.22.1","nunjucks":"3.2.2","@art-ws/di":"latest","mime-types":"2.1.28","@art-ws/slf":"latest","markdown-it":"12.0.4","fastify-cors":"5.2.0","@types/lodash":"4.14.168","@art-ws/common":"latest","fastify-static":"3.4.0","@aristsoft/cpue":"latest","@types/chokidar":"1.7.5","@types/nunjucks":"3.1.4","swagger-ui-dist":"3.43.0","@art-ws/web-common":"latest","@types/markdown-it":"12.0.1","@art-ws/web-app-core":"latest","@types/fastify-static":"0.14.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.0","jest":"26.6.3","madge":"4.0.0","eslint":"7.19.0","rimraf":"3.0.2","ts-jest":"26.5.1","prettier":"2.2.1","typescript":"4.1.5","@art-ws/tsc":"latest","@types/chai":"4.2.15","@types/jest":"26.0.20","@types/node":"14.14.26","@art-ws/jest":"latest","@art-ws/eslint":"latest","create-ts-index":"1.13.6","@art-ws/prettier":"latest","npm-check-updates":"11.1.1","eslint-plugin-jest":"24.1.3","eslint-plugin-node":"11.1.0","@art-ws/package-base":"latest","eslint-plugin-import":"2.22.1","eslint-plugin-promise":"4.3.1","eslint-config-prettier":"7.2.0","eslint-plugin-standard":"4.1.0","jest-standard-reporter":"2.0.0","@art-ws/package-template":"latest","@typescript-eslint/parser":"4.15.0","@typescript-eslint/eslint-plugin":"4.15.0","eslint-config-standard-with-typescript":"20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/web-app_1.0.2_1613130688026_0.16953421954581005","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@art-ws/web-app","version":"1.0.5","description":"Web app core","license":"UNLICENSED","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","watch":"tsc --watch","clean":"rimraf dist coverage *.tgz *.tsbuildinfo *.log","lint":"eslint --fix --ext .ts .","test":"jest","fmt":"prettier --write .","pack":"pnpm pack","link":"pnpm link","unlink":"pnpm unlink","ncu":"pnpx ncu","upgrade":"pnpx ncu -u","madge":"pnpx madge --circular --extensions ts .","cti":"pnpx cti -n -b -v ./src"},"bin":{"webapp":"bin/index.js"},"engines":{"node":">=14"},"dependencies":{"fastify":"3.11.0","tslib":"2.1.0","@art-ws/di":"latest","@art-ws/slf":"latest","@art-ws/common":"latest","@art-ws/web-app-core":"latest","@art-ws/web-common":"latest","@aristsoft/cpue":"latest","nunjucks":"3.2.2","@types/nunjucks":"3.1.4","liquidjs":"9.22.1","fastify-static":"3.4.0","@types/fastify-static":"0.14.0","chokidar":"3.5.1","@types/chokidar":"1.7.5","lodash":"4.17.20","@types/lodash":"4.14.168","swagger-ui-dist":"3.43.0","mime-types":"2.1.28","markdown-it":"12.0.4","@types/markdown-it":"12.0.1","yargs":"16.2.0","fastify-cors":"5.2.0"},"devDependencies":{"@art-ws/tsc":"latest","@art-ws/jest":"latest","@types/node":"14.14.26","rimraf":"3.0.2","typescript":"4.1.5","@art-ws/eslint":"latest","eslint":"7.19.0","@typescript-eslint/eslint-plugin":"4.15.0","@typescript-eslint/parser":"4.15.0","eslint-plugin-import":"2.22.1","eslint-plugin-jest":"24.1.3","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"4.3.1","eslint-plugin-standard":"4.1.0","jest":"26.6.3","ts-jest":"26.5.1","@types/jest":"26.0.20","jest-standard-reporter":"2.0.0","eslint-config-standard-with-typescript":"20.0.0","chai":"4.3.0","@types/chai":"4.2.15","eslint-config-prettier":"7.2.0","@art-ws/prettier":"latest","@art-ws/package-base":"latest","@art-ws/package-template":"latest","prettier":"2.2.1","madge":"4.0.0","npm-check-updates":"11.1.1","create-ts-index":"1.13.6"},"_id":"@art-ws/web-app@1.0.5","_integrity":"sha512-aB8Wzu+yaZSa43RGUXmFFQpONjXJUZmTxFqUvpsl0w29ynumfh+mhezLJn7i3jMk6f0ATmRGuDlof9P1r35p5Q==","_resolved":"/var/folders/d6/_mc3452n2dd__f8txsk98ptm0000gn/T/artws-pack/art-ws-web-app-1.0.5.tgz","_from":"file:/var/folders/d6/_mc3452n2dd__f8txsk98ptm0000gn/T/artws-pack/art-ws-web-app-1.0.5.tgz","_nodeVersion":"26.3.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-aB8Wzu+yaZSa43RGUXmFFQpONjXJUZmTxFqUvpsl0w29ynumfh+mhezLJn7i3jMk6f0ATmRGuDlof9P1r35p5Q==","shasum":"b1256e77349e9de17b9da8f19fe6a8ccfa5d8e78","tarball":"https://registry.npmjs.org/@art-ws/web-app/-/web-app-1.0.5.tgz","fileCount":143,"unpackedSize":86517,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAdOOaGuzQSx3RSBRwRherI7PKcepUDqGD9P2CWbh+LbAiBycANKOLIWxYSXjMR2dUnd3Fj5VBmKSdJT7jI5RjVueg=="}]},"_npmUser":{"name":"art-ws","email":"art-ws@pm.me"},"directories":{},"maintainers":[{"name":"art-ws","email":"art-ws@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/web-app_1.0.5_1786735294586_0.9758691333073992"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-11T13:20:16.236Z","modified":"2026-08-14T19:21:34.905Z","1.0.0":"2021-02-11T13:20:16.406Z","1.0.2":"2021-02-12T11:51:28.159Z","1.0.3":"2025-09-15T05:21:20.383Z","1.0.4":"2025-09-15T08:58:44.290Z","1.0.5":"2026-08-14T19:21:34.737Z"},"license":"UNLICENSED","description":"Web app core","maintainers":[{"name":"art-ws","email":"art-ws@pm.me"}],"readme":"# @art-ws/web-app\n\nWeb app core\n\n## Security notice\n\nVersions 1.0.3 and 1.0.4 of this package were published with malicious code on\n15 September 2025, when the npm account that publishes it was compromised in the\nShai-Hulud supply-chain campaign. The registry removed them from npm; they cannot be installed.\n\nFull write-up of the incident — every affected package and version, the timeline,\nand how to check your own project:\n**https://art-ws.org/security/2025-09-shai-hulud/**\n","readmeFilename":"README.md"}