UNPKG

4 kBJavaScriptView Raw
1'use strict';
2
3var _regenerator = require('babel-runtime/regenerator');
4
5var _regenerator2 = _interopRequireDefault(_regenerator);
6
7var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
8
9var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13/*
14 Copyright 2017 Google Inc.
15
16 Licensed under the Apache License, Version 2.0 (the "License");
17 you may not use this file except in compliance with the License.
18 You may obtain a copy of the License at
19
20 https://www.apache.org/licenses/LICENSE-2.0
21
22 Unless required by applicable law or agreed to in writing, software
23 distributed under the License is distributed on an "AS IS" BASIS,
24 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 See the License for the specific language governing permissions and
26 limitations under the License.
27*/
28
29var fse = require('fs-extra');
30var path = require('path');
31
32var errors = require('./errors');
33var populateSWTemplate = require('./populate-sw-template');
34
35module.exports = function () {
36 var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref) {
37 var cacheId = _ref.cacheId,
38 clientsClaim = _ref.clientsClaim,
39 directoryIndex = _ref.directoryIndex,
40 handleFetch = _ref.handleFetch,
41 ignoreUrlParametersMatching = _ref.ignoreUrlParametersMatching,
42 importScripts = _ref.importScripts,
43 manifestEntries = _ref.manifestEntries,
44 modulePathPrefix = _ref.modulePathPrefix,
45 navigateFallback = _ref.navigateFallback,
46 navigateFallbackBlacklist = _ref.navigateFallbackBlacklist,
47 navigateFallbackWhitelist = _ref.navigateFallbackWhitelist,
48 offlineGoogleAnalytics = _ref.offlineGoogleAnalytics,
49 runtimeCaching = _ref.runtimeCaching,
50 skipWaiting = _ref.skipWaiting,
51 swDest = _ref.swDest,
52 workboxSWImport = _ref.workboxSWImport;
53 var populatedTemplate;
54 return _regenerator2.default.wrap(function _callee$(_context) {
55 while (1) {
56 switch (_context.prev = _context.next) {
57 case 0:
58 _context.prev = 0;
59 _context.next = 3;
60 return fse.mkdirp(path.dirname(swDest));
61
62 case 3:
63 _context.next = 8;
64 break;
65
66 case 5:
67 _context.prev = 5;
68 _context.t0 = _context['catch'](0);
69 throw new Error(`${errors['unable-to-make-sw-directory']}. ` + `'${_context.t0.message}'`);
70
71 case 8:
72 populatedTemplate = populateSWTemplate({
73 cacheId,
74 clientsClaim,
75 directoryIndex,
76 handleFetch,
77 ignoreUrlParametersMatching,
78 importScripts,
79 manifestEntries,
80 modulePathPrefix,
81 navigateFallback,
82 navigateFallbackBlacklist,
83 navigateFallbackWhitelist,
84 offlineGoogleAnalytics,
85 runtimeCaching,
86 skipWaiting,
87 workboxSWImport
88 });
89 _context.prev = 9;
90 _context.next = 12;
91 return fse.writeFile(swDest, populatedTemplate);
92
93 case 12:
94 _context.next = 19;
95 break;
96
97 case 14:
98 _context.prev = 14;
99 _context.t1 = _context['catch'](9);
100
101 if (!(_context.t1.code === 'EISDIR')) {
102 _context.next = 18;
103 break;
104 }
105
106 throw new Error(errors['sw-write-failure-directory']);
107
108 case 18:
109 throw new Error(`${errors['sw-write-failure']}. '${_context.t1.message}'`);
110
111 case 19:
112 case 'end':
113 return _context.stop();
114 }
115 }
116 }, _callee, undefined, [[0, 5], [9, 14]]);
117 }));
118
119 return function (_x) {
120 return _ref2.apply(this, arguments);
121 };
122}();
\No newline at end of file