27 Коммитов

Автор SHA1 Сообщение Дата
Julien Tant
1b29abd857 Add typescript-eslint-language-service (#30015) 2025-02-04 15:29:29 -07:00
Harrison Healey
c519bee236 Fixathon: Web app dependency updates part 2 (Sass) (#29037)
* Update sass-loader@16.0.2

* Update sass part 1 (actually update it)

* Update scss files to remove at-charset and use at-use instead of at-import

at-charset hasn't been needed since we switched to dart-sass, and
at-import is now deprecated. Most of this was done using sass-migrator.

We still use at-import for files imported from node_modules, but sass
doesn't seem to complain about that

* Inline at-extend rule that was causing an error

* Remove or inline at-use rules in components package
2024-11-15 12:23:11 -05:00
Harrison Healey
4136343476 Fixathon: Web app dependency updates part 1 (#29036)
* Ensure all packages remove a node_modules in their folder when cleaning

* Upgrade typescript to 5.6.3 and move to root package.json

Note that this currently fails to build the types package due to
@types/node which I'm going to try to remove

* Update @types/node to 20.11 to match .nvmrc

* Upgrade zen-observable to 0.10.0

It looks like localforage-observable uses its own version
of zen-observable because it hasn't been updated in years.
This seems like something we probably should remove.

* Update yargs to 17.7.2

* Update webpack-dev-server to 5.1.0

* Remove webpack-bundle-analyzer since we haven't used it in years

* Update webpack to 5.95.0

* Update web-vitals to 4.2.4

* Update turndown to 7.2.0

* Update tinycolor2 to 1.6.0

* Update timezones.json to 1.7.0

* Update stylelint to 16.10.0, stylelint-config-recommended-scss to 14.1.0, and stylelint-scss to 6.8.1

* Update webpack-cli to 5.1.4

* Update style-loader to 4.0.0

* Change all Webpack scripts to be ES modules

* Update strip-ansi to 7.1.0

This is a build script dependency

* Update chalk to 5.3.0

This is a build script dependency

* Update concurrently to 9.0.1

This is a build script dependency

* Update smooth-scroll-into-view-if-needed to 2.0.2

* MM-48205 Update serialize-error to 11.0.3

We didn't update this before because it's an ES module which caused Jest to complain. We can fix that by making Jest transform the it

* Update semver to 7.6.3

* Update types for semver, tinycolor2, turndown, and webpack

* Fix type issues: change Props to a type

* Fix type issues: invalid HTML attributes

* Remove unneeded option from Webpack config
2024-11-06 13:40:19 -05:00
Pablo Vélez
87cc13c590 Fixathon ICU - remove npm vulnerabilities from production version (#28999)
* fix high vulnerability present in braces

* remove vulnerabilities from pdfjs-dis and update types for node and react

* adapt the pdf preview file to the lib new version

* lock the estree version to a compatible version

* use minified version of worker and adjust webpack to support extension for ESM module process

* get working the pdf preview

* adjust jest to use babel correctly

* override asn1.js lib to keep working version

* upgrade semver version to a secure version

* remove no longer needed changes

* fix linter issues

* fix merge conflicts

* sync package-lock

* fix conflicts

* adjust lock to npm ci
2024-11-05 13:41:29 +01:00
Harrison Healey
6af8c2f83e Fix multiple copies of utility classes being loaded by the app (#28802)
* Fix multiple copies of utility classes being loaded by the app

When using SASS's at-import rule for a file containing CSS classes, the
entirity of the imported file is included into that chunk of the JS
bundle. This leads to those class definitions being duplicated multiple
times in the code loaded by the browser. That doesn't happen for mixins,
functions, or SASS variables which are evaluated at compile time.

To prevent those classes from being repeatedly defined, we need to not
import them into multiple bundles. We already load the utility classes
into the root bundle, so we just need to make sure not to import
sass/utils/_module.scss, sass/utils/_flex.scss,
sass/utils/_animations.scss, or sass/utils/_modifiers.scss into any
CSS files which are imported into individual components.

* Canonize import paths for SCSS mixins and functions

We previously imported some .scss files as `src/sass/...` and others as
`sass/...`. This was allowed becuase sass-loader's
`sassOptions.includePaths` included both `src` and `src/sass`. I've made
that more consistent now and removed the redundant include path.
2024-10-18 10:50:26 -04:00
M-ZubairAhmed
5d7aa17a27 [MM-58726] Add a loading screen to initial load of the web app (#27740) 2024-08-26 12:41:59 +00:00
M-ZubairAhmed
7b2c314448 [MM-58463] Remove defer for main/entry JS scripts (#27272) 2024-06-05 03:06:54 +00:00
Harrison Healey
67f815e373 MM-57093 Update SCSS, Stylelint, and related packages (#26296)
* Update Stylelint and related packages

* Autofix CSS files

* Fix scss/no-global-function-names

* Fix scss/operator-no-unspaced

* Fix scss/comment-no-empty

* Disable scss/at-extend-no-missing-placeholder

* Update libraries for loading sass

* Fix Rollup not emitting the CSS for the components package to the right place

* Add plugin to re-add stylistic Stylelint rules

* Actually import Stylelint plugin
2024-03-13 17:00:57 -04:00
Nick Misasi
aafe7439af [CLD-6894] Add 60, 30, and 7 day reminder emails for Cloud Renewals (#25883)
* Add email notifications for Cloud Renewals

* Updates

* Updates

* Update app-layers

* make build-templates

* Add ability to set an env variable as a unix timestamp in s as the current date when getting DaysToExpiration

* Add a mechanism to ensure at least one admin receives every email

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Gabe Jackson <3694686+gabrieljackson@users.noreply.github.com>
2024-01-11 13:07:41 -05:00
Harrison Healey
ce3b54d23e Remove unused images and fonts from web app (#25047)
* Remove unused images from web app

* Remove unused fonts from web app
2023-11-02 16:19:37 -04:00
Harrison Healey
36a15fd22b Fix Webpack warnings (#25147)
* Remove invalid SCSS

* Silence module federation warning by not exposing prop-types
2023-10-30 09:54:33 -04:00
Jesús Espino
bb4aa764bc Migrating some files from javascript to typescript (#24663)
* Migrating some files to typescript

* Some other files migrated

* Migrating more javascript to typescript

* Migrating more javascript to typescript

* Fixing types

* Fixing linter errors

* Fixing some imports

* Fixing linter errors

* Renaming the snapshots

* Addressing PR review comments
2023-10-10 16:22:11 +02:00
M-ZubairAhmed
bc11b29807 Replace Gfycat with GIPHY in emoji/gif picker (#24236)
* Added the package

* design

* add styled-component alias

* add contrast ratio

* added the tab icon

* review comments

* rev comments

* key added

* key added

* trans

* Added giphy sdk test key for playwright tests config

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: maria.nunez <maria.nunez@mattermost.com>
2023-08-18 16:02:46 -04:00
Miguel de la Cruz
44a99d1736 Move playbooks to plugin (#23732)
* Remove build references

* Remove playbooks webapp and server, and add the prepackaged plugin

* Remove translations

* Add ProductSettings to the playwright type

* Restore playbooks as a prepackaged plugin for cypress e2e tests
2023-06-14 23:33:26 +02:00
ilies-bel
8e13e7fffe [MM-52821] Migrate components/app.jsx to Typescript (#23605)
Co-authored-by: Iliès BELDJILALI <ibeldjilali@takima.fr>
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-06-14 12:21:04 -04:00
Miguel de la Cruz
1215584665 Prevent boards product from being included automatically (#23539)
* Prevent boards product from being included automatically

* Fix config diff test

* Update prepackaged plugin version

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>

* Readd boards/dist to the gitignore

* Does not enable the focalboard plugin by default

* Update plugin version to v7.10.3

---------

Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
2023-06-12 18:51:43 +02:00
Harrison Healey
dfdc0e28d0 MM-52536 Webpack unification part 2 (#23557)
* Remove unused bundle-loader

* Remove broken webpack-live-reload-plugin

* Remove unused terser-webpack-plugin

* Remove unused dotenv-webpack

* Update and share type definition for Webpack global values

* Share eslint-import-resolver-webpack

* Remove unused pmmmwh/react-refresh-webpack-plugin

* Remove webpack-cli/serve since it's already part of webpack-cli

* Remove unused Webpack packages from Components

* Share and update style-loader

* Remove unused image-webpack-loader from Boards
2023-06-12 11:50:34 -04:00
Jesse Hallam
305fac6507 Service environment (#23443)
* fix fileutils.TestFindFile on MacOS

* introduce model.ExternalServiceEnvironment

* pick license public key from external service env

* pick Stripe public key from external service env

* pick Rudder key from external service env

* configure Sentry DSN from external service env

* always log external_service_environment, Unsetenv

* clear faked BuildEnv, improve logging

* strip out unset GOTAGS

* fix Sentry tests

* simplify to just ServiceEnvironment

* relocate ServiceEnvironment in client config

* initialize CWS URLs based on service environment

* unset rudder key for boards dev

* harden service environment to avoid accidental production

* fix TestSentry again

* fix DEFAULT -> ENTERPRISE

* s/dev/test when naming playbooks rudder key

* simplify boards rudder key switch

* use uniform rudderKey variable names

* retain compatibility with existing pipeline

* reduce to just production/test

* unit test with valid test license

* simplify Playbooks telemetry initialization

* restore dev service environment

* emit ServiceEnvironment when running e2e tests
2023-06-07 10:15:33 -03:00
Julien Tant
0468e772a9 [MM-52926] Deprecating work templates (#23466)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-06-05 18:42:03 -07:00
M-ZubairAhmed
20ec920b71 MM-52873 : Switch to npm's 'reselect' for Playbooks (#23396) 2023-05-30 13:20:28 +05:30
Harrison Healey
4cbf6e93d2 Remove Webpack dev servers for Boards/Playbooks (#23378)
* Add option to run web app build without dev servers

* Completely remove product dev servers

* Update unit test

* Fix another test
2023-05-15 16:18:10 -04:00
Harrison Healey
c35d738e04 MM-52536 Webpack unification part 1 (#23322)
* MM-52536 Update Webpack and use the same version for all products

* Switch Channels to use asset modules

* Remove unused module configuration from Boards/Playbooks

* Remove file-loader and html-loader

* Unify versions of CSS-related loaders

* Remove unused webpack-node-externals dependency

* Add missing MiniCssExtractPlugin to Boards/Playbooks production builds
2023-05-10 15:20:16 -04:00
Harrison Healey
532070fa6d MM-51963 Fix how Webpack embeds i18n files in JS bundle (#22860) 2023-04-06 09:59:12 -04:00
Nathaniel Allred
8f9cde83b0 MM-51763 Use STRIPE_PUBLIC_KEY from webpack (monorepo) (#22774)
* use webpack build time stripe public key
2023-04-03 12:12:27 -05:00
Kazuki Maeda
9570972571 [MM-46941] Fix: PDF preview doesn't render some Japanese characters (#22599)
Co-authored-by: Mattermost Build <build@mattermost.com>
2023-03-31 11:48:32 -04:00
Jesse Hallam
64051134b8 Remove Webapp Build Hash (#22706)
* Remove Webapp Build Hash

A discrete webapp build hash is no longer needed with the mono-repo.

* i18n-extract
2023-03-30 11:02:26 -03:00
Doug Lauder
c943ed6859 Mono repo -> Master (#22553)
Combines the following repositories into one:

https://github.com/mattermost/mattermost-server
https://github.com/mattermost/mattermost-webapp
https://github.com/mattermost/focalboard
https://github.com/mattermost/mattermost-plugin-playbooks
2023-03-22 17:22:27 -04:00