Files
workbox/infra/testing/webpack-build-check.js
cb618332d2 Migrate workbox-build to TypeScript (#2867)
* WIP

* Finished getManifest

* GenerateSW migrated

* Getting there

* WIP

* Runtime caching TS

* More WIP

* More WIP

* Validation, type fixes

* Builds!

* No default exports

* null support in optional strings

* Accept string or buffer again

* Fix JSDocs

* CanIUse update

* test/additional-manifest-entries-transform

* lib/bundle

* cdnUtils test

* Switched to esModuleInterop

* Still WIP

* get-file-size migration

* get-string-details test migration

* A few more

* populateSWTemplate changes

* A few more

* validate options

* Update ts-auto-guard

* Fix dependency-check

* Swapped the exports

* JSON Schema + ajv

* TS 4.1.5

* Getting closer to validation

* Some default logic

* Switched default quotes

* Cleanup optional types

* Figuring out errors

* Refactor

* Update validate-options test

* Started integration test migration

* Remove joi schema

* Fixed some swDest logic

* Closer to webpack tests working

* Fix transformManifest usage

* Use a copy of the exclude array

* More include/exclude fun

* swDest default fix

* Function support?

* modifyURLPrefix workaround

* Fix an import

* Improve error messages

* Fix test string

* New validation unit test

* getManifest working

* Working through generateSW

* Function massaging

* Cleanup of exclude/include

* Fix a few more gSW tests

* RouteMatchCallback function

* Expiration w/cacheName check

* Optional globDirectory

* InjectManifest tests

* Test cleanup

* Fix a test

* Fix a config modification

* v5 injectmanifest test

* esModuleInterop support

* Fixes for proxied build

* Final tweaks

* Linting

* Automated linting fixes

* Tweak linting rules

* Update packages/workbox-build/src/lib/get-file-details.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update test/workbox-build/node/generate-sw.js

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/additional-manifest-entries-transform.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/additional-manifest-entries-transform.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/cdn-utils.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/get-file-manifest-entries.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/stringify-without-comments.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/validate-options.ts

Co-authored-by: Adriana Jara <[email protected]>

* Update packages/workbox-build/src/lib/additional-manifest-entries-transform.ts

Co-authored-by: Adriana Jara <[email protected]>

Co-authored-by: Adriana Jara <[email protected]>
2021-06-17 09:41:49 -04:00

32 lines
744 B
JavaScript

/*
Copyright 2019 Google LLC
Use of this source code is governed by an MIT-style
license that can be found in the LICENSE file or at
https://opensource.org/licenses/MIT.
*/
function joinMessages(errorsOrWarnings) {
if (errorsOrWarnings[0].message) {
return errorsOrWarnings.map((item) => item.message).join('\n');
} else {
return errorsOrWarnings.join('\n');
}
}
module.exports = (webpackError, stats) => {
if (webpackError) {
throw new Error(webpackError.message);
}
const statsJson = stats.toJson('verbose');
if (statsJson.errors.length > 0) {
throw new Error(joinMessages(statsJson.errors));
}
if (statsJson.warnings.length > 0) {
throw new Error(joinMessages(statsJson.warnings));
}
};