Initial commit
This commit is contained in:
145
.gitignore
vendored
145
.gitignore
vendored
@@ -1,146 +1,3 @@
|
||||
Skip to content
|
||||
Search or jump to…
|
||||
Pull requests
|
||||
Issues
|
||||
Marketplace
|
||||
Explore
|
||||
|
||||
@ianhitchman
|
||||
ianhitchman
|
||||
/
|
||||
boilerplate
|
||||
Public
|
||||
Code
|
||||
Issues
|
||||
Pull requests
|
||||
Actions
|
||||
Projects
|
||||
Wiki
|
||||
Security
|
||||
Insights
|
||||
Settings
|
||||
boilerplate/.gitignore
|
||||
@ianhitchman
|
||||
ianhitchman Initial commit
|
||||
Latest commit c14036b 3 minutes ago
|
||||
History
|
||||
1 contributor
|
||||
104 lines (76 sloc) 1.57 KB
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
.env.test
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and *not* Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
© 2022 GitHub, Inc.
|
||||
Terms
|
||||
Privacy
|
||||
Security
|
||||
Status
|
||||
Docs
|
||||
Contact GitHub
|
||||
Pricing
|
||||
API
|
||||
Training
|
||||
Blog
|
||||
About
|
||||
Loading complete
|
||||
.parcel-cache
|
||||
993
dist/index.18dbc454.js
vendored
Normal file
993
dist/index.18dbc454.js
vendored
Normal file
@@ -0,0 +1,993 @@
|
||||
// modules are defined as an array
|
||||
// [ module function, map of requires ]
|
||||
//
|
||||
// map of requires is short require name -> numeric require
|
||||
//
|
||||
// anything defined in a previous bundle is accessed via the
|
||||
// orig method which is the require for previous bundles
|
||||
|
||||
(function (modules, entry, mainEntry, parcelRequireName, globalName) {
|
||||
/* eslint-disable no-undef */
|
||||
var globalObject =
|
||||
typeof globalThis !== 'undefined'
|
||||
? globalThis
|
||||
: typeof self !== 'undefined'
|
||||
? self
|
||||
: typeof window !== 'undefined'
|
||||
? window
|
||||
: typeof global !== 'undefined'
|
||||
? global
|
||||
: {};
|
||||
/* eslint-enable no-undef */
|
||||
|
||||
// Save the require from previous bundle to this closure if any
|
||||
var previousRequire =
|
||||
typeof globalObject[parcelRequireName] === 'function' &&
|
||||
globalObject[parcelRequireName];
|
||||
|
||||
var cache = previousRequire.cache || {};
|
||||
// Do not use `require` to prevent Webpack from trying to bundle this call
|
||||
var nodeRequire =
|
||||
typeof module !== 'undefined' &&
|
||||
typeof module.require === 'function' &&
|
||||
module.require.bind(module);
|
||||
|
||||
function newRequire(name, jumped) {
|
||||
if (!cache[name]) {
|
||||
if (!modules[name]) {
|
||||
// if we cannot find the module within our internal map or
|
||||
// cache jump to the current global require ie. the last bundle
|
||||
// that was added to the page.
|
||||
var currentRequire =
|
||||
typeof globalObject[parcelRequireName] === 'function' &&
|
||||
globalObject[parcelRequireName];
|
||||
if (!jumped && currentRequire) {
|
||||
return currentRequire(name, true);
|
||||
}
|
||||
|
||||
// If there are other bundles on this page the require from the
|
||||
// previous one is saved to 'previousRequire'. Repeat this as
|
||||
// many times as there are bundles until the module is found or
|
||||
// we exhaust the require chain.
|
||||
if (previousRequire) {
|
||||
return previousRequire(name, true);
|
||||
}
|
||||
|
||||
// Try the node require function if it exists.
|
||||
if (nodeRequire && typeof name === 'string') {
|
||||
return nodeRequire(name);
|
||||
}
|
||||
|
||||
var err = new Error("Cannot find module '" + name + "'");
|
||||
err.code = 'MODULE_NOT_FOUND';
|
||||
throw err;
|
||||
}
|
||||
|
||||
localRequire.resolve = resolve;
|
||||
localRequire.cache = {};
|
||||
|
||||
var module = (cache[name] = new newRequire.Module(name));
|
||||
|
||||
modules[name][0].call(
|
||||
module.exports,
|
||||
localRequire,
|
||||
module,
|
||||
module.exports,
|
||||
this
|
||||
);
|
||||
}
|
||||
|
||||
return cache[name].exports;
|
||||
|
||||
function localRequire(x) {
|
||||
var res = localRequire.resolve(x);
|
||||
return res === false ? {} : newRequire(res);
|
||||
}
|
||||
|
||||
function resolve(x) {
|
||||
var id = modules[name][1][x];
|
||||
return id != null ? id : x;
|
||||
}
|
||||
}
|
||||
|
||||
function Module(moduleName) {
|
||||
this.id = moduleName;
|
||||
this.bundle = newRequire;
|
||||
this.exports = {};
|
||||
}
|
||||
|
||||
newRequire.isParcelRequire = true;
|
||||
newRequire.Module = Module;
|
||||
newRequire.modules = modules;
|
||||
newRequire.cache = cache;
|
||||
newRequire.parent = previousRequire;
|
||||
newRequire.register = function (id, exports) {
|
||||
modules[id] = [
|
||||
function (require, module) {
|
||||
module.exports = exports;
|
||||
},
|
||||
{},
|
||||
];
|
||||
};
|
||||
|
||||
Object.defineProperty(newRequire, 'root', {
|
||||
get: function () {
|
||||
return globalObject[parcelRequireName];
|
||||
},
|
||||
});
|
||||
|
||||
globalObject[parcelRequireName] = newRequire;
|
||||
|
||||
for (var i = 0; i < entry.length; i++) {
|
||||
newRequire(entry[i]);
|
||||
}
|
||||
|
||||
if (mainEntry) {
|
||||
// Expose entry point to Node, AMD or browser globals
|
||||
// Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
|
||||
var mainExports = newRequire(mainEntry);
|
||||
|
||||
// CommonJS
|
||||
if (typeof exports === 'object' && typeof module !== 'undefined') {
|
||||
module.exports = mainExports;
|
||||
|
||||
// RequireJS
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
define(function () {
|
||||
return mainExports;
|
||||
});
|
||||
|
||||
// <script>
|
||||
} else if (globalName) {
|
||||
this[globalName] = mainExports;
|
||||
}
|
||||
}
|
||||
})({"kn9T2":[function(require,module,exports) {
|
||||
var Refresh = require('react-refresh/runtime');
|
||||
Refresh.injectIntoGlobalHook(window);
|
||||
window.$RefreshReg$ = function() {};
|
||||
window.$RefreshSig$ = function() {
|
||||
return function(type) {
|
||||
return type;
|
||||
};
|
||||
};
|
||||
|
||||
},{"react-refresh/runtime":"786KC"}],"786KC":[function(require,module,exports) {
|
||||
'use strict';
|
||||
module.exports = require('./cjs/react-refresh-runtime.development.js');
|
||||
|
||||
},{"./cjs/react-refresh-runtime.development.js":"hdge7"}],"hdge7":[function(require,module,exports) {
|
||||
/** @license React v0.9.0
|
||||
* react-refresh-runtime.development.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/ 'use strict';
|
||||
(function() {
|
||||
// ATTENTION
|
||||
// When adding new symbols to this file,
|
||||
// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
|
||||
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
||||
// nor polyfill, then a plain number is used for performance.
|
||||
var REACT_ELEMENT_TYPE = 60103;
|
||||
var REACT_PORTAL_TYPE = 60106;
|
||||
var REACT_FRAGMENT_TYPE = 60107;
|
||||
var REACT_STRICT_MODE_TYPE = 60108;
|
||||
var REACT_PROFILER_TYPE = 60114;
|
||||
var REACT_PROVIDER_TYPE = 60109;
|
||||
var REACT_CONTEXT_TYPE = 60110;
|
||||
var REACT_FORWARD_REF_TYPE = 60112;
|
||||
var REACT_SUSPENSE_TYPE = 60113;
|
||||
var REACT_SUSPENSE_LIST_TYPE = 60120;
|
||||
var REACT_MEMO_TYPE = 60115;
|
||||
var REACT_LAZY_TYPE = 60116;
|
||||
var REACT_BLOCK_TYPE = 60121;
|
||||
var REACT_SERVER_BLOCK_TYPE = 60122;
|
||||
var REACT_FUNDAMENTAL_TYPE = 60117;
|
||||
var REACT_SCOPE_TYPE = 60119;
|
||||
var REACT_OPAQUE_ID_TYPE = 60128;
|
||||
var REACT_DEBUG_TRACING_MODE_TYPE = 60129;
|
||||
var REACT_OFFSCREEN_TYPE = 60130;
|
||||
var REACT_LEGACY_HIDDEN_TYPE = 60131;
|
||||
if (typeof Symbol === 'function' && Symbol.for) {
|
||||
var symbolFor = Symbol.for;
|
||||
REACT_ELEMENT_TYPE = symbolFor('react.element');
|
||||
REACT_PORTAL_TYPE = symbolFor('react.portal');
|
||||
REACT_FRAGMENT_TYPE = symbolFor('react.fragment');
|
||||
REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');
|
||||
REACT_PROFILER_TYPE = symbolFor('react.profiler');
|
||||
REACT_PROVIDER_TYPE = symbolFor('react.provider');
|
||||
REACT_CONTEXT_TYPE = symbolFor('react.context');
|
||||
REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');
|
||||
REACT_SUSPENSE_TYPE = symbolFor('react.suspense');
|
||||
REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');
|
||||
REACT_MEMO_TYPE = symbolFor('react.memo');
|
||||
REACT_LAZY_TYPE = symbolFor('react.lazy');
|
||||
REACT_BLOCK_TYPE = symbolFor('react.block');
|
||||
REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');
|
||||
REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');
|
||||
REACT_SCOPE_TYPE = symbolFor('react.scope');
|
||||
REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');
|
||||
REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');
|
||||
REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');
|
||||
REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');
|
||||
}
|
||||
var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.
|
||||
// It's OK to reference families, but use WeakMap/Set for types.
|
||||
var allFamiliesByID = new Map();
|
||||
var allFamiliesByType = new PossiblyWeakMap();
|
||||
var allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families
|
||||
// that have actually been edited here. This keeps checks fast.
|
||||
// $FlowIssue
|
||||
var updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.
|
||||
// It is an array of [Family, NextType] tuples.
|
||||
var pendingUpdates = []; // This is injected by the renderer via DevTools global hook.
|
||||
var helpersByRendererID = new Map();
|
||||
var helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.
|
||||
var mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.
|
||||
var failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.
|
||||
// It needs to be weak because we do this even for roots that failed to mount.
|
||||
// If there is no WeakMap, we won't attempt to do retrying.
|
||||
// $FlowIssue
|
||||
var rootElements = typeof WeakMap === 'function' ? new WeakMap() : null;
|
||||
var isPerformingRefresh = false;
|
||||
function computeFullKey(signature) {
|
||||
if (signature.fullKey !== null) return signature.fullKey;
|
||||
var fullKey = signature.ownKey;
|
||||
var hooks;
|
||||
try {
|
||||
hooks = signature.getCustomHooks();
|
||||
} catch (err) {
|
||||
// This can happen in an edge case, e.g. if expression like Foo.useSomething
|
||||
// depends on Foo which is lazily initialized during rendering.
|
||||
// In that case just assume we'll have to remount.
|
||||
signature.forceReset = true;
|
||||
signature.fullKey = fullKey;
|
||||
return fullKey;
|
||||
}
|
||||
for(var i = 0; i < hooks.length; i++){
|
||||
var hook = hooks[i];
|
||||
if (typeof hook !== 'function') {
|
||||
// Something's wrong. Assume we need to remount.
|
||||
signature.forceReset = true;
|
||||
signature.fullKey = fullKey;
|
||||
return fullKey;
|
||||
}
|
||||
var nestedHookSignature = allSignaturesByType.get(hook);
|
||||
if (nestedHookSignature === undefined) continue;
|
||||
var nestedHookKey = computeFullKey(nestedHookSignature);
|
||||
if (nestedHookSignature.forceReset) signature.forceReset = true;
|
||||
fullKey += '\n---\n' + nestedHookKey;
|
||||
}
|
||||
signature.fullKey = fullKey;
|
||||
return fullKey;
|
||||
}
|
||||
function haveEqualSignatures(prevType, nextType) {
|
||||
var prevSignature = allSignaturesByType.get(prevType);
|
||||
var nextSignature = allSignaturesByType.get(nextType);
|
||||
if (prevSignature === undefined && nextSignature === undefined) return true;
|
||||
if (prevSignature === undefined || nextSignature === undefined) return false;
|
||||
if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) return false;
|
||||
if (nextSignature.forceReset) return false;
|
||||
return true;
|
||||
}
|
||||
function isReactClass(type) {
|
||||
return type.prototype && type.prototype.isReactComponent;
|
||||
}
|
||||
function canPreserveStateBetween(prevType, nextType) {
|
||||
if (isReactClass(prevType) || isReactClass(nextType)) return false;
|
||||
if (haveEqualSignatures(prevType, nextType)) return true;
|
||||
return false;
|
||||
}
|
||||
function resolveFamily(type) {
|
||||
// Only check updated types to keep lookups fast.
|
||||
return updatedFamiliesByType.get(type);
|
||||
} // If we didn't care about IE11, we could use new Map/Set(iterable).
|
||||
function cloneMap(map) {
|
||||
var clone = new Map();
|
||||
map.forEach(function(value, key) {
|
||||
clone.set(key, value);
|
||||
});
|
||||
return clone;
|
||||
}
|
||||
function cloneSet(set) {
|
||||
var clone = new Set();
|
||||
set.forEach(function(value) {
|
||||
clone.add(value);
|
||||
});
|
||||
return clone;
|
||||
}
|
||||
function performReactRefresh() {
|
||||
if (pendingUpdates.length === 0) return null;
|
||||
if (isPerformingRefresh) return null;
|
||||
isPerformingRefresh = true;
|
||||
try {
|
||||
var staleFamilies = new Set();
|
||||
var updatedFamilies = new Set();
|
||||
var updates = pendingUpdates;
|
||||
pendingUpdates = [];
|
||||
updates.forEach(function(_ref) {
|
||||
var family = _ref[0], nextType = _ref[1];
|
||||
// Now that we got a real edit, we can create associations
|
||||
// that will be read by the React reconciler.
|
||||
var prevType = family.current;
|
||||
updatedFamiliesByType.set(prevType, family);
|
||||
updatedFamiliesByType.set(nextType, family);
|
||||
family.current = nextType; // Determine whether this should be a re-render or a re-mount.
|
||||
if (canPreserveStateBetween(prevType, nextType)) updatedFamilies.add(family);
|
||||
else staleFamilies.add(family);
|
||||
}); // TODO: rename these fields to something more meaningful.
|
||||
var update = {
|
||||
updatedFamilies: updatedFamilies,
|
||||
// Families that will re-render preserving state
|
||||
staleFamilies: staleFamilies // Families that will be remounted
|
||||
};
|
||||
helpersByRendererID.forEach(function(helpers) {
|
||||
// Even if there are no roots, set the handler on first update.
|
||||
// This ensures that if *new* roots are mounted, they'll use the resolve handler.
|
||||
helpers.setRefreshHandler(resolveFamily);
|
||||
});
|
||||
var didError = false;
|
||||
var firstError = null; // We snapshot maps and sets that are mutated during commits.
|
||||
// If we don't do this, there is a risk they will be mutated while
|
||||
// we iterate over them. For example, trying to recover a failed root
|
||||
// may cause another root to be added to the failed list -- an infinite loop.
|
||||
var failedRootsSnapshot = cloneSet(failedRoots);
|
||||
var mountedRootsSnapshot = cloneSet(mountedRoots);
|
||||
var helpersByRootSnapshot = cloneMap(helpersByRoot);
|
||||
failedRootsSnapshot.forEach(function(root) {
|
||||
var helpers = helpersByRootSnapshot.get(root);
|
||||
if (helpers === undefined) throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');
|
||||
failedRoots.has(root);
|
||||
if (rootElements === null) return;
|
||||
if (!rootElements.has(root)) return;
|
||||
var element = rootElements.get(root);
|
||||
try {
|
||||
helpers.scheduleRoot(root, element);
|
||||
} catch (err) {
|
||||
if (!didError) {
|
||||
didError = true;
|
||||
firstError = err;
|
||||
} // Keep trying other roots.
|
||||
}
|
||||
});
|
||||
mountedRootsSnapshot.forEach(function(root) {
|
||||
var helpers = helpersByRootSnapshot.get(root);
|
||||
if (helpers === undefined) throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');
|
||||
mountedRoots.has(root);
|
||||
try {
|
||||
helpers.scheduleRefresh(root, update);
|
||||
} catch (err) {
|
||||
if (!didError) {
|
||||
didError = true;
|
||||
firstError = err;
|
||||
} // Keep trying other roots.
|
||||
}
|
||||
});
|
||||
if (didError) throw firstError;
|
||||
return update;
|
||||
} finally{
|
||||
isPerformingRefresh = false;
|
||||
}
|
||||
}
|
||||
function register(type, id) {
|
||||
if (type === null) return;
|
||||
if (typeof type !== 'function' && typeof type !== 'object') return;
|
||||
// This can happen in an edge case, e.g. if we register
|
||||
// return value of a HOC but it returns a cached component.
|
||||
// Ignore anything but the first registration for each type.
|
||||
if (allFamiliesByType.has(type)) return;
|
||||
// Create family or remember to update it.
|
||||
// None of this bookkeeping affects reconciliation
|
||||
// until the first performReactRefresh() call above.
|
||||
var family = allFamiliesByID.get(id);
|
||||
if (family === undefined) {
|
||||
family = {
|
||||
current: type
|
||||
};
|
||||
allFamiliesByID.set(id, family);
|
||||
} else pendingUpdates.push([
|
||||
family,
|
||||
type
|
||||
]);
|
||||
allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.
|
||||
if (typeof type === 'object' && type !== null) switch(type.$$typeof){
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
register(type.render, id + '$render');
|
||||
break;
|
||||
case REACT_MEMO_TYPE:
|
||||
register(type.type, id + '$type');
|
||||
break;
|
||||
}
|
||||
}
|
||||
function setSignature(type, key) {
|
||||
var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||||
var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;
|
||||
allSignaturesByType.set(type, {
|
||||
forceReset: forceReset,
|
||||
ownKey: key,
|
||||
fullKey: null,
|
||||
getCustomHooks: getCustomHooks || function() {
|
||||
return [];
|
||||
}
|
||||
});
|
||||
} // This is lazily called during first render for a type.
|
||||
// It captures Hook list at that time so inline requires don't break comparisons.
|
||||
function collectCustomHooksForSignature(type) {
|
||||
var signature = allSignaturesByType.get(type);
|
||||
if (signature !== undefined) computeFullKey(signature);
|
||||
}
|
||||
function getFamilyByID(id) {
|
||||
return allFamiliesByID.get(id);
|
||||
}
|
||||
function getFamilyByType(type) {
|
||||
return allFamiliesByType.get(type);
|
||||
}
|
||||
function findAffectedHostInstances(families) {
|
||||
var affectedInstances = new Set();
|
||||
mountedRoots.forEach(function(root) {
|
||||
var helpers = helpersByRoot.get(root);
|
||||
if (helpers === undefined) throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');
|
||||
var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);
|
||||
instancesForRoot.forEach(function(inst) {
|
||||
affectedInstances.add(inst);
|
||||
});
|
||||
});
|
||||
return affectedInstances;
|
||||
}
|
||||
function injectIntoGlobalHook(globalObject) {
|
||||
// For React Native, the global hook will be set up by require('react-devtools-core').
|
||||
// That code will run before us. So we need to monkeypatch functions on existing hook.
|
||||
// For React Web, the global hook will be set up by the extension.
|
||||
// This will also run before us.
|
||||
var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
if (hook === undefined) {
|
||||
// However, if there is no DevTools extension, we'll need to set up the global hook ourselves.
|
||||
// Note that in this case it's important that renderer code runs *after* this method call.
|
||||
// Otherwise, the renderer will think that there is no global hook, and won't do the injection.
|
||||
var nextID = 0;
|
||||
globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {
|
||||
renderers: new Map(),
|
||||
supportsFiber: true,
|
||||
inject: function(injected) {
|
||||
return nextID++;
|
||||
},
|
||||
onScheduleFiberRoot: function(id, root, children) {},
|
||||
onCommitFiberRoot: function(id, root, maybePriorityLevel, didError) {},
|
||||
onCommitFiberUnmount: function() {}
|
||||
};
|
||||
} // Here, we just want to get a reference to scheduleRefresh.
|
||||
var oldInject = hook.inject;
|
||||
hook.inject = function(injected) {
|
||||
var id = oldInject.apply(this, arguments);
|
||||
if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') // This version supports React Refresh.
|
||||
helpersByRendererID.set(id, injected);
|
||||
return id;
|
||||
}; // Do the same for any already injected roots.
|
||||
// This is useful if ReactDOM has already been initialized.
|
||||
// https://github.com/facebook/react/issues/17626
|
||||
hook.renderers.forEach(function(injected, id) {
|
||||
if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') // This version supports React Refresh.
|
||||
helpersByRendererID.set(id, injected);
|
||||
}); // We also want to track currently mounted roots.
|
||||
var oldOnCommitFiberRoot = hook.onCommitFiberRoot;
|
||||
var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function() {};
|
||||
hook.onScheduleFiberRoot = function(id, root, children) {
|
||||
if (!isPerformingRefresh) {
|
||||
// If it was intentionally scheduled, don't attempt to restore.
|
||||
// This includes intentionally scheduled unmounts.
|
||||
failedRoots.delete(root);
|
||||
if (rootElements !== null) rootElements.set(root, children);
|
||||
}
|
||||
return oldOnScheduleFiberRoot.apply(this, arguments);
|
||||
};
|
||||
hook.onCommitFiberRoot = function(id, root, maybePriorityLevel, didError) {
|
||||
var helpers = helpersByRendererID.get(id);
|
||||
if (helpers === undefined) return;
|
||||
helpersByRoot.set(root, helpers);
|
||||
var current = root.current;
|
||||
var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.
|
||||
// This logic is copy-pasted from similar logic in the DevTools backend.
|
||||
// If this breaks with some refactoring, you'll want to update DevTools too.
|
||||
if (alternate !== null) {
|
||||
var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;
|
||||
var isMounted = current.memoizedState != null && current.memoizedState.element != null;
|
||||
if (!wasMounted && isMounted) {
|
||||
// Mount a new root.
|
||||
mountedRoots.add(root);
|
||||
failedRoots.delete(root);
|
||||
} else if (wasMounted && isMounted) ;
|
||||
else if (wasMounted && !isMounted) {
|
||||
// Unmount an existing root.
|
||||
mountedRoots.delete(root);
|
||||
if (didError) // We'll remount it on future edits.
|
||||
failedRoots.add(root);
|
||||
else helpersByRoot.delete(root);
|
||||
} else if (!wasMounted && !isMounted) {
|
||||
if (didError) // We'll remount it on future edits.
|
||||
failedRoots.add(root);
|
||||
}
|
||||
} else // Mount a new root.
|
||||
mountedRoots.add(root);
|
||||
return oldOnCommitFiberRoot.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
function hasUnrecoverableErrors() {
|
||||
// TODO: delete this after removing dependency in RN.
|
||||
return false;
|
||||
} // Exposed for testing.
|
||||
function _getMountedRootCount() {
|
||||
return mountedRoots.size;
|
||||
} // This is a wrapper over more primitive functions for setting signature.
|
||||
// Signatures let us decide whether the Hook order has changed on refresh.
|
||||
//
|
||||
// This function is intended to be used as a transform target, e.g.:
|
||||
// var _s = createSignatureFunctionForTransform()
|
||||
//
|
||||
// function Hello() {
|
||||
// const [foo, setFoo] = useState(0);
|
||||
// const value = useCustomHook();
|
||||
// _s(); /* Second call triggers collecting the custom Hook list.
|
||||
// * This doesn't happen during the module evaluation because we
|
||||
// * don't want to change the module order with inline requires.
|
||||
// * Next calls are noops. */
|
||||
// return <h1>Hi</h1>;
|
||||
// }
|
||||
//
|
||||
// /* First call specifies the signature: */
|
||||
// _s(
|
||||
// Hello,
|
||||
// 'useState{[foo, setFoo]}(0)',
|
||||
// () => [useCustomHook], /* Lazy to avoid triggering inline requires */
|
||||
// );
|
||||
function createSignatureFunctionForTransform() {
|
||||
// We'll fill in the signature in two steps.
|
||||
// First, we'll know the signature itself. This happens outside the component.
|
||||
// Then, we'll know the references to custom Hooks. This happens inside the component.
|
||||
// After that, the returned function will be a fast path no-op.
|
||||
var status = 'needsSignature';
|
||||
var savedType;
|
||||
var hasCustomHooks;
|
||||
return function(type, key, forceReset, getCustomHooks) {
|
||||
switch(status){
|
||||
case 'needsSignature':
|
||||
if (type !== undefined) {
|
||||
// If we received an argument, this is the initial registration call.
|
||||
savedType = type;
|
||||
hasCustomHooks = typeof getCustomHooks === 'function';
|
||||
setSignature(type, key, forceReset, getCustomHooks); // The next call we expect is from inside a function, to fill in the custom Hooks.
|
||||
status = 'needsCustomHooks';
|
||||
}
|
||||
break;
|
||||
case 'needsCustomHooks':
|
||||
if (hasCustomHooks) collectCustomHooksForSignature(savedType);
|
||||
status = 'resolved';
|
||||
break;
|
||||
}
|
||||
return type;
|
||||
};
|
||||
}
|
||||
function isLikelyComponentType(type) {
|
||||
switch(typeof type){
|
||||
case 'function':
|
||||
// First, deal with classes.
|
||||
if (type.prototype != null) {
|
||||
if (type.prototype.isReactComponent) // React class.
|
||||
return true;
|
||||
var ownNames = Object.getOwnPropertyNames(type.prototype);
|
||||
if (ownNames.length > 1 || ownNames[0] !== 'constructor') // This looks like a class.
|
||||
return false;
|
||||
// eslint-disable-next-line no-proto
|
||||
if (type.prototype.__proto__ !== Object.prototype) // It has a superclass.
|
||||
return false;
|
||||
// Pass through.
|
||||
// This looks like a regular function with empty prototype.
|
||||
} // For plain functions and arrows, use name as a heuristic.
|
||||
var name = type.name || type.displayName;
|
||||
return typeof name === 'string' && /^[A-Z]/.test(name);
|
||||
case 'object':
|
||||
if (type != null) switch(type.$$typeof){
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
case REACT_MEMO_TYPE:
|
||||
// Definitely React components.
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
exports._getMountedRootCount = _getMountedRootCount;
|
||||
exports.collectCustomHooksForSignature = collectCustomHooksForSignature;
|
||||
exports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;
|
||||
exports.findAffectedHostInstances = findAffectedHostInstances;
|
||||
exports.getFamilyByID = getFamilyByID;
|
||||
exports.getFamilyByType = getFamilyByType;
|
||||
exports.hasUnrecoverableErrors = hasUnrecoverableErrors;
|
||||
exports.injectIntoGlobalHook = injectIntoGlobalHook;
|
||||
exports.isLikelyComponentType = isLikelyComponentType;
|
||||
exports.performReactRefresh = performReactRefresh;
|
||||
exports.register = register;
|
||||
exports.setSignature = setSignature;
|
||||
})();
|
||||
|
||||
},{}],"g9TDx":[function(require,module,exports) {
|
||||
"use strict";
|
||||
var HMR_HOST = null;
|
||||
var HMR_PORT = null;
|
||||
var HMR_SECURE = false;
|
||||
var HMR_ENV_HASH = "d6ea1d42532a7575";
|
||||
module.bundle.HMR_BUNDLE_ID = "0bcb44a518dbc454";
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
function _iterableToArray(iter) {
|
||||
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
||||
}
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
function _createForOfIteratorHelper(o, allowArrayLike) {
|
||||
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
||||
if (!it) {
|
||||
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
||||
if (it) o = it;
|
||||
var i = 0;
|
||||
var F = function F() {};
|
||||
return {
|
||||
s: F,
|
||||
n: function n() {
|
||||
if (i >= o.length) return {
|
||||
done: true
|
||||
};
|
||||
return {
|
||||
done: false,
|
||||
value: o[i++]
|
||||
};
|
||||
},
|
||||
e: function e(_e) {
|
||||
throw _e;
|
||||
},
|
||||
f: F
|
||||
};
|
||||
}
|
||||
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
var normalCompletion = true, didErr = false, err;
|
||||
return {
|
||||
s: function s() {
|
||||
it = it.call(o);
|
||||
},
|
||||
n: function n() {
|
||||
var step = it.next();
|
||||
normalCompletion = step.done;
|
||||
return step;
|
||||
},
|
||||
e: function e(_e2) {
|
||||
didErr = true;
|
||||
err = _e2;
|
||||
},
|
||||
f: function f() {
|
||||
try {
|
||||
if (!normalCompletion && it.return != null) it.return();
|
||||
} finally{
|
||||
if (didErr) throw err;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
function _unsupportedIterableToArray(o, minLen) {
|
||||
if (!o) return;
|
||||
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
||||
var n = Object.prototype.toString.call(o).slice(8, -1);
|
||||
if (n === "Object" && o.constructor) n = o.constructor.name;
|
||||
if (n === "Map" || n === "Set") return Array.from(o);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
function _arrayLikeToArray(arr, len) {
|
||||
if (len == null || len > arr.length) len = arr.length;
|
||||
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
||||
return arr2;
|
||||
}
|
||||
/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE */ /*::
|
||||
import type {
|
||||
HMRAsset,
|
||||
HMRMessage,
|
||||
} from '@parcel/reporter-dev-server/src/HMRServer.js';
|
||||
interface ParcelRequire {
|
||||
(string): mixed;
|
||||
cache: {|[string]: ParcelModule|};
|
||||
hotData: mixed;
|
||||
Module: any;
|
||||
parent: ?ParcelRequire;
|
||||
isParcelRequire: true;
|
||||
modules: {|[string]: [Function, {|[string]: string|}]|};
|
||||
HMR_BUNDLE_ID: string;
|
||||
root: ParcelRequire;
|
||||
}
|
||||
interface ParcelModule {
|
||||
hot: {|
|
||||
data: mixed,
|
||||
accept(cb: (Function) => void): void,
|
||||
dispose(cb: (mixed) => void): void,
|
||||
// accept(deps: Array<string> | string, cb: (Function) => void): void,
|
||||
// decline(): void,
|
||||
_acceptCallbacks: Array<(Function) => void>,
|
||||
_disposeCallbacks: Array<(mixed) => void>,
|
||||
|};
|
||||
}
|
||||
declare var module: {bundle: ParcelRequire, ...};
|
||||
declare var HMR_HOST: string;
|
||||
declare var HMR_PORT: string;
|
||||
declare var HMR_ENV_HASH: string;
|
||||
declare var HMR_SECURE: boolean;
|
||||
*/ var OVERLAY_ID = '__parcel__error__overlay__';
|
||||
var OldModule = module.bundle.Module;
|
||||
function Module(moduleName) {
|
||||
OldModule.call(this, moduleName);
|
||||
this.hot = {
|
||||
data: module.bundle.hotData,
|
||||
_acceptCallbacks: [],
|
||||
_disposeCallbacks: [],
|
||||
accept: function accept(fn) {
|
||||
this._acceptCallbacks.push(fn || function() {});
|
||||
},
|
||||
dispose: function dispose(fn) {
|
||||
this._disposeCallbacks.push(fn);
|
||||
}
|
||||
};
|
||||
module.bundle.hotData = undefined;
|
||||
}
|
||||
module.bundle.Module = Module;
|
||||
var checkedAssets, acceptedAssets, assetsToAccept /*: Array<[ParcelRequire, string]> */ ;
|
||||
function getHostname() {
|
||||
return HMR_HOST || (location.protocol.indexOf('http') === 0 ? location.hostname : 'localhost');
|
||||
}
|
||||
function getPort() {
|
||||
return HMR_PORT || location.port;
|
||||
} // eslint-disable-next-line no-redeclare
|
||||
var parent = module.bundle.parent;
|
||||
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
|
||||
var hostname = getHostname();
|
||||
var port = getPort();
|
||||
var protocol = HMR_SECURE || location.protocol == 'https:' && !/localhost|127.0.0.1|0.0.0.0/.test(hostname) ? 'wss' : 'ws';
|
||||
var ws = new WebSocket(protocol + '://' + hostname + (port ? ':' + port : '') + '/'); // $FlowFixMe
|
||||
ws.onmessage = function(event) {
|
||||
checkedAssets = {} /*: {|[string]: boolean|} */ ;
|
||||
acceptedAssets = {} /*: {|[string]: boolean|} */ ;
|
||||
assetsToAccept = [];
|
||||
var data = JSON.parse(event.data);
|
||||
if (data.type === 'update') {
|
||||
// Remove error overlay if there is one
|
||||
if (typeof document !== 'undefined') removeErrorOverlay();
|
||||
var assets = data.assets.filter(function(asset) {
|
||||
return asset.envHash === HMR_ENV_HASH;
|
||||
}); // Handle HMR Update
|
||||
var handled = assets.every(function(asset) {
|
||||
return asset.type === 'css' || asset.type === 'js' && hmrAcceptCheck(module.bundle.root, asset.id, asset.depsByBundle);
|
||||
});
|
||||
if (handled) {
|
||||
console.clear();
|
||||
assets.forEach(function(asset) {
|
||||
hmrApply(module.bundle.root, asset);
|
||||
});
|
||||
for(var i = 0; i < assetsToAccept.length; i++){
|
||||
var id = assetsToAccept[i][1];
|
||||
if (!acceptedAssets[id]) hmrAcceptRun(assetsToAccept[i][0], id);
|
||||
}
|
||||
} else window.location.reload();
|
||||
}
|
||||
if (data.type === 'error') {
|
||||
// Log parcel errors to console
|
||||
var _iterator = _createForOfIteratorHelper(data.diagnostics.ansi), _step;
|
||||
try {
|
||||
for(_iterator.s(); !(_step = _iterator.n()).done;){
|
||||
var ansiDiagnostic = _step.value;
|
||||
var stack = ansiDiagnostic.codeframe ? ansiDiagnostic.codeframe : ansiDiagnostic.stack;
|
||||
console.error('🚨 [parcel]: ' + ansiDiagnostic.message + '\n' + stack + '\n\n' + ansiDiagnostic.hints.join('\n'));
|
||||
}
|
||||
} catch (err) {
|
||||
_iterator.e(err);
|
||||
} finally{
|
||||
_iterator.f();
|
||||
}
|
||||
if (typeof document !== 'undefined') {
|
||||
// Render the fancy html overlay
|
||||
removeErrorOverlay();
|
||||
var overlay = createErrorOverlay(data.diagnostics.html); // $FlowFixMe
|
||||
document.body.appendChild(overlay);
|
||||
}
|
||||
}
|
||||
};
|
||||
ws.onerror = function(e) {
|
||||
console.error(e.message);
|
||||
};
|
||||
ws.onclose = function() {
|
||||
console.warn('[parcel] 🚨 Connection to the HMR server was lost');
|
||||
};
|
||||
}
|
||||
function removeErrorOverlay() {
|
||||
var overlay = document.getElementById(OVERLAY_ID);
|
||||
if (overlay) {
|
||||
overlay.remove();
|
||||
console.log('[parcel] ✨ Error resolved');
|
||||
}
|
||||
}
|
||||
function createErrorOverlay(diagnostics) {
|
||||
var overlay = document.createElement('div');
|
||||
overlay.id = OVERLAY_ID;
|
||||
var errorHTML = '<div style="background: black; opacity: 0.85; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; font-family: Menlo, Consolas, monospace; z-index: 9999;">';
|
||||
var _iterator2 = _createForOfIteratorHelper(diagnostics), _step2;
|
||||
try {
|
||||
for(_iterator2.s(); !(_step2 = _iterator2.n()).done;){
|
||||
var diagnostic = _step2.value;
|
||||
var stack = diagnostic.codeframe ? diagnostic.codeframe : diagnostic.stack;
|
||||
errorHTML += "\n <div>\n <div style=\"font-size: 18px; font-weight: bold; margin-top: 20px;\">\n \uD83D\uDEA8 ".concat(diagnostic.message, "\n </div>\n <pre>").concat(stack, "</pre>\n <div>\n ").concat(diagnostic.hints.map(function(hint) {
|
||||
return '<div>💡 ' + hint + '</div>';
|
||||
}).join(''), "\n </div>\n ").concat(diagnostic.documentation ? "<div>\uD83D\uDCDD <a style=\"color: violet\" href=\"".concat(diagnostic.documentation, "\" target=\"_blank\">Learn more</a></div>") : '', "\n </div>\n ");
|
||||
}
|
||||
} catch (err) {
|
||||
_iterator2.e(err);
|
||||
} finally{
|
||||
_iterator2.f();
|
||||
}
|
||||
errorHTML += '</div>';
|
||||
overlay.innerHTML = errorHTML;
|
||||
return overlay;
|
||||
}
|
||||
function getParents(bundle, id) /*: Array<[ParcelRequire, string]> */ {
|
||||
var modules = bundle.modules;
|
||||
if (!modules) return [];
|
||||
var parents = [];
|
||||
var k, d, dep;
|
||||
for(k in modules)for(d in modules[k][1]){
|
||||
dep = modules[k][1][d];
|
||||
if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) parents.push([
|
||||
bundle,
|
||||
k
|
||||
]);
|
||||
}
|
||||
if (bundle.parent) parents = parents.concat(getParents(bundle.parent, id));
|
||||
return parents;
|
||||
}
|
||||
function updateLink(link) {
|
||||
var newLink = link.cloneNode();
|
||||
newLink.onload = function() {
|
||||
if (link.parentNode !== null) // $FlowFixMe
|
||||
link.parentNode.removeChild(link);
|
||||
};
|
||||
newLink.setAttribute('href', link.getAttribute('href').split('?')[0] + '?' + Date.now()); // $FlowFixMe
|
||||
link.parentNode.insertBefore(newLink, link.nextSibling);
|
||||
}
|
||||
var cssTimeout = null;
|
||||
function reloadCSS() {
|
||||
if (cssTimeout) return;
|
||||
cssTimeout = setTimeout(function() {
|
||||
var links = document.querySelectorAll('link[rel="stylesheet"]');
|
||||
for(var i = 0; i < links.length; i++){
|
||||
// $FlowFixMe[incompatible-type]
|
||||
var href = links[i].getAttribute('href');
|
||||
var hostname = getHostname();
|
||||
var servedFromHMRServer = hostname === 'localhost' ? new RegExp('^(https?:\\/\\/(0.0.0.0|127.0.0.1)|localhost):' + getPort()).test(href) : href.indexOf(hostname + ':' + getPort());
|
||||
var absolute = /^https?:\/\//i.test(href) && href.indexOf(window.location.origin) !== 0 && !servedFromHMRServer;
|
||||
if (!absolute) updateLink(links[i]);
|
||||
}
|
||||
cssTimeout = null;
|
||||
}, 50);
|
||||
}
|
||||
function hmrApply(bundle, asset) {
|
||||
var modules = bundle.modules;
|
||||
if (!modules) return;
|
||||
if (asset.type === 'css') reloadCSS();
|
||||
else if (asset.type === 'js') {
|
||||
var deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID];
|
||||
if (deps) {
|
||||
if (modules[asset.id]) {
|
||||
// Remove dependencies that are removed and will become orphaned.
|
||||
// This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload.
|
||||
var oldDeps = modules[asset.id][1];
|
||||
for(var dep in oldDeps)if (!deps[dep] || deps[dep] !== oldDeps[dep]) {
|
||||
var id = oldDeps[dep];
|
||||
var parents = getParents(module.bundle.root, id);
|
||||
if (parents.length === 1) hmrDelete(module.bundle.root, id);
|
||||
}
|
||||
}
|
||||
var fn = new Function('require', 'module', 'exports', asset.output);
|
||||
modules[asset.id] = [
|
||||
fn,
|
||||
deps
|
||||
];
|
||||
} else if (bundle.parent) hmrApply(bundle.parent, asset);
|
||||
}
|
||||
}
|
||||
function hmrDelete(bundle, id1) {
|
||||
var modules = bundle.modules;
|
||||
if (!modules) return;
|
||||
if (modules[id1]) {
|
||||
// Collect dependencies that will become orphaned when this module is deleted.
|
||||
var deps = modules[id1][1];
|
||||
var orphans = [];
|
||||
for(var dep in deps){
|
||||
var parents = getParents(module.bundle.root, deps[dep]);
|
||||
if (parents.length === 1) orphans.push(deps[dep]);
|
||||
} // Delete the module. This must be done before deleting dependencies in case of circular dependencies.
|
||||
delete modules[id1];
|
||||
delete bundle.cache[id1]; // Now delete the orphans.
|
||||
orphans.forEach(function(id) {
|
||||
hmrDelete(module.bundle.root, id);
|
||||
});
|
||||
} else if (bundle.parent) hmrDelete(bundle.parent, id1);
|
||||
}
|
||||
function hmrAcceptCheck(bundle, id, depsByBundle) {
|
||||
if (hmrAcceptCheckOne(bundle, id, depsByBundle)) return true;
|
||||
// Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload.
|
||||
var parents = getParents(module.bundle.root, id);
|
||||
var accepted = false;
|
||||
while(parents.length > 0){
|
||||
var v = parents.shift();
|
||||
var a = hmrAcceptCheckOne(v[0], v[1], null);
|
||||
if (a) // If this parent accepts, stop traversing upward, but still consider siblings.
|
||||
accepted = true;
|
||||
else {
|
||||
// Otherwise, queue the parents in the next level upward.
|
||||
var p = getParents(module.bundle.root, v[1]);
|
||||
if (p.length === 0) {
|
||||
// If there are no parents, then we've reached an entry without accepting. Reload.
|
||||
accepted = false;
|
||||
break;
|
||||
}
|
||||
parents.push.apply(parents, _toConsumableArray(p));
|
||||
}
|
||||
}
|
||||
return accepted;
|
||||
}
|
||||
function hmrAcceptCheckOne(bundle, id, depsByBundle) {
|
||||
var modules = bundle.modules;
|
||||
if (!modules) return;
|
||||
if (depsByBundle && !depsByBundle[bundle.HMR_BUNDLE_ID]) {
|
||||
// If we reached the root bundle without finding where the asset should go,
|
||||
// there's nothing to do. Mark as "accepted" so we don't reload the page.
|
||||
if (!bundle.parent) return true;
|
||||
return hmrAcceptCheck(bundle.parent, id, depsByBundle);
|
||||
}
|
||||
if (checkedAssets[id]) return true;
|
||||
checkedAssets[id] = true;
|
||||
var cached = bundle.cache[id];
|
||||
assetsToAccept.push([
|
||||
bundle,
|
||||
id
|
||||
]);
|
||||
if (!cached || cached.hot && cached.hot._acceptCallbacks.length) return true;
|
||||
}
|
||||
function hmrAcceptRun(bundle, id) {
|
||||
var cached = bundle.cache[id];
|
||||
bundle.hotData = {};
|
||||
if (cached && cached.hot) cached.hot.data = bundle.hotData;
|
||||
if (cached && cached.hot && cached.hot._disposeCallbacks.length) cached.hot._disposeCallbacks.forEach(function(cb) {
|
||||
cb(bundle.hotData);
|
||||
});
|
||||
delete bundle.cache[id];
|
||||
bundle(id);
|
||||
cached = bundle.cache[id];
|
||||
if (cached && cached.hot && cached.hot._acceptCallbacks.length) cached.hot._acceptCallbacks.forEach(function(cb) {
|
||||
var assetsToAlsoAccept = cb(function() {
|
||||
return getParents(module.bundle.root, id);
|
||||
});
|
||||
if (assetsToAlsoAccept && assetsToAccept.length) // $FlowFixMe[method-unbinding]
|
||||
assetsToAccept.push.apply(assetsToAccept, assetsToAlsoAccept);
|
||||
});
|
||||
acceptedAssets[id] = true;
|
||||
}
|
||||
|
||||
},{}],"1SICI":[function(require,module,exports) {
|
||||
|
||||
},{}]},["kn9T2","g9TDx","1SICI"], "1SICI", "parcelRequire9b8f")
|
||||
|
||||
//# sourceMappingURL=index.18dbc454.js.map
|
||||
1
dist/index.18dbc454.js.map
vendored
Normal file
1
dist/index.18dbc454.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
28519
dist/index.739bf03c.js
vendored
Normal file
28519
dist/index.739bf03c.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
dist/index.739bf03c.js.map
vendored
Normal file
1
dist/index.739bf03c.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
11441
dist/index.b10d73a7.css
vendored
Normal file
11441
dist/index.b10d73a7.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
dist/index.b10d73a7.css.map
vendored
Normal file
1
dist/index.b10d73a7.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
20
dist/index.html
vendored
Normal file
20
dist/index.html
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<link rel="stylesheet" href="/index.b10d73a7.css">
|
||||
<script src="/index.739bf03c.js" defer=""></script>
|
||||
</head>
|
||||
<body class="p-5">
|
||||
<h1>All done</h1>
|
||||
<div id="root">
|
||||
<div class="spinner-grow text-primary" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-primary">Clickety click</button>
|
||||
</body>
|
||||
</html>
|
||||
8
dist/main.fb6bbcaf.css
vendored
Normal file
8
dist/main.fb6bbcaf.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
body {
|
||||
background: blue;
|
||||
}
|
||||
body h1 {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=/main.fb6bbcaf.css.map */
|
||||
1
dist/main.fb6bbcaf.css.map
vendored
Normal file
1
dist/main.fb6bbcaf.css.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["scss/main.scss"],"names":[],"mappings":"AAAA;EACE;;AACA;EACE","file":"main.fb6bbcaf.css","sourceRoot":"../src","sourcesContent":["body {\n background: blue;\n h1 {\n color: #fff;\n }\n}"]}
|
||||
403
dist/main.fb6bbcaf.js
vendored
Normal file
403
dist/main.fb6bbcaf.js
vendored
Normal file
@@ -0,0 +1,403 @@
|
||||
// modules are defined as an array
|
||||
// [ module function, map of requires ]
|
||||
//
|
||||
// map of requires is short require name -> numeric require
|
||||
//
|
||||
// anything defined in a previous bundle is accessed via the
|
||||
// orig method which is the require for previous bundles
|
||||
parcelRequire = (function (modules, cache, entry, globalName) {
|
||||
// Save the require from previous bundle to this closure if any
|
||||
var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
|
||||
var nodeRequire = typeof require === 'function' && require;
|
||||
|
||||
function newRequire(name, jumped) {
|
||||
if (!cache[name]) {
|
||||
if (!modules[name]) {
|
||||
// if we cannot find the module within our internal map or
|
||||
// cache jump to the current global require ie. the last bundle
|
||||
// that was added to the page.
|
||||
var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
|
||||
if (!jumped && currentRequire) {
|
||||
return currentRequire(name, true);
|
||||
}
|
||||
|
||||
// If there are other bundles on this page the require from the
|
||||
// previous one is saved to 'previousRequire'. Repeat this as
|
||||
// many times as there are bundles until the module is found or
|
||||
// we exhaust the require chain.
|
||||
if (previousRequire) {
|
||||
return previousRequire(name, true);
|
||||
}
|
||||
|
||||
// Try the node require function if it exists.
|
||||
if (nodeRequire && typeof name === 'string') {
|
||||
return nodeRequire(name);
|
||||
}
|
||||
|
||||
var err = new Error('Cannot find module \'' + name + '\'');
|
||||
err.code = 'MODULE_NOT_FOUND';
|
||||
throw err;
|
||||
}
|
||||
|
||||
localRequire.resolve = resolve;
|
||||
localRequire.cache = {};
|
||||
|
||||
var module = cache[name] = new newRequire.Module(name);
|
||||
|
||||
modules[name][0].call(module.exports, localRequire, module, module.exports, this);
|
||||
}
|
||||
|
||||
return cache[name].exports;
|
||||
|
||||
function localRequire(x){
|
||||
return newRequire(localRequire.resolve(x));
|
||||
}
|
||||
|
||||
function resolve(x){
|
||||
return modules[name][1][x] || x;
|
||||
}
|
||||
}
|
||||
|
||||
function Module(moduleName) {
|
||||
this.id = moduleName;
|
||||
this.bundle = newRequire;
|
||||
this.exports = {};
|
||||
}
|
||||
|
||||
newRequire.isParcelRequire = true;
|
||||
newRequire.Module = Module;
|
||||
newRequire.modules = modules;
|
||||
newRequire.cache = cache;
|
||||
newRequire.parent = previousRequire;
|
||||
newRequire.register = function (id, exports) {
|
||||
modules[id] = [function (require, module) {
|
||||
module.exports = exports;
|
||||
}, {}];
|
||||
};
|
||||
|
||||
var error;
|
||||
for (var i = 0; i < entry.length; i++) {
|
||||
try {
|
||||
newRequire(entry[i]);
|
||||
} catch (e) {
|
||||
// Save first error but execute all entries
|
||||
if (!error) {
|
||||
error = e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (entry.length) {
|
||||
// Expose entry point to Node, AMD or browser globals
|
||||
// Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
|
||||
var mainExports = newRequire(entry[entry.length - 1]);
|
||||
|
||||
// CommonJS
|
||||
if (typeof exports === "object" && typeof module !== "undefined") {
|
||||
module.exports = mainExports;
|
||||
|
||||
// RequireJS
|
||||
} else if (typeof define === "function" && define.amd) {
|
||||
define(function () {
|
||||
return mainExports;
|
||||
});
|
||||
|
||||
// <script>
|
||||
} else if (globalName) {
|
||||
this[globalName] = mainExports;
|
||||
}
|
||||
}
|
||||
|
||||
// Override the current require with this new one
|
||||
parcelRequire = newRequire;
|
||||
|
||||
if (error) {
|
||||
// throw error from earlier, _after updating parcelRequire_
|
||||
throw error;
|
||||
}
|
||||
|
||||
return newRequire;
|
||||
})({"../node_modules/parcel-bundler/src/builtins/bundle-url.js":[function(require,module,exports) {
|
||||
var bundleURL = null;
|
||||
|
||||
function getBundleURLCached() {
|
||||
if (!bundleURL) {
|
||||
bundleURL = getBundleURL();
|
||||
}
|
||||
|
||||
return bundleURL;
|
||||
}
|
||||
|
||||
function getBundleURL() {
|
||||
// Attempt to find the URL of the current script and use that as the base URL
|
||||
try {
|
||||
throw new Error();
|
||||
} catch (err) {
|
||||
var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\/\/[^)\n]+/g);
|
||||
|
||||
if (matches) {
|
||||
return getBaseURL(matches[0]);
|
||||
}
|
||||
}
|
||||
|
||||
return '/';
|
||||
}
|
||||
|
||||
function getBaseURL(url) {
|
||||
return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)?\/[^/]+(?:\?.*)?$/, '$1') + '/';
|
||||
}
|
||||
|
||||
exports.getBundleURL = getBundleURLCached;
|
||||
exports.getBaseURL = getBaseURL;
|
||||
},{}],"../node_modules/parcel-bundler/src/builtins/css-loader.js":[function(require,module,exports) {
|
||||
var bundle = require('./bundle-url');
|
||||
|
||||
function updateLink(link) {
|
||||
var newLink = link.cloneNode();
|
||||
|
||||
newLink.onload = function () {
|
||||
link.remove();
|
||||
};
|
||||
|
||||
newLink.href = link.href.split('?')[0] + '?' + Date.now();
|
||||
link.parentNode.insertBefore(newLink, link.nextSibling);
|
||||
}
|
||||
|
||||
var cssTimeout = null;
|
||||
|
||||
function reloadCSS() {
|
||||
if (cssTimeout) {
|
||||
return;
|
||||
}
|
||||
|
||||
cssTimeout = setTimeout(function () {
|
||||
var links = document.querySelectorAll('link[rel="stylesheet"]');
|
||||
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
if (bundle.getBaseURL(links[i].href) === bundle.getBundleURL()) {
|
||||
updateLink(links[i]);
|
||||
}
|
||||
}
|
||||
|
||||
cssTimeout = null;
|
||||
}, 50);
|
||||
}
|
||||
|
||||
module.exports = reloadCSS;
|
||||
},{"./bundle-url":"../node_modules/parcel-bundler/src/builtins/bundle-url.js"}],"scss/main.scss":[function(require,module,exports) {
|
||||
var reloadCSS = require('_css_loader');
|
||||
|
||||
module.hot.dispose(reloadCSS);
|
||||
module.hot.accept(reloadCSS);
|
||||
},{"_css_loader":"../node_modules/parcel-bundler/src/builtins/css-loader.js"}],"js/main.js":[function(require,module,exports) {
|
||||
"use strict";
|
||||
|
||||
require("../scss/main.scss");
|
||||
|
||||
alert("done2");
|
||||
},{"../scss/main.scss":"scss/main.scss"}],"../node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) {
|
||||
var global = arguments[3];
|
||||
var OVERLAY_ID = '__parcel__error__overlay__';
|
||||
var OldModule = module.bundle.Module;
|
||||
|
||||
function Module(moduleName) {
|
||||
OldModule.call(this, moduleName);
|
||||
this.hot = {
|
||||
data: module.bundle.hotData,
|
||||
_acceptCallbacks: [],
|
||||
_disposeCallbacks: [],
|
||||
accept: function (fn) {
|
||||
this._acceptCallbacks.push(fn || function () {});
|
||||
},
|
||||
dispose: function (fn) {
|
||||
this._disposeCallbacks.push(fn);
|
||||
}
|
||||
};
|
||||
module.bundle.hotData = null;
|
||||
}
|
||||
|
||||
module.bundle.Module = Module;
|
||||
var checkedAssets, assetsToAccept;
|
||||
var parent = module.bundle.parent;
|
||||
|
||||
if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
|
||||
var hostname = "" || location.hostname;
|
||||
var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
|
||||
var ws = new WebSocket(protocol + '://' + hostname + ':' + "39743" + '/');
|
||||
|
||||
ws.onmessage = function (event) {
|
||||
checkedAssets = {};
|
||||
assetsToAccept = [];
|
||||
var data = JSON.parse(event.data);
|
||||
|
||||
if (data.type === 'update') {
|
||||
var handled = false;
|
||||
data.assets.forEach(function (asset) {
|
||||
if (!asset.isNew) {
|
||||
var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
|
||||
|
||||
if (didAccept) {
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
}); // Enable HMR for CSS by default.
|
||||
|
||||
handled = handled || data.assets.every(function (asset) {
|
||||
return asset.type === 'css' && asset.generated.js;
|
||||
});
|
||||
|
||||
if (handled) {
|
||||
console.clear();
|
||||
data.assets.forEach(function (asset) {
|
||||
hmrApply(global.parcelRequire, asset);
|
||||
});
|
||||
assetsToAccept.forEach(function (v) {
|
||||
hmrAcceptRun(v[0], v[1]);
|
||||
});
|
||||
} else if (location.reload) {
|
||||
// `location` global exists in a web worker context but lacks `.reload()` function.
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
|
||||
if (data.type === 'reload') {
|
||||
ws.close();
|
||||
|
||||
ws.onclose = function () {
|
||||
location.reload();
|
||||
};
|
||||
}
|
||||
|
||||
if (data.type === 'error-resolved') {
|
||||
console.log('[parcel] ✨ Error resolved');
|
||||
removeErrorOverlay();
|
||||
}
|
||||
|
||||
if (data.type === 'error') {
|
||||
console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
|
||||
removeErrorOverlay();
|
||||
var overlay = createErrorOverlay(data);
|
||||
document.body.appendChild(overlay);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function removeErrorOverlay() {
|
||||
var overlay = document.getElementById(OVERLAY_ID);
|
||||
|
||||
if (overlay) {
|
||||
overlay.remove();
|
||||
}
|
||||
}
|
||||
|
||||
function createErrorOverlay(data) {
|
||||
var overlay = document.createElement('div');
|
||||
overlay.id = OVERLAY_ID; // html encode message and stack trace
|
||||
|
||||
var message = document.createElement('div');
|
||||
var stackTrace = document.createElement('pre');
|
||||
message.innerText = data.error.message;
|
||||
stackTrace.innerText = data.error.stack;
|
||||
overlay.innerHTML = '<div style="background: black; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; opacity: 0.85; font-family: Menlo, Consolas, monospace; z-index: 9999;">' + '<span style="background: red; padding: 2px 4px; border-radius: 2px;">ERROR</span>' + '<span style="top: 2px; margin-left: 5px; position: relative;">🚨</span>' + '<div style="font-size: 18px; font-weight: bold; margin-top: 20px;">' + message.innerHTML + '</div>' + '<pre>' + stackTrace.innerHTML + '</pre>' + '</div>';
|
||||
return overlay;
|
||||
}
|
||||
|
||||
function getParents(bundle, id) {
|
||||
var modules = bundle.modules;
|
||||
|
||||
if (!modules) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var parents = [];
|
||||
var k, d, dep;
|
||||
|
||||
for (k in modules) {
|
||||
for (d in modules[k][1]) {
|
||||
dep = modules[k][1][d];
|
||||
|
||||
if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
|
||||
parents.push(k);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bundle.parent) {
|
||||
parents = parents.concat(getParents(bundle.parent, id));
|
||||
}
|
||||
|
||||
return parents;
|
||||
}
|
||||
|
||||
function hmrApply(bundle, asset) {
|
||||
var modules = bundle.modules;
|
||||
|
||||
if (!modules) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (modules[asset.id] || !bundle.parent) {
|
||||
var fn = new Function('require', 'module', 'exports', asset.generated.js);
|
||||
asset.isNew = !modules[asset.id];
|
||||
modules[asset.id] = [fn, asset.deps];
|
||||
} else if (bundle.parent) {
|
||||
hmrApply(bundle.parent, asset);
|
||||
}
|
||||
}
|
||||
|
||||
function hmrAcceptCheck(bundle, id) {
|
||||
var modules = bundle.modules;
|
||||
|
||||
if (!modules) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!modules[id] && bundle.parent) {
|
||||
return hmrAcceptCheck(bundle.parent, id);
|
||||
}
|
||||
|
||||
if (checkedAssets[id]) {
|
||||
return;
|
||||
}
|
||||
|
||||
checkedAssets[id] = true;
|
||||
var cached = bundle.cache[id];
|
||||
assetsToAccept.push([bundle, id]);
|
||||
|
||||
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return getParents(global.parcelRequire, id).some(function (id) {
|
||||
return hmrAcceptCheck(global.parcelRequire, id);
|
||||
});
|
||||
}
|
||||
|
||||
function hmrAcceptRun(bundle, id) {
|
||||
var cached = bundle.cache[id];
|
||||
bundle.hotData = {};
|
||||
|
||||
if (cached) {
|
||||
cached.hot.data = bundle.hotData;
|
||||
}
|
||||
|
||||
if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
|
||||
cached.hot._disposeCallbacks.forEach(function (cb) {
|
||||
cb(bundle.hotData);
|
||||
});
|
||||
}
|
||||
|
||||
delete bundle.cache[id];
|
||||
bundle(id);
|
||||
cached = bundle.cache[id];
|
||||
|
||||
if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
|
||||
cached.hot._acceptCallbacks.forEach(function (cb) {
|
||||
cb();
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
},{}]},{},["../node_modules/parcel-bundler/src/builtins/hmr-runtime.js","js/main.js"], null)
|
||||
//# sourceMappingURL=/main.fb6bbcaf.js.map
|
||||
1
dist/main.fb6bbcaf.js.map
vendored
Normal file
1
dist/main.fb6bbcaf.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["js/main.js","../node_modules/parcel-bundler/src/builtins/bundle-url.js","../node_modules/parcel-bundler/src/builtins/css-loader.js"],"names":["alert","bundleURL","getBundleURLCached","getBundleURL","Error","err","matches","stack","match","getBaseURL","url","replace","exports","bundle","require","updateLink","link","newLink","cloneNode","onload","remove","href","split","Date","now","parentNode","insertBefore","nextSibling","cssTimeout","reloadCSS","setTimeout","links","document","querySelectorAll","i","length","module"],"mappings":"ACAA,ACAA,IDAIC,ACAAY,MAAM,GDAG,ACAAC,GDAG,IAAhB,ACAoB,CAAC,cAAD,CAApB;;ADCA,ACCA,AFFA,SCCSZ,ACCAa,UAAT,CAAoBC,IAApB,EAA0B,CDD1B,GAA8B;AAC5B,ACCA,MDDI,ACCAC,CDDChB,MCCM,GDDX,ACCce,EDDE,ECCE,CAACE,SAAL,EAAd;ADAEjB,ADDJD,ICCIC,CDDC,CAAC,OCCO,ADDR,CAAL,ECCgBE,YAAY,EAAxB;AACD,ACADc,EAAAA,OAAO,CAACE,MAAR,GAAiB,YAAY;AAC3BH,IAAAA,IAAI,CAACI,MAAL;ADCF,ACAC,GAFD,MDEOnB,SAAP;AACD;ACACgB,EAAAA,OAAO,CAACI,IAAR,GAAeL,IAAI,CAACK,IAAL,CAAUC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,IAA0B,GAA1B,GAAgCC,IAAI,CAACC,GAAL,EAA/C;ADEF,ACDER,EAAAA,IAAI,CAACS,EDCEtB,QCDP,CAAgBuB,GDClB,GAAwB,MCDtB,CAA6BT,OAA7B,EAAsCD,IAAI,CAACW,WAA3C;ADEA,ACDD;ADEC,MAAI;AACF,ACDJ,IAAIC,MDCM,IAAIxB,ACDA,GAAG,EDCP,EAAN,ACDJ;ADEG,GAFD,CAEE,OAAOC,GAAP,EAAY;AACZ,ACFJ,QDEQC,CCFCuB,MDEM,GAAG,ACFlB,CDEmB,ECFE,GDEGxB,GAAG,CAACE,KAAV,EAAiBC,KAAjB,CAAuB,+DAAvB,CAAd;ACDF,MAAIoB,UAAJ,EAAgB;ADEd,ACDA,QDCItB,OAAJ,EAAa;AACX,ACDH,aDCUG,UAAU,CAACH,OAAO,CAAC,CAAD,CAAR,CAAjB;AACD;AACF,ACDDsB,EAAAA,UAAU,GAAGE,UAAU,CAAC,YAAY;AAClC,QAAIC,KAAK,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,wBAA1B,CAAZ;ADEF,SAAO,GAAP;AACD,ACFG,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,UAAIrB,MAAM,CAACJ,UAAP,CAAkBsB,KAAK,CAACG,CAAD,CAAL,CAASb,IAA3B,MAAqCR,MAAM,CAACV,YAAP,EAAzC,EAAgE;ADGtE,ACFQY,QAAAA,CDECN,SCFS,CDElB,ACFmBsB,CDECrB,GAApB,CCFwB,CDEC,ACFAwB,CAAD,CAAN,CAAV;ADGN,ACFK,SDEE,CAAC,KAAKxB,GAAN,EAAWC,OAAX,CAAmB,gFAAnB,EAAqG,IAArG,IAA6G,GAApH;AACD,ACFI;;ADILC,ACFIgB,IAAAA,GDEG,CAACzB,MCFM,GAAG,GDEjB,CCFI,EDEmBD,kBAAvB;AACAU,ACFG,GATsB,EASpB,EDEE,ACXkB,CDWjBH,ACXN,UDWF,GAAqBA,UAArB;ACDC;;AAED2B,MAAM,CAACxB,OAAP,GAAiBiB,SAAjB","file":"main.fb6bbcaf.js","sourceRoot":"../src","sourcesContent":["import \"../scss/main.scss\";\n\nalert(\"done2\");\n","var bundleURL = null;\nfunction getBundleURLCached() {\n if (!bundleURL) {\n bundleURL = getBundleURL();\n }\n\n return bundleURL;\n}\n\nfunction getBundleURL() {\n // Attempt to find the URL of the current script and use that as the base URL\n try {\n throw new Error;\n } catch (err) {\n var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n return getBaseURL(matches[0]);\n }\n }\n\n return '/';\n}\n\nfunction getBaseURL(url) {\n return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/, '$1') + '/';\n}\n\nexports.getBundleURL = getBundleURLCached;\nexports.getBaseURL = getBaseURL;\n","var bundle = require('./bundle-url');\n\nfunction updateLink(link) {\n var newLink = link.cloneNode();\n newLink.onload = function () {\n link.remove();\n };\n newLink.href = link.href.split('?')[0] + '?' + Date.now();\n link.parentNode.insertBefore(newLink, link.nextSibling);\n}\n\nvar cssTimeout = null;\nfunction reloadCSS() {\n if (cssTimeout) {\n return;\n }\n\n cssTimeout = setTimeout(function () {\n var links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n for (var i = 0; i < links.length; i++) {\n if (bundle.getBaseURL(links[i].href) === bundle.getBundleURL()) {\n updateLink(links[i]);\n }\n }\n\n cssTimeout = null;\n }, 50);\n}\n\nmodule.exports = reloadCSS;\n"]}
|
||||
Reference in New Issue
Block a user