Commit Graph

58 Commits

Author SHA1 Message Date
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
Toby Zerner
50dc913c58 0.1.0-beta.8 2018-06-16 22:55:03 +09:30
Toby Zerner
85de35cc47 Make webpack a peer dependency, commit lock 2018-06-16 22:54:43 +09:30
Toby Zerner
010ec1de63 Remove empty line 2018-06-16 22:39:41 +09:30
Toby Zerner
128780d961 Fix compat reference 2018-06-16 22:39:31 +09:30
Toby Zerner
2c90164a35 Add useExtensions option 2018-06-16 14:34:38 +09:30
Toby Zerner
7975757829 Update README formatting 2018-06-16 14:34:12 +09:30
Toby Zerner
fca781f98a Update flarum core global reference 2018-06-16 13:53:47 +09:30
Toby Zerner
2960d25c82 Export into module.exports for Flarum to pick up 2018-06-16 13:52:53 +09:30
Toby Zerner
4f2ca74063 Change output location 2018-06-16 13:52:07 +09:30
Toby Zerner
f106732a2e Remove support for non-relative-path modules within a package 2018-06-16 13:51:04 +09:30
Toby Zerner
3c98e8e863 Relocate source files to package root 2018-06-16 13:49:34 +09:30
Toby Zerner
14825b58a7 Optimize babel config to reduce output filesize 2018-06-16 13:48:04 +09:30