-
-
Notifications
You must be signed in to change notification settings - Fork 375
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: webpack-v5 * test: Update tests * docs: Updating docs to reflect changes * chore: Removing optimize-plugin local patch
- Loading branch information
1 parent
706a100
commit 184bb5b
Showing
32 changed files
with
1,670 additions
and
2,367 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
'preact-cli': major | ||
--- | ||
|
||
- Upgrades to Webpack v5 | ||
- Any custom configuration you do in your `preact.config.js` may need to be altered to account for this. Plugins may need replacements or different option formats. | ||
|
||
- `--esm` flag has been removed | ||
- Dual output is now enabled by default in production builds. | ||
|
||
- `.babelrc` no longer overwrites matching keys | ||
- Instead, the config will be merged in to the default. The default still takes precedence when there are conflicts, so you will still need to use your `preact.config.js` if you want to edit or remove default plugins or presets. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
**/node_modules | ||
**/tests/output | ||
**/tests/subjects/*/preact.config.js | ||
**/*.d.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,28 @@ | ||
const webpack = require('webpack'); | ||
const { Compilation, sources } = require('webpack'); | ||
const createLoadManifest = require('./create-load-manifest'); | ||
|
||
module.exports = class PushManifestPlugin { | ||
constructor(isProd) { | ||
this.isProd = isProd; | ||
} | ||
apply(compiler) { | ||
compiler.hooks.emit.tap( | ||
{ | ||
name: 'PushManifestPlugin', | ||
stage: webpack.Compiler.PROCESS_ASSETS_STAGE_REPORT, | ||
}, | ||
compilation => { | ||
const manifest = createLoadManifest( | ||
compilation.assets, | ||
compilation.namedChunkGroups, | ||
this.isProd | ||
); | ||
compiler.hooks.thisCompilation.tap('PushManifestPlugin', compilation => { | ||
compilation.hooks.processAssets.tap( | ||
{ | ||
name: 'PushManifestPlugin', | ||
stage: Compilation.PROCESS_ASSETS_STAGE_REPORT, | ||
}, | ||
() => { | ||
const manifest = JSON.stringify( | ||
createLoadManifest(compilation.assets, compilation.namedChunkGroups, this.isProd) | ||
); | ||
|
||
let output = JSON.stringify(manifest); | ||
compilation.assets['push-manifest.json'] = { | ||
source() { | ||
return output; | ||
}, | ||
size() { | ||
return output.length; | ||
}, | ||
}; | ||
|
||
return compilation; | ||
|
||
// callback(); | ||
} | ||
); | ||
compilation.emitAsset( | ||
'push-manifest.json', | ||
new sources.RawSource(manifest) | ||
); | ||
} | ||
); | ||
}); | ||
} | ||
}; |
Oops, something went wrong.