Commit Graph

70 Commits

Author SHA1 Message Date
Sami Mazouz
257be2b9db
test: add frontend tests (#3991) 2024-09-28 15:47:45 +01:00
c0d3d976fa
fix: new webpack config doesn't work on windows (#4030) 2024-09-28 14:04:50 +01:00
Sami Mazouz
b74ecbfacf
feat: messages extension (#4028)
* feat: private messages
2024-09-28 11:12:52 +01:00
Sami Mazouz
7ecc8b0cba
fix 2024-09-19 17:34:05 +01:00
Sami Mazouz
06eb613c9b
chore: remove leftover debugging code 2024-09-11 12:18:35 +01:00
Sami Mazouz
b9037df05c
fix: code splitting on dev mode 2024-09-11 11:30:10 +01:00
Sami Mazouz
270ba09d08
chore: yarn format 2024-09-11 09:38:53 +01:00
Sami Mazouz
75399117e3
fix: code splitting bug 2024-09-10 18:11:35 +01:00
Sami Mazouz
770f9370af
fix: 2.0 bugs (#4011) 2024-08-02 12:49:34 +01:00
Sami Mazouz
3a34136e36
feat: search UI/UX revamp (#3941)
* feat: first iteration

* chore: tweak

* feat: second iteration

* chore: incorrect code organization

* feat: gambit input suggestions

* feat: gambit keyboard navigation

* chore: bugs

* feat: negative gambits

* feat: improve gambit highlighting

* refactor: localize gambits

* feat: negative and positive gambit buttons

* fix: permissions

* chore: wat

* per: lazy load search modal

* fix: extensibility and bug fixes

* fix: bugs

* feat: reusable autocomplete dropdown

* chore: format

* fix: tag filter
2024-01-09 21:51:01 +00:00
Sami Mazouz
577fc3e6a8
fix(webpack-config): split chunks can fail in dev mode (#3911) 2023-10-27 15:27:11 +01:00
Sami Mazouz
5ab5257ff5
feat: theming and extensibility improvements (#3876)
* feat: make page structure customizable across different pages (#3867)

* feat: create `PageStructure` component
* feat: apply to `DiscussionPage`
* feat: apply to `UserPage`
* feat: apply to `TagsPage`
* fix: adapt subscriptions ext
* chore: cleanup

* chore: use grid & flexbox for the discussion list item (#3868)

* chore: rename `DiscussionPage-list` to `DiscussionListPane`
* chore: itemlistify `DiscussionListItem`
* chore: use flex and grid for `DiscussionListItem`

* chore: use flexbox for `App-header` (#3869)

* chore: use flex and grid for `App-header`
* chore: drop search floats
* fix: adapt admin styles

* chore: use flexbox in dropdowns and SplitDropdown for subscriptions (#3874)

* chore: flexbox dropdown menu items
* chore: normalize subscriptions menu (use slit dropdown)
* chore: cleanup

* chore: misc flexbox/grid changes (#3875)

* chore: `TagsPage` to tsx
* chore: `TagsPage` flexbox/grid
* chore: `IndexPage-toolbar` flexbox
* chore: `UserCard` flexbox & itemlists
* fix: `Post` improve spacing logic
* chore: `Post` grid and proper spacing
* fix: avatar editor hover layer layout
* chore: `Button` flex

* chore: normalize form semantics (#3877)

* chore: normalize fieldsets
* fix: `LinkButton` spacing
* chore: consistent form semantics

* fix: styling regressions (#3878)

* fix: post spacing goes off in other pages
* fix: regression

* feat: extract reusable components from `NotificationsDropdown` (#3879)

* feat: extensible global notices (#3880)

* fix: js error on null item list
* feat: extensible global notices

* chore: housekeeping (#3881)

* chore: use CSS variables where still not using
* chore: cleanup suspension modal
* chore: cleanup post flag
* fix: badge vertical align
* chore: use CSS variables for custom coloring
* chore: `icon` helper to `Icon` component
* chore: `avatar` helper to `Avatar` component
* fix: chunk loading fails on admin frontend
* chore: format

* feat: reusable `UploadImageButton` component (#3882)

* chore: convert `UploadImageButton` to tsx
* feat: reusable `UploadImageButton` component
* feat: add `image-upload` setting type

* feat: extensible default footer component (#3883)

* chore: yarn format
2023-10-10 21:36:08 +01:00
Sami Mazouz
229a7affa5
feat: Code Splitting (#3860)
* feat: configure webpack to allow splitting chunks
* feat: `JsDirectoryCompiler` and expose js assets URL
* chore: support es2020 dynamic importing
* feat: control which URL to fetch chunks from
* feat: allow showing async modals & split 'LogInModal'
* feat: split `SignUpModal`
* feat: allow rendering async pages & split `UserSecurityPage`
* fix: module might not be listed in chunk
* feat: lazy load user pages
* feat: track the chunk containing each module
* chore: lightly warn
* chore: split `Composer`
* feat: add common frontend (for split common chunks)
* fix: jsDoc typing imports should be ignored
* feat: split `PostStream` `ForgotPasswordModal` and `EditUserModal`
* fix: multiple inline async imports not picked up
* chore: new `common` frontend assets only needs a jsdir compiler
* feat: add revision hash to chunk import URL
* fix: nothing to split for `admin` frontend yet
* chore: cleanup registry API
* chore: throw an error in debug mode if attempting to import a non-loaded module
* feat: defer `extend` & `override` until after module registration
* fix: plugin not picking up on all module sources
* fix: must override default chunk loader function from webpack plugin
* feat: split tags `TagDiscussionModal` and `TagSelectionModal`
* fix: wrong export name
* feat: import chunked modules from external packages
* feat: extensions compatibility
* feat: Router frontend extender async component
* chore: clean JS output path (removes stale chunks)
* fix: common chunks also need flushing
* chore: flush backend stale chunks
* Apply fixes from StyleCI
* feat: loading alert when async page component is loading
* chore: `yarn format`
* chore: typings
* chore: remove exception
* Apply fixes from StyleCI
* chore(infra): bundlewatch
* chore(infra): bundlewatch split chunks
* feat: split text editor
* chore: tag typings
* chore: bundlewatch
* fix: windows paths
* fix: wrong planned ext import format
2023-08-02 17:57:57 +01:00
David Sevilla Martin
c80220ad9b
fix(regression): Webpack not working on Windows with new export registry 2023-07-27 11:22:14 +01:00
Sami Mazouz
016503d8c3
feat: export registry (#3842)
* feat: registry first iteration

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>

* feat: improve webpack auto export loader

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>

* chore: remove `compat` API

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>

* chore: cleanup

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>

---------

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-06-29 18:57:53 +01:00
Sami Mazouz
fad818d1e5
chore: add script placeholders to allow running scripts globally
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-06-07 11:19:59 +01:00
David Wheatley
12ef1bfdbb
perf: transpile js to es6 (#3699) 2023-06-07 11:09:34 +01:00
Sami Mazouz
e5abffc75b
chore: v1.8 preparations
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-05-20 16:08:42 +01:00
dependabot[bot]
13e655aca5
chore(deps): bump webpack from 5.75.0 to 5.76.0 (#3761)
Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 07:45:00 +01:00
Sami Mazouz
b66fe5dd5f
chore(release): preparations
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-03-09 19:00:32 +01:00
Sami Mazouz
e7fc29a59f
feat(jest): create jest config package for unit testing (#3678)
* feat(jest): create jest config package for unit testing
* chore: housekeeping
* fix: now we need to explicitly allow importing without extension
* fix: recover EditorDriverInterface import
* Apply suggestions from code review
* chore: yarn

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-02-08 22:02:40 +01:00
Sami Mazouz
27fb011bf5
chore: with yarn workspaces we only need a single yarn.lock (#3464)
* chore: yarn workspaces means we only need a single `yarn.lock`
* fix: add a `cache_dependency_path` workflow input
* fix: re-introduce `env.cache_dependency_path`
2022-06-19 19:01:21 +01:00
Alexander Skvortsov
a595665bfb
fix: Assorted Typing Fixes (#3348)
With all the commits below, we resolve all outstanding typing issues in the repo, and CI jobs run green.

* fix: Convert DashboardPage and DashboardWidget to TypeScript

* fix: fix type errors in package manager ext

* fix: Convert Post component to TypeScript

* fix: avatar typings should accept null user

* fix: convert Notification component to TypeScript

* fix: properly use `typeof` in ForumApplication

* feat: make Notification content attr generic

* chore: format Notification component

* fix: Convert DiscussionRenamedNotification to TypeScript

* fix(pusher) move shims to a location where they get applied

* fix(pusher): fix some typing errors

* fix(akismet): fix some typing issues

* chore: update core dist typings

* chore(pusher): format

* fix: anchorScroll should accept string selectors

* fix: more accurately represent ApiQueryParamsPlural

* fix: convert PostStreamState to TypeScript

* chore(core): rebuild typings

* feat: allow extending app.routes

* fix: more flexible typings for highlight.ts

* fix: use primitive `number` type for Discussion typings

* fix: convert DiscussionListItem to TypeScript

* chore: rebuild core typings

* fix: final pusher type fixes

* feat: start tags TypeScript conversion

* fix: require-dev tags in pusher for CI TypeScript purposes.

* chore(core): format

* chore(tags): build dist typings

* feat(pusher): use dist types from tags.

* feat: convert flags to TypeScript

* chore(flags): generate dist typings

* fix(akismet): last type errors

* chore: update .yarn-integrity

* chore: partially run flarum-cli audit infra --fix

The tsconfig changes from that command are ignored, since we don't yet support "replacable sections" that would let us add custom config.

* chore: use type imports

* fix: broader gitattributes

* chore: run flarum-cli audit infra --monorepo --fix

* feat: make `app.data` typings extensible

* chore(core): format

* chore: boost tags TypeScript coverage

* fix(tags): further increase type coverage.
2022-03-23 11:43:14 -04:00
David Wheatley
08c2e9f198 feat: add support for Plug'n'Play package managers (#14)
* chore: use yarn berry with pnp

* feat: add plug'n'play support

* chore: add yarn gitattributes

* typo: fix comment
2021-11-08 23:53:18 +00:00
Alexander Skvortsov
077bddd8dd Release v2.0.0 2021-10-31 14:04:45 -04:00
Alexander Skvortsov
4822eeaab9 Release v2.0.0-beta.2 2021-10-27 17:11:17 -04:00
Alexander Skvortsov
7de88fb499 Update externals function syntax 2021-10-27 17:10:47 -04:00
Alexander Skvortsov
60e8dfb236 Release v2.0.0-beta.1 2021-10-27 17:06:53 -04:00
Alexander Skvortsov
f2b7b3b873 Bump webpack dependency to v5 2021-10-27 17:06:22 -04:00
David Wheatley
e1e265fa29 Bump version to 1.0.0 2021-05-27 10:43:21 +01:00
David Wheatley
a8e6dd8fff Update dependencies to new versions 2021-05-27 10:41:21 +01:00
David Wheatley
819e2e1d33 Change first line to be a heading 2021-05-20 22:09:15 +01:00
David Wheatley
4c9d8389a6 Update copyright year 2021-05-15 00:54:10 +01:00
Alexander Skvortsov
3022586237 Bump version to 0.1.0-beta.16.2 2021-05-12 19:06:11 -04:00
David Wheatley
abea6716eb Add Webpack Bundle Analyzer to webpack config (#12) 2021-05-12 19:05:27 -04:00
David Wheatley
30a95910bb Remove unused dependency 2021-05-12 22:00:34 +01:00
Alexander Skvortsov
39aeba8200 Publish v0.1.0-beta.16.1 2021-05-11 20:35:56 -04:00
David Wheatley
4bdb02a878 Move Typescript configuration to webpack config from core (#11) 2021-05-11 20:28:31 -04:00
David Wheatley
3610f08d6b Support Mithril fragments with <></> syntax (#10)
* Support Mithril fragments with `<></>` syntax

* Use '[' for pragmaFrag
2021-05-10 12:23:08 +01:00
David Wheatley
8c2642b2f2 Fix Flarum on iOS 10 and below (#9)
* Ignore .vscode folder

* Add Prettier config

* Change author to 'Flarum Team'

* Bump deps to latest version

* Format with prettier; add `loose` where needed

* Don't exclude node modules from Babel processing
2021-05-04 00:39:10 +01:00
dependabot[bot]
a6cc7d3742 Bump lodash from 4.17.15 to 4.17.19 (#5)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-17 10:48:31 +02:00
Franz Liedke
dfbff262f2 npm audit fix 2020-04-24 14:33:48 +02:00
Franz Liedke
c52dad116c Update copyright claims in LICENSE 2019-11-30 00:34:03 +01:00
Franz Liedke
d07a35982c Update vulnerable JS dependencies 2019-09-17 23:19:22 +02:00
Toby Zerner
df946e5cf8 0.1.0-beta.10 2018-11-17 16:23:56 +10:30
Toby Zerner
fe51b5faf2 Add Object.assign polyfill for IE11 support, update dependencies 2018-11-17 16:23:34 +10:30
Toby Zerner
75fa22e80f Remove prefix from example 2018-10-21 15:23:55 +10:30
Toby Zerner
fec32848a4 0.1.0-beta.9 2018-08-25 20:15:13 +09:30
Toby Zerner
79a56cfea1 Update dependencies 2018-08-25 20:14:56 +09:30
Toby Zerner
bb780f9b09 Add devtoolNamespace to fix sourcemap conflicts 2018-08-25 19:42:08 +09:30