mergify[bot]
a8fa47ebef
build: reliable asset building in production (backport #18133 ) ( #18136 )
* build: move all devDependencies to Dependencies
These are real dependencies without which you can't locally build apps.
(cherry picked from commit 06aaaaaedf
)
* fix: fail code when build fails in production
In production it is useful to fail with proper exit code. To avoid
silently pushing bad assets in built pipelines.
(cherry picked from commit 1ba99396bc
)
Co-authored-by: Ankush Menat <ankush@frappe.io>
vor 2 Jahren
Ankush Menat
5d6b24f0b1
style: format JS files with prettier
(cherry picked from commit 40f27f908a
)
vor 2 Jahren
Faris Ansari
93169e054d
chore: set esbuild output target to es2017
vor 3 Jahren
Rushabh Mehta
0b8a2edee7
fix(build): separate assets.json and assets-rtl.json to fix concurrency issue
vor 3 Jahren
Suraj Shetty
24f3123552
build: Use @frappe/esbuild-plugin-postcss2 to auto-trigger rebuild on scss file changes
vor 3 Jahren
Pruthvi Patel
30452c8b9c
style: use `const` instead of `let`
vor 3 Jahren
Pruthvi Patel
c648346742
refactor: a better way to cleanup older assets when newer ones are built
vor 3 Jahren
Sagar Vora
28fce91673
fix: consistent description for Live Reload ( #14554 )
vor 3 Jahren
Pruthvi Patel
3cec476cbc
fix: add whitespace
vor 3 Jahren
Pruthvi Patel
d99403393a
fix: rename `auto-reload` to `live-reload`
vor 3 Jahren
Ankush Menat
e6bbc698d0
ci: fail CI if asset bundling fails ( #14364 )
* ci: fail CI if asset bundling fails
* chore: formatting
Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com>
vor 3 Jahren
Sagar Vora
01d69b67c7
feat: automatically reload web pages whenever JS/CSS assets are rebuilt
vor 3 Jahren
Faris Ansari
f58254db78
fix: poor man's hot reload
vor 3 Jahren
Suraj Shetty
70e4b8a459
fix: Use different key for RTL assets
vor 3 Jahren
Suraj Shetty
6df9fd2bf8
fix: Build asset file from results sequentially
vor 3 Jahren
Suraj Shetty
4ddf8c18d8
feat: Execute separate build command for style files
- Execute style build twice (one for LTR and one for RTL) because rtlcss is dependant on comments and esbuild strips all comments so we cannot run rtlcss on built css files.
vor 3 Jahren
Suraj Shetty
40dd522796
feat: Auto generate RTL styles using rtlcss
https://github.com/MohammadYounes/rtlcss
vor 4 Jahren
Faris Ansari
d20cf5c02f
fix: Check if folder exists before cleaning
If folder doesn't exist, an exception is thrown in node 16
vor 4 Jahren
Faris Ansari
23406d031a
fix: Store assets.json directly in assets folder
assets.json stores assets of all apps, so doesn't make sense to put it in frappe folder
vor 4 Jahren
Faris Ansari
807070282c
fix: Abort redis retries only for esbuild
vor 4 Jahren
Faris Ansari
e711ada61c
fix: build should work even when redis is down
vor 4 Jahren
Faris Ansari
4b39f7f699
fix: Print rebuilt files in watch mode
vor 4 Jahren
Faris Ansari
41d9bc64e1
fix: Run build command only in bench build
vor 4 Jahren
Faris Ansari
555ba2818e
style: sider fixes
vor 4 Jahren
Faris Ansari
fa236fd9c5
style: sider issues
vor 4 Jahren
Faris Ansari
4ea74b24cf
fix: Run build command for apps
vor 4 Jahren
Faris Ansari
f0f43e01c0
fix: Ability to build only specified files
Command:
node esbuild --files frappe/desk.bundle.js
Update only changed keys in assets.json instead of overwriting
vor 4 Jahren
Faris Ansari
9f4edaedbb
fix: bench build command
- Add --apps option
- Add --production option
- Add --apps option for bench watch command
- Add --skip_frappe in esbuild
vor 4 Jahren
Faris Ansari
b175490849
fix: Update assets_json instead of overwriting
When you run build for specific apps, it should remove the entries of other apps
vor 4 Jahren
Faris Ansari
ad116c385a
fix: Exit redis after setting value so that process can exit
vor 4 Jahren
Faris Ansari
b22a4ddb08
fix: Rename esbuild/index -> esbuild
vor 4 Jahren
Faris Ansari
adc236e35d
feat: Notify build events to browser
- Update assets_json directly from node
- Show error overlay or success message
- Open file in editor from error overlay
vor 4 Jahren
Faris Ansari
86c0f7f9d6
fix: Use yargs for cli argument parsing
vor 4 Jahren
Faris Ansari
dd69f1ab43
fix: Hash based file naming
- For better HTTP caching and cache busting
- assets.json is created under [app]/dist folder which contains the map
of input file and output file name, this is used to get the correct path for
bundled assets
vor 4 Jahren
Faris Ansari
62bd7858d7
fix: Rename html plugin
vor 4 Jahren
Faris Ansari
09f5e904a9
fix: Pretty CLI Output
vor 4 Jahren
Faris Ansari
d81340e04b
fix: Build files with a single esbuild call
vor 4 Jahren
Faris Ansari
0076e99ae1
fix: more features
- basic watch mode
- Node paths include all app node_modules and app folders
- rename output directory to "dist"
- output files in flat directories: dist/js and dist/css
vor 4 Jahren
Faris Ansari
4172e1ff97
fix: Compile ts, css, scss, sass, less, styl files
- add support for multiple file types
vor 4 Jahren
Faris Ansari
a0a8f5cb42
fix: Build for all apps
vor 4 Jahren
Faris Ansari
226ad1d91a
feat: New Build System based on esbuild
- Deprecate use of build.json
- *.bundle.js files placed anywhere in the public folder are bundled
- Built files are created in public/build folder which is gitignored
WIP
vor 4 Jahren