2015-10-26 17:16:26 +01:00
|
|
|
{
|
2020-02-09 05:42:26 +01:00
|
|
|
"private": true,
|
2023-04-04 09:13:41 +02:00
|
|
|
"packageManager": "pnpm@8.1.1+sha256.81fa42eae93570f569460def1cc0ad8bb7601a25304be6f61742a69a22d6645c",
|
2016-08-05 07:10:41 +02:00
|
|
|
"dependencies": {
|
2019-07-10 00:05:46 +02:00
|
|
|
"@babel/core": "^7.5.5",
|
|
|
|
"@babel/preset-env": "^7.5.5",
|
2021-08-05 19:07:59 +02:00
|
|
|
"@babel/preset-typescript": "^7.15.0",
|
2019-10-12 03:37:06 +02:00
|
|
|
"@babel/register": "^7.6.2",
|
2022-03-02 06:45:32 +01:00
|
|
|
"@formatjs/intl": "^2.0.0",
|
2021-06-08 04:20:35 +02:00
|
|
|
"@giphy/js-components": "^5.0.5",
|
|
|
|
"@giphy/js-fetch-api": "^4.0.1",
|
sentry: Add frontend event monitoring.
Zulip already has integrations for server-side Sentry integration;
however, it has historically used the Zulip-specific `blueslip`
library for monitoring browser-side errors. However, the latter sends
errors to email, as well optionally to an internal `#errors` stream.
While this is sufficient for low volumes of users, and useful in that
it does not rely on outside services, at higher volumes it is very
difficult to do any analysis or filtering of the errors. Client-side
errors are exceptionally noisy, with many false positives due to
browser extensions or similar, so determining real real errors from a
stream of un-grouped emails or messages in a stream is quite
difficult.
Add a client-side Javascript sentry integration. To provide useful
backtraces, this requires extending the pre-deploy hooks to upload the
source-maps to Sentry. Additional keys are added to the non-public
API of `page_params` to control the DSN, realm identifier, and sample
rates.
2023-02-13 20:50:57 +01:00
|
|
|
"@sentry/browser": "^7.41.0",
|
2023-03-20 19:52:55 +01:00
|
|
|
"@sentry/integrations": "^7.41.0",
|
sentry: Add frontend event monitoring.
Zulip already has integrations for server-side Sentry integration;
however, it has historically used the Zulip-specific `blueslip`
library for monitoring browser-side errors. However, the latter sends
errors to email, as well optionally to an internal `#errors` stream.
While this is sufficient for low volumes of users, and useful in that
it does not rely on outside services, at higher volumes it is very
difficult to do any analysis or filtering of the errors. Client-side
errors are exceptionally noisy, with many false positives due to
browser extensions or similar, so determining real real errors from a
stream of un-grouped emails or messages in a stream is quite
difficult.
Add a client-side Javascript sentry integration. To provide useful
backtraces, this requires extending the pre-deploy hooks to upload the
source-maps to Sentry. Additional keys are added to the non-public
API of `page_params` to control the DSN, realm identifier, and sample
rates.
2023-02-13 20:50:57 +01:00
|
|
|
"@sentry/tracing": "^7.41.0",
|
2022-10-07 00:56:00 +02:00
|
|
|
"@uppy/core": "^3.0.2",
|
|
|
|
"@uppy/progress-bar": "^3.0.1",
|
|
|
|
"@uppy/xhr-upload": "^3.0.2",
|
2022-03-17 08:11:46 +01:00
|
|
|
"@zxcvbn-ts/core": "^2.0.0",
|
|
|
|
"@zxcvbn-ts/language-common": "^2.0.0",
|
|
|
|
"@zxcvbn-ts/language-en": "^2.0.0",
|
2023-04-12 01:15:43 +02:00
|
|
|
"autosize": "^5.0.2",
|
2022-11-03 19:19:26 +01:00
|
|
|
"babel-loader": "^9.1.0",
|
2021-04-10 03:11:59 +02:00
|
|
|
"babel-plugin-formatjs": "^10.2.6",
|
2023-02-24 20:46:13 +01:00
|
|
|
"babel-plugin-istanbul": "^6.1.1",
|
2019-08-31 03:17:31 +02:00
|
|
|
"blueimp-md5": "^2.10.0",
|
2021-02-26 03:21:55 +01:00
|
|
|
"clean-css": "^5.1.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"clipboard": "^2.0.4",
|
2023-02-15 21:34:01 +01:00
|
|
|
"colord": "^2.9.3",
|
2022-11-03 19:19:26 +01:00
|
|
|
"core-js": "^3.26.0",
|
2021-03-18 01:32:29 +01:00
|
|
|
"css-loader": "^6.2.0",
|
2023-04-04 09:13:41 +02:00
|
|
|
"css-minimizer-webpack-plugin": "^5.0.0",
|
2020-09-29 22:20:46 +02:00
|
|
|
"date-fns": "^2.16.1",
|
2023-03-20 19:52:55 +01:00
|
|
|
"date-fns-tz": "^2.0.0",
|
2022-07-27 23:33:49 +02:00
|
|
|
"email-addresses": "^5.0.0",
|
2022-03-17 03:01:46 +01:00
|
|
|
"emoji-datasource-google": "^14.0.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"emoji-datasource-google-blob": "npm:emoji-datasource-google@^3.0.0",
|
2022-03-17 03:01:46 +01:00
|
|
|
"emoji-datasource-twitter": "^14.0.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"error-stack-parser": "^2.0.2",
|
2022-06-02 01:28:48 +02:00
|
|
|
"expose-loader": "^4.0.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"flatpickr": "^4.5.7",
|
|
|
|
"font-awesome": "^4.7.0",
|
2020-10-21 04:07:35 +02:00
|
|
|
"font-subset-loader2": "^1.1.7",
|
2020-05-08 06:37:58 +02:00
|
|
|
"ga-gtag": "^1.0.1",
|
2020-02-05 05:46:43 +01:00
|
|
|
"handlebars": "^4.7.2",
|
2019-08-31 03:17:31 +02:00
|
|
|
"handlebars-loader": "^1.7.1",
|
2021-03-18 01:32:29 +01:00
|
|
|
"html-webpack-plugin": "^5.3.2",
|
2023-03-06 05:43:24 +01:00
|
|
|
"intl-messageformat": "^10.3.0",
|
2023-01-04 20:48:10 +01:00
|
|
|
"jquery": "^3.6.3",
|
2019-08-31 03:17:31 +02:00
|
|
|
"jquery-caret-plugin": "^1.5.2",
|
|
|
|
"jquery-validation": "^1.19.0",
|
2022-05-02 11:15:25 +02:00
|
|
|
"js-cookie": "^3.0.1",
|
2022-09-05 10:06:23 +02:00
|
|
|
"katex": "^0.16.2",
|
2020-07-25 02:02:35 +02:00
|
|
|
"lodash": "^4.17.19",
|
2021-07-04 08:47:08 +02:00
|
|
|
"micromodal": "^0.4.6",
|
2021-03-18 01:32:29 +01:00
|
|
|
"mini-css-extract-plugin": "^2.2.2",
|
2023-04-14 19:54:26 +02:00
|
|
|
"minimalistic-assert": "^1.0.1",
|
2022-02-15 20:25:21 +01:00
|
|
|
"panzoom": "^9.4.2",
|
2021-06-08 04:20:35 +02:00
|
|
|
"plotly.js": "^2.0.0",
|
2020-09-15 22:51:12 +02:00
|
|
|
"postcss": "^8.0.3",
|
2022-03-02 06:45:32 +01:00
|
|
|
"postcss-extend-rule": "^4.0.0",
|
2022-09-05 10:06:23 +02:00
|
|
|
"postcss-import": "^15.0.0",
|
2022-06-02 01:28:48 +02:00
|
|
|
"postcss-loader": "^7.0.0",
|
2021-08-10 11:08:42 +02:00
|
|
|
"postcss-prefixwrap": "^1.24.0",
|
2023-03-17 22:15:00 +01:00
|
|
|
"postcss-preset-env": "^8.0.1",
|
2022-09-05 10:06:23 +02:00
|
|
|
"postcss-simple-vars": "^7.0.0",
|
2019-06-20 11:59:55 +02:00
|
|
|
"regenerator-runtime": "^0.13.3",
|
2019-06-29 10:13:08 +02:00
|
|
|
"shebang-loader": "^0.0.1",
|
2023-02-09 01:11:31 +01:00
|
|
|
"simplebar": "^6.2.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"sortablejs": "^1.9.0",
|
|
|
|
"sorttable": "^1.0.2",
|
2021-05-09 22:29:53 +02:00
|
|
|
"source-code-pro": "^2.38.0",
|
2021-02-23 06:58:00 +01:00
|
|
|
"source-sans": "^3.28.0",
|
2020-06-07 05:42:28 +02:00
|
|
|
"spectrum-colorpicker": "^1.8.1",
|
2023-03-06 05:43:24 +01:00
|
|
|
"stackframe": "^1.3.4",
|
2020-02-05 07:11:39 +01:00
|
|
|
"stacktrace-gps": "^3.0.4",
|
2021-03-18 01:32:29 +01:00
|
|
|
"style-loader": "^3.2.1",
|
2022-11-21 08:14:56 +01:00
|
|
|
"text-field-edit": "^3.2.0",
|
2021-11-10 16:03:32 +01:00
|
|
|
"tippy.js": "^6.3.7",
|
2020-10-24 10:02:35 +02:00
|
|
|
"turndown": "^7.0.0",
|
2020-10-21 04:07:35 +02:00
|
|
|
"url-loader": "^4.1.1",
|
linkifier: Support URL templates for linkifiers.
This swaps out url_format_string from all of our APIs and replaces it
with url_template. Note that the documentation changes in the following
commits will be squashed with this commit.
We change the "url_format" key to "url_template" for the
realm_linkifiers events in event_schema, along with updating
LinkifierDict. "url_template" is the name chosen to normalize
mixed usages of "url_format_string" and "url_format" throughout
the backend.
The markdown processor is updated to stop handling the format string
interpolation and delegate the task template expansion to the uri_template
library instead.
This change affects many test cases. We mostly just replace "%(name)s"
with "{name}", "url_format_string" with "url_template" to make sure that
they still pass. There are some test cases dedicated for testing "%"
escaping, which aren't relevant anymore and are subject to removal.
But for now we keep most of them as-is, and make sure that "%" is always
escaped since we do not use it for variable substitution any more.
Since url_format_string is not populated anymore, a migration is created
to remove this field entirely, and make url_template non-nullable since
we will always populate it. Note that it is possible to have
url_template being null after migration 0422 and before 0424, but
in practice, url_template will not be None after backfilling and the
backend now is always setting url_template.
With the removal of url_format_string, RealmFilter model will now be cleaned
with URL template checks, and the old checks for escapes are removed.
We also modified RealmFilter.clean to skip the validation when the
url_template is invalid. This avoids raising mulitple ValidationError's
when calling full_clean on a linkifier. But we might eventually want to
have a more centric approach to data validation instead of having
the same validation in both the clean method and the validator.
Fixes #23124.
Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-10-05 20:55:31 +02:00
|
|
|
"url-template": "2.0.8",
|
2022-12-07 00:56:16 +01:00
|
|
|
"webfonts-loader": "^8.0.0",
|
2021-11-05 01:09:45 +01:00
|
|
|
"webpack": "^5.61.0",
|
2021-07-15 00:39:47 +02:00
|
|
|
"webpack-bundle-tracker": "^1.2.0",
|
2022-12-07 00:56:16 +01:00
|
|
|
"webpack-cli": "^5.0.1",
|
2023-03-25 18:50:09 +01:00
|
|
|
"winchan": "^0.2.1",
|
|
|
|
"zod": "^3.21.4"
|
2016-08-05 07:10:41 +02:00
|
|
|
},
|
|
|
|
"devDependencies": {
|
2020-09-01 23:03:34 +02:00
|
|
|
"@babel/eslint-parser": "^7.11.3",
|
2023-03-06 05:43:24 +01:00
|
|
|
"@babel/plugin-transform-modules-commonjs": "^7.19.6",
|
2023-02-09 01:11:31 +01:00
|
|
|
"@formatjs/cli": "^6.0.0",
|
2023-03-25 18:50:09 +01:00
|
|
|
"@types/autosize": "^4.0.1",
|
2023-03-10 22:31:11 +01:00
|
|
|
"@types/blueimp-md5": "^2.18.0",
|
2020-07-18 03:14:20 +02:00
|
|
|
"@types/clean-css": "^4.2.2",
|
2019-06-20 11:59:55 +02:00
|
|
|
"@types/jquery": "^3.3.31",
|
2023-03-25 18:50:09 +01:00
|
|
|
"@types/katex": "^0.16.0",
|
2021-08-23 22:16:04 +02:00
|
|
|
"@types/lodash": "^4.14.172",
|
2023-03-25 18:50:09 +01:00
|
|
|
"@types/micromodal": "^0.3.3",
|
2023-04-14 19:54:26 +02:00
|
|
|
"@types/minimalistic-assert": "^1.0.1",
|
2022-10-07 00:56:00 +02:00
|
|
|
"@types/node": "^18.8.3",
|
2023-03-25 18:50:09 +01:00
|
|
|
"@types/sortablejs": "^1.15.1",
|
|
|
|
"@types/turndown": "^5.0.1",
|
2021-10-16 21:56:00 +02:00
|
|
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
|
|
"@typescript-eslint/parser": "^5.0.0",
|
2020-08-03 20:51:29 +02:00
|
|
|
"babel-plugin-rewire-ts": "^1.4.0",
|
2021-06-10 08:49:36 +02:00
|
|
|
"callsites": "^3.1.0",
|
2022-11-03 19:19:26 +01:00
|
|
|
"cldr-annotations-derived-modern": "^42.0.0",
|
|
|
|
"cldr-annotations-modern": "^42.0.0",
|
2022-10-07 00:46:39 +02:00
|
|
|
"css.escape": "^1.5.1",
|
2021-09-11 01:53:26 +02:00
|
|
|
"diff": "^5.0.0",
|
2019-08-31 03:17:31 +02:00
|
|
|
"difflib": "^0.2.4",
|
2021-03-18 01:32:29 +01:00
|
|
|
"enhanced-resolve": "^5.8.2",
|
2022-08-04 22:16:39 +02:00
|
|
|
"es-check": "^7.0.0",
|
2021-10-16 21:56:00 +02:00
|
|
|
"eslint": "^8.0.1",
|
2021-03-03 20:08:48 +01:00
|
|
|
"eslint-config-prettier": "^8.0.0",
|
2020-10-24 10:02:35 +02:00
|
|
|
"eslint-import-resolver-webpack": "^0.13.0",
|
2022-07-06 06:08:35 +02:00
|
|
|
"eslint-plugin-formatjs": "^4.0.2",
|
2020-09-01 23:03:34 +02:00
|
|
|
"eslint-plugin-import": "^2.22.0",
|
2022-01-25 11:39:43 +01:00
|
|
|
"eslint-plugin-no-jquery": "^2.7.0",
|
2023-03-20 19:52:55 +01:00
|
|
|
"eslint-plugin-unicorn": "^46.0.0",
|
2023-02-09 01:11:31 +01:00
|
|
|
"jsdom": "^21.1.0",
|
2023-03-06 05:43:24 +01:00
|
|
|
"minimist": "^1.2.6",
|
2020-09-29 22:20:46 +02:00
|
|
|
"mockdate": "^3.0.2",
|
2020-02-05 05:46:43 +01:00
|
|
|
"nyc": "^15.0.0",
|
2020-09-01 23:03:34 +02:00
|
|
|
"openapi-examples-validator": "^4.0.0",
|
2022-07-06 06:08:35 +02:00
|
|
|
"openapi-types": "^12.0.0",
|
2023-03-20 19:52:55 +01:00
|
|
|
"prettier": "^2.8.4",
|
2023-04-04 09:13:41 +02:00
|
|
|
"puppeteer": "^19.8.3",
|
2023-03-20 19:52:59 +01:00
|
|
|
"source-map": "npm:source-map-js@1.0.1",
|
2023-03-20 19:52:55 +01:00
|
|
|
"stylelint": "^15.2.0",
|
2023-04-04 09:13:41 +02:00
|
|
|
"stylelint-config-standard": "^32.0.0",
|
2022-11-03 19:19:26 +01:00
|
|
|
"svgo": "^3.0.0",
|
2020-07-18 03:14:20 +02:00
|
|
|
"swagger-parser": "^10.0.0",
|
2021-06-08 04:20:35 +02:00
|
|
|
"ts-node": "^10.0.0",
|
2023-03-20 19:52:55 +01:00
|
|
|
"typescript": "^5.0.2",
|
2022-10-07 00:56:00 +02:00
|
|
|
"vnu-jar": "^22.9.29",
|
2021-09-10 21:28:29 +02:00
|
|
|
"webpack-dev-server": "^4.2.0",
|
2021-06-10 07:08:48 +02:00
|
|
|
"xvfb": "^0.4.0",
|
2021-09-09 00:05:16 +02:00
|
|
|
"yaml": "^2.0.0-8",
|
2021-09-11 01:53:26 +02:00
|
|
|
"yargs": "^17.1.1",
|
2020-05-13 23:10:12 +02:00
|
|
|
"zulip-js": "^2.0.8"
|
2016-11-04 23:15:18 +01:00
|
|
|
},
|
2023-03-20 19:52:59 +01:00
|
|
|
"pnpm": {
|
|
|
|
"overrides": {
|
|
|
|
"source-map@^0.6": "npm:source-map-js@1.0.1"
|
|
|
|
}
|
2023-02-22 23:04:10 +01:00
|
|
|
},
|
|
|
|
"nyc": {
|
|
|
|
"exclude": [
|
|
|
|
"**/node_modules/**"
|
|
|
|
]
|
2015-10-26 17:16:26 +01:00
|
|
|
}
|
|
|
|
}
|