@remotion/cli 3.1.8 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/code-frame.js +2 -1
- package/dist/editor/components/Canvas.js +2 -0
- package/dist/editor/components/CompositionSelector.js +2 -0
- package/dist/editor/components/CompositionSelectorItem.js +1 -0
- package/dist/editor/components/CurrentComposition.js +5 -0
- package/dist/editor/components/Editor.js +3 -1
- package/dist/editor/components/InitialCompositionLoader.js +13 -0
- package/dist/editor/components/MenuToolbar.js +2 -0
- package/dist/editor/components/Notifications/Notification.js +1 -1
- package/dist/editor/components/Notifications/NotificationCenter.js +1 -0
- package/dist/editor/components/PlayPause.js +41 -23
- package/dist/editor/components/PreviewToolbar.js +4 -2
- package/dist/editor/components/Splitter/SplitterElement.js +1 -0
- package/dist/editor/components/TimeValue.js +9 -5
- package/dist/editor/components/Timeline/MaxTimelineTracks.d.ts +1 -0
- package/dist/editor/components/Timeline/MaxTimelineTracks.js +5 -3
- package/dist/editor/components/Timeline/Timeline.js +11 -4
- package/dist/editor/components/Timeline/TimelineDragHandler.js +120 -23
- package/dist/editor/components/Timeline/TimelineList.js +7 -4
- package/dist/editor/components/Timeline/TimelineListItem.d.ts +1 -0
- package/dist/editor/components/Timeline/TimelineListItem.js +8 -4
- package/dist/editor/components/Timeline/TimelinePlayCursorSyncer.d.ts +2 -0
- package/dist/editor/components/Timeline/TimelinePlayCursorSyncer.js +76 -0
- package/dist/editor/components/Timeline/TimelineScrollable.js +4 -2
- package/dist/editor/components/Timeline/TimelineSlider.d.ts +3 -0
- package/dist/editor/components/Timeline/TimelineSlider.js +35 -2
- package/dist/editor/components/Timeline/TimelineSliderHandle.js +1 -3
- package/dist/editor/components/Timeline/TimelineTimeIndicators.d.ts +5 -0
- package/dist/editor/components/Timeline/TimelineTimeIndicators.js +168 -0
- package/dist/editor/components/Timeline/TimelineTracks.js +14 -9
- package/dist/editor/components/Timeline/TimelineZoomControls.js +18 -2
- package/dist/editor/components/Timeline/imperative-state.d.ts +12 -0
- package/dist/editor/components/Timeline/imperative-state.js +39 -0
- package/dist/editor/components/Timeline/timeline-refs.d.ts +2 -0
- package/dist/editor/components/Timeline/timeline-refs.js +3 -1
- package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +40 -0
- package/dist/editor/components/Timeline/timeline-scroll-logic.js +206 -1
- package/dist/editor/components/ZoomPersistor.d.ts +4 -0
- package/dist/editor/components/ZoomPersistor.js +37 -0
- package/dist/editor/helpers/colors.d.ts +1 -0
- package/dist/editor/helpers/colors.js +2 -1
- package/dist/editor/helpers/get-left-of-timeline-slider.d.ts +1 -0
- package/dist/editor/helpers/get-left-of-timeline-slider.js +7 -4
- package/dist/editor/helpers/get-timeline-sequence-layout.js +29 -9
- package/dist/editor/icons/minus.d.ts +3 -0
- package/dist/editor/icons/minus.js +8 -0
- package/dist/editor/icons/plus.d.ts +3 -0
- package/dist/editor/icons/plus.js +8 -0
- package/dist/editor/state/timeline-zoom.d.ts +1 -1
- package/dist/editor/state/timeline-zoom.js +15 -1
- package/dist/handle-common-errors.js +5 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +1 -0
- package/dist/preview-server/error-overlay/remotion-overlay/Button.js +9 -2
- package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +5 -1
- package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.js +24 -0
- package/dist/preview-server/live-events.js +4 -0
- package/dist/preview-server/routes.js +16 -2
- package/dist/preview-server/start-server.js +1 -1
- package/dist/upgrade.js +1 -0
- package/dist/versions.js +1 -0
- package/package.json +7 -7
- package/dist/bundle-on-cli.d.ts +0 -2
- package/dist/bundle-on-cli.js +0 -41
- package/dist/bundle.d.ts +0 -1
- package/dist/bundle.js +0 -31
- package/dist/chalk/symbols.d.ts +0 -111
- package/dist/chalk/symbols.js +0 -75
- package/dist/chalk/utilities.d.ts +0 -2
- package/dist/chalk/utilities.js +0 -37
- package/dist/editor/components/CompositionManager.d.ts +0 -4
- package/dist/editor/components/CompositionManager.js +0 -60
- package/dist/editor/components/LoadingIndicator.d.ts +0 -2
- package/dist/editor/components/LoadingIndicator.js +0 -35
- package/dist/prepare-entry-point.d.ts +0 -11
- package/dist/prepare-entry-point.js +0 -36
- package/dist/preview-server/fast-refresh/helpers.d.ts +0 -39
- package/dist/preview-server/fast-refresh/helpers.js +0 -145
- package/dist/preview-server/fast-refresh/index.d.ts +0 -30
- package/dist/preview-server/fast-refresh/index.js +0 -86
- package/dist/preview-server/fast-refresh/loader.d.ts +0 -35
- package/dist/preview-server/fast-refresh/loader.js +0 -81
- package/dist/preview-server/fast-refresh/runtime.d.ts +0 -35
- package/dist/preview-server/fast-refresh/runtime.js +0 -32
- package/dist/preview-server/static-preview.d.ts +0 -1
- package/dist/preview-server/static-preview.js +0 -40
- package/dist/preview-server/webpack-cache.d.ts +0 -12
- package/dist/preview-server/webpack-cache.js +0 -66
- package/dist/webpack-cache.d.ts +0 -12
- package/dist/webpack-cache.js +0 -66
package/dist/chalk/utilities.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stringEncaseCRLFWithFirstIndex = exports.stringReplaceAll = void 0;
|
|
4
|
-
function stringReplaceAll(string, substring, replacer) {
|
|
5
|
-
let index = string.indexOf(substring);
|
|
6
|
-
if (index === -1) {
|
|
7
|
-
return string;
|
|
8
|
-
}
|
|
9
|
-
const substringLength = substring.length;
|
|
10
|
-
let endIndex = 0;
|
|
11
|
-
let returnValue = '';
|
|
12
|
-
do {
|
|
13
|
-
returnValue += string.slice(endIndex, index) + substring + replacer;
|
|
14
|
-
endIndex = index + substringLength;
|
|
15
|
-
index = string.indexOf(substring, endIndex);
|
|
16
|
-
} while (index !== -1);
|
|
17
|
-
returnValue += string.slice(endIndex);
|
|
18
|
-
return returnValue;
|
|
19
|
-
}
|
|
20
|
-
exports.stringReplaceAll = stringReplaceAll;
|
|
21
|
-
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
|
|
22
|
-
let endIndex = 0;
|
|
23
|
-
let returnValue = '';
|
|
24
|
-
do {
|
|
25
|
-
const gotCR = string[index - 1] === '\r';
|
|
26
|
-
returnValue +=
|
|
27
|
-
string.slice(endIndex, gotCR ? index - 1 : index) +
|
|
28
|
-
prefix +
|
|
29
|
-
(gotCR ? '\r\n' : '\n') +
|
|
30
|
-
postfix;
|
|
31
|
-
endIndex = index + 1;
|
|
32
|
-
index = string.indexOf('\n', endIndex);
|
|
33
|
-
} while (index !== -1);
|
|
34
|
-
returnValue += string.slice(endIndex);
|
|
35
|
-
return returnValue;
|
|
36
|
-
}
|
|
37
|
-
exports.stringEncaseCRLFWithFirstIndex = stringEncaseCRLFWithFirstIndex;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InitialCompositionLoader = exports.useSelectComposition = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const remotion_1 = require("remotion");
|
|
6
|
-
const folders_1 = require("../state/folders");
|
|
7
|
-
const marks_1 = require("../state/marks");
|
|
8
|
-
const CompositionSelector_1 = require("./CompositionSelector");
|
|
9
|
-
const FramePersistor_1 = require("./FramePersistor");
|
|
10
|
-
const TimelineInOutToggle_1 = require("./TimelineInOutToggle");
|
|
11
|
-
const useSelectComposition = () => {
|
|
12
|
-
const setCurrentFrame = remotion_1.Internals.Timeline.useTimelineSetFrame();
|
|
13
|
-
const { setCurrentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
14
|
-
const { setFoldersExpanded } = (0, react_1.useContext)(folders_1.FolderContext);
|
|
15
|
-
return (c) => {
|
|
16
|
-
var _a;
|
|
17
|
-
(_a = TimelineInOutToggle_1.inOutHandles.current) === null || _a === void 0 ? void 0 : _a.setMarks((0, marks_1.loadMarks)(c.id, c.durationInFrames));
|
|
18
|
-
window.history.pushState({}, 'Preview', `/${c.id}`);
|
|
19
|
-
const frame = (0, FramePersistor_1.getFrameForComposition)(c.id);
|
|
20
|
-
const frameInBounds = Math.min(c.durationInFrames - 1, frame);
|
|
21
|
-
setCurrentFrame(frameInBounds);
|
|
22
|
-
setCurrentComposition(c.id);
|
|
23
|
-
const { folderName, parentFolderName } = c;
|
|
24
|
-
if (folderName !== null) {
|
|
25
|
-
setFoldersExpanded((ex) => {
|
|
26
|
-
const keysToExpand = (0, CompositionSelector_1.getKeysToExpand)(folderName, parentFolderName);
|
|
27
|
-
const newState = {
|
|
28
|
-
...ex,
|
|
29
|
-
};
|
|
30
|
-
for (const key of keysToExpand) {
|
|
31
|
-
newState[key] = true;
|
|
32
|
-
}
|
|
33
|
-
return newState;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
exports.useSelectComposition = useSelectComposition;
|
|
39
|
-
const InitialCompositionLoader = () => {
|
|
40
|
-
const { compositions, currentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
41
|
-
const selectComposition = (0, exports.useSelectComposition)();
|
|
42
|
-
(0, react_1.useEffect)(() => {
|
|
43
|
-
if (currentComposition) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const compositionFromUrl = (0, FramePersistor_1.getCurrentCompositionFromUrl)();
|
|
47
|
-
if (compositionFromUrl) {
|
|
48
|
-
const exists = compositions.find((c) => c.id === compositionFromUrl);
|
|
49
|
-
if (exists) {
|
|
50
|
-
selectComposition(exists);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (compositions.length > 0) {
|
|
55
|
-
selectComposition(compositions[0]);
|
|
56
|
-
}
|
|
57
|
-
}, [compositions, currentComposition, selectComposition]);
|
|
58
|
-
return null;
|
|
59
|
-
};
|
|
60
|
-
exports.InitialCompositionLoader = InitialCompositionLoader;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Loading = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const remotion_1 = require("remotion");
|
|
6
|
-
const rotate = {
|
|
7
|
-
transform: `rotate(90deg)`,
|
|
8
|
-
};
|
|
9
|
-
const ICON_SIZE = 40;
|
|
10
|
-
const label = {
|
|
11
|
-
color: '#555',
|
|
12
|
-
fontSize: 14,
|
|
13
|
-
fontFamily: 'sans-serif',
|
|
14
|
-
};
|
|
15
|
-
const container = {
|
|
16
|
-
justifyContent: 'center',
|
|
17
|
-
alignItems: 'center',
|
|
18
|
-
};
|
|
19
|
-
const Loading = () => {
|
|
20
|
-
return ((0, jsx_runtime_1.jsxs)(remotion_1.AbsoluteFill, { style: container, id: "remotion-comp-loading", children: [(0, jsx_runtime_1.jsx)("style", { type: "text/css", children: `
|
|
21
|
-
@keyframes anim {
|
|
22
|
-
from {
|
|
23
|
-
opacity: 0
|
|
24
|
-
}
|
|
25
|
-
to {
|
|
26
|
-
opacity: 1
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
#remotion-comp-loading {
|
|
30
|
-
animation: anim 2s;
|
|
31
|
-
animation-fill-mode: forwards;
|
|
32
|
-
}
|
|
33
|
-
` }), (0, jsx_runtime_1.jsx)("svg", { width: ICON_SIZE, height: ICON_SIZE, viewBox: "-100 -100 400 400", style: rotate, children: (0, jsx_runtime_1.jsx)("path", { fill: "#555", stroke: "#555", strokeWidth: "100", strokeLinejoin: "round", d: "M 2 172 a 196 100 0 0 0 195 5 A 196 240 0 0 0 100 2.259 A 196 240 0 0 0 2 172 z" }) }), (0, jsx_runtime_1.jsx)("p", { style: label, children: "Loading..." })] }));
|
|
34
|
-
};
|
|
35
|
-
exports.Loading = Loading;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RenderStep } from './step';
|
|
2
|
-
export declare const prepareEntryPoint: ({ file, otherSteps, publicPath, outDir, }: {
|
|
3
|
-
file: string;
|
|
4
|
-
otherSteps: RenderStep[];
|
|
5
|
-
outDir: string | null;
|
|
6
|
-
publicPath: string | null;
|
|
7
|
-
}) => Promise<{
|
|
8
|
-
urlOrBundle: string;
|
|
9
|
-
steps: RenderStep[];
|
|
10
|
-
shouldDelete: boolean;
|
|
11
|
-
}>;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prepareEntryPoint = void 0;
|
|
7
|
-
const renderer_1 = require("@remotion/renderer");
|
|
8
|
-
const promises_1 = require("fs/promises");
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const process_1 = require("process");
|
|
11
|
-
const log_1 = require("./log");
|
|
12
|
-
const setup_cache_1 = require("./setup-cache");
|
|
13
|
-
const prepareEntryPoint = async ({ file, otherSteps, publicPath, outDir, }) => {
|
|
14
|
-
if (renderer_1.RenderInternals.isServeUrl(file)) {
|
|
15
|
-
return { urlOrBundle: file, steps: otherSteps, shouldDelete: false };
|
|
16
|
-
}
|
|
17
|
-
const joined = path_1.default.resolve(process.cwd(), file);
|
|
18
|
-
try {
|
|
19
|
-
const stats = await (0, promises_1.stat)(joined);
|
|
20
|
-
if (stats.isDirectory()) {
|
|
21
|
-
return { urlOrBundle: joined, steps: otherSteps, shouldDelete: false };
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch (err) {
|
|
25
|
-
log_1.Log.error(`No file or directory exists at ${joined}.`);
|
|
26
|
-
(0, process_1.exit)(1);
|
|
27
|
-
}
|
|
28
|
-
const urlOrBundle = await (0, setup_cache_1.bundleOnCli)({
|
|
29
|
-
fullPath: joined,
|
|
30
|
-
steps: ['bundling', ...otherSteps],
|
|
31
|
-
outDir,
|
|
32
|
-
publicPath,
|
|
33
|
-
});
|
|
34
|
-
return { urlOrBundle, steps: ['bundling', ...otherSteps], shouldDelete: true };
|
|
35
|
-
};
|
|
36
|
-
exports.prepareEntryPoint = prepareEntryPoint;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* MIT License
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
8
|
-
*
|
|
9
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
11
|
-
* in the Software without restriction, including without limitation the rights
|
|
12
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
14
|
-
* furnished to do so, subject to the following conditions:
|
|
15
|
-
*
|
|
16
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
17
|
-
* copies or substantial portions of the Software.
|
|
18
|
-
*
|
|
19
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
-
* SOFTWARE.
|
|
26
|
-
*/
|
|
27
|
-
declare function registerExportsForReactRefresh(moduleExports: unknown, moduleID: unknown): void;
|
|
28
|
-
declare function isReactRefreshBoundary(moduleExports: unknown): boolean;
|
|
29
|
-
declare function shouldInvalidateReactRefreshBoundary(prevExports: unknown, nextExports: unknown): boolean;
|
|
30
|
-
declare function getRefreshBoundarySignature(moduleExports: unknown): any[];
|
|
31
|
-
declare function scheduleUpdate(): void;
|
|
32
|
-
declare const _default: {
|
|
33
|
-
registerExportsForReactRefresh: typeof registerExportsForReactRefresh;
|
|
34
|
-
isReactRefreshBoundary: typeof isReactRefreshBoundary;
|
|
35
|
-
shouldInvalidateReactRefreshBoundary: typeof shouldInvalidateReactRefreshBoundary;
|
|
36
|
-
getRefreshBoundarySignature: typeof getRefreshBoundarySignature;
|
|
37
|
-
scheduleUpdate: typeof scheduleUpdate;
|
|
38
|
-
};
|
|
39
|
-
export default _default;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* MIT License
|
|
7
|
-
*
|
|
8
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
9
|
-
*
|
|
10
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
* in the Software without restriction, including without limitation the rights
|
|
13
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
* furnished to do so, subject to the following conditions:
|
|
16
|
-
*
|
|
17
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
18
|
-
* copies or substantial portions of the Software.
|
|
19
|
-
*
|
|
20
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
-
* SOFTWARE.
|
|
27
|
-
*/
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
// This file is copied from the Metro JavaScript bundler, with minor tweaks for
|
|
30
|
-
// webpack compatibility.
|
|
31
|
-
//
|
|
32
|
-
// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js
|
|
33
|
-
const RefreshRuntime = require('react-refresh/runtime');
|
|
34
|
-
function isSafeExport(key) {
|
|
35
|
-
return (key === '__esModule' ||
|
|
36
|
-
key === '__N_SSG' ||
|
|
37
|
-
key === '__N_SSP' ||
|
|
38
|
-
key === 'config');
|
|
39
|
-
}
|
|
40
|
-
function registerExportsForReactRefresh(moduleExports, moduleID) {
|
|
41
|
-
RefreshRuntime.register(moduleExports, moduleID + ' %exports%');
|
|
42
|
-
if (moduleExports === null ||
|
|
43
|
-
moduleExports === undefined ||
|
|
44
|
-
typeof moduleExports !== 'object') {
|
|
45
|
-
// Exit if we can't iterate over exports.
|
|
46
|
-
// (This is important for legacy environments.)
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
for (const key in moduleExports) {
|
|
50
|
-
if (isSafeExport(key)) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
// @ts-expect-error
|
|
54
|
-
const exportValue = moduleExports[key];
|
|
55
|
-
const typeID = moduleID + ' %exports% ' + key;
|
|
56
|
-
RefreshRuntime.register(exportValue, typeID);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function isReactRefreshBoundary(moduleExports) {
|
|
60
|
-
if (RefreshRuntime.isLikelyComponentType(moduleExports)) {
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
if (moduleExports === null ||
|
|
64
|
-
moduleExports === undefined ||
|
|
65
|
-
typeof moduleExports !== 'object') {
|
|
66
|
-
// Exit if we can't iterate over exports.
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
let hasExports = false;
|
|
70
|
-
let areAllExportsComponents = true;
|
|
71
|
-
for (const key in moduleExports) {
|
|
72
|
-
hasExports = true;
|
|
73
|
-
if (isSafeExport(key)) {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
// @ts-expect-error
|
|
77
|
-
const exportValue = moduleExports[key];
|
|
78
|
-
if (!RefreshRuntime.isLikelyComponentType(exportValue)) {
|
|
79
|
-
areAllExportsComponents = false;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return hasExports && areAllExportsComponents;
|
|
83
|
-
}
|
|
84
|
-
function shouldInvalidateReactRefreshBoundary(prevExports, nextExports) {
|
|
85
|
-
const prevSignature = getRefreshBoundarySignature(prevExports);
|
|
86
|
-
const nextSignature = getRefreshBoundarySignature(nextExports);
|
|
87
|
-
if (prevSignature.length !== nextSignature.length) {
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
for (let i = 0; i < nextSignature.length; i++) {
|
|
91
|
-
if (prevSignature[i] !== nextSignature[i]) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
function getRefreshBoundarySignature(moduleExports) {
|
|
98
|
-
const signature = [];
|
|
99
|
-
signature.push(RefreshRuntime.getFamilyByType(moduleExports));
|
|
100
|
-
if (moduleExports === null ||
|
|
101
|
-
moduleExports === undefined ||
|
|
102
|
-
typeof moduleExports !== 'object') {
|
|
103
|
-
// Exit if we can't iterate over exports.
|
|
104
|
-
// (This is important for legacy environments.)
|
|
105
|
-
return signature;
|
|
106
|
-
}
|
|
107
|
-
for (const key in moduleExports) {
|
|
108
|
-
if (isSafeExport(key)) {
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
// @ts-expect-error
|
|
112
|
-
const exportValue = moduleExports[key];
|
|
113
|
-
signature.push(key);
|
|
114
|
-
signature.push(RefreshRuntime.getFamilyByType(exportValue));
|
|
115
|
-
}
|
|
116
|
-
return signature;
|
|
117
|
-
}
|
|
118
|
-
function scheduleUpdate() {
|
|
119
|
-
var _a, _b;
|
|
120
|
-
const execute = () => {
|
|
121
|
-
try {
|
|
122
|
-
RefreshRuntime.performReactRefresh();
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\n' +
|
|
126
|
-
err);
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
// Only trigger refresh if the webpack HMR state is idle
|
|
130
|
-
if (((_a = module.hot) === null || _a === void 0 ? void 0 : _a.status()) === 'idle') {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
(_b = module.hot) === null || _b === void 0 ? void 0 : _b.addStatusHandler((status) => {
|
|
134
|
-
if (status === 'idle') {
|
|
135
|
-
execute();
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
exports.default = {
|
|
140
|
-
registerExportsForReactRefresh,
|
|
141
|
-
isReactRefreshBoundary,
|
|
142
|
-
shouldInvalidateReactRefreshBoundary,
|
|
143
|
-
getRefreshBoundarySignature,
|
|
144
|
-
scheduleUpdate,
|
|
145
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The MIT License (MIT)
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) 2020 Vercel, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
11
|
-
* in the Software without restriction, including without limitation the rights
|
|
12
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
14
|
-
* furnished to do so, subject to the following conditions:
|
|
15
|
-
*
|
|
16
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
17
|
-
* copies or substantial portions of the Software.
|
|
18
|
-
*
|
|
19
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
-
* SOFTWARE.
|
|
26
|
-
*/
|
|
27
|
-
import webpack from 'webpack';
|
|
28
|
-
export declare class ReactFreshWebpackPlugin {
|
|
29
|
-
apply(compiler: webpack.Compiler): void;
|
|
30
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ReactFreshWebpackPlugin = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* The MIT License (MIT)
|
|
9
|
-
*
|
|
10
|
-
* Copyright (c) 2020 Vercel, Inc.
|
|
11
|
-
*
|
|
12
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
13
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
14
|
-
* in the Software without restriction, including without limitation the rights
|
|
15
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
16
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
17
|
-
* furnished to do so, subject to the following conditions:
|
|
18
|
-
*
|
|
19
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
20
|
-
* copies or substantial portions of the Software.
|
|
21
|
-
*
|
|
22
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
23
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
24
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
25
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
26
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
|
-
* SOFTWARE.
|
|
29
|
-
*/
|
|
30
|
-
// This file is copied from the @vercel/next.js, with removed TS annotations
|
|
31
|
-
// minor tweaks, and removed all webpack v4-related functionality
|
|
32
|
-
//
|
|
33
|
-
// https://github.com/vercel/next.js/blob/canary/packages/react-refresh-utils/ReactRefreshWebpackPlugin.ts
|
|
34
|
-
const webpack_1 = require("webpack");
|
|
35
|
-
class ReactRefreshRuntimeModule extends webpack_1.RuntimeModule {
|
|
36
|
-
constructor() {
|
|
37
|
-
super('react refresh', 5);
|
|
38
|
-
}
|
|
39
|
-
generate() {
|
|
40
|
-
const { runtimeTemplate } = this.compilation;
|
|
41
|
-
return webpack_1.Template.asString([
|
|
42
|
-
`${webpack_1.RuntimeGlobals.interceptModuleExecution}.push(${runtimeTemplate.basicFunction('options', [
|
|
43
|
-
`const originalFactory = options.factory;`,
|
|
44
|
-
`options.factory = ${runtimeTemplate.basicFunction('moduleObject, moduleExports, webpackRequire', [
|
|
45
|
-
// Legacy CSS implementations will `eval` browser code in a Node.js
|
|
46
|
-
// context to extract CSS. For backwards compatibility, we need to check
|
|
47
|
-
// we're in a browser context before continuing.
|
|
48
|
-
`const hasRefresh = typeof self !== "undefined" && !!self.$RefreshInterceptModuleExecution$;`,
|
|
49
|
-
`const cleanup = hasRefresh ? self.$RefreshInterceptModuleExecution$(moduleObject.id) : () => {};`,
|
|
50
|
-
'try {',
|
|
51
|
-
webpack_1.Template.indent('originalFactory.call(this, moduleObject, moduleExports, webpackRequire);'),
|
|
52
|
-
'} finally {',
|
|
53
|
-
webpack_1.Template.indent(`cleanup();`),
|
|
54
|
-
'}',
|
|
55
|
-
])}`,
|
|
56
|
-
])})`,
|
|
57
|
-
]);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
class ReactFreshWebpackPlugin {
|
|
61
|
-
apply(compiler) {
|
|
62
|
-
const webpackMajorVersion = parseInt(webpack_1.version !== null && webpack_1.version !== void 0 ? webpack_1.version : '', 10);
|
|
63
|
-
if (webpackMajorVersion < 5) {
|
|
64
|
-
throw new Error(`ReactFreshWebpackPlugin does not support webpack v${webpackMajorVersion}.`);
|
|
65
|
-
}
|
|
66
|
-
compiler.hooks.compilation.tap(this.constructor.name, (compilation) => {
|
|
67
|
-
compilation.mainTemplate.hooks.localVars.tap(this.constructor.name, (source) => webpack_1.Template.asString([
|
|
68
|
-
source,
|
|
69
|
-
'',
|
|
70
|
-
'// noop fns to prevent runtime errors during initialization',
|
|
71
|
-
'if (typeof self !== "undefined") {',
|
|
72
|
-
webpack_1.Template.indent('self.$RefreshReg$ = function () {};'),
|
|
73
|
-
webpack_1.Template.indent('self.$RefreshSig$ = function () {'),
|
|
74
|
-
webpack_1.Template.indent(webpack_1.Template.indent('return function (type) {')),
|
|
75
|
-
webpack_1.Template.indent(webpack_1.Template.indent(webpack_1.Template.indent('return type;'))),
|
|
76
|
-
webpack_1.Template.indent(webpack_1.Template.indent('};')),
|
|
77
|
-
webpack_1.Template.indent('};'),
|
|
78
|
-
'}',
|
|
79
|
-
]));
|
|
80
|
-
compilation.hooks.additionalTreeRuntimeRequirements.tap(this.constructor.name, (chunk) => {
|
|
81
|
-
compilation.addRuntimeModule(chunk, new ReactRefreshRuntimeModule());
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.ReactFreshWebpackPlugin = ReactFreshWebpackPlugin;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ⚠️ Be careful when refactoring this file!
|
|
3
|
-
* This gets injected into every file of the browser.
|
|
4
|
-
* You cannot have returns, optional chains, inverse the if statement etc.
|
|
5
|
-
* Check the Typescript output in dist/ to see that no extra `var` statements were produced
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* The MIT License (MIT)
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) 2020 Vercel, Inc.
|
|
14
|
-
*
|
|
15
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
16
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
17
|
-
* in the Software without restriction, including without limitation the rights
|
|
18
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
19
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
20
|
-
* furnished to do so, subject to the following conditions:
|
|
21
|
-
*
|
|
22
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
23
|
-
* copies or substantial portions of the Software.
|
|
24
|
-
*
|
|
25
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
26
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
27
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
28
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
29
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
30
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
31
|
-
* SOFTWARE.
|
|
32
|
-
*/
|
|
33
|
-
import { LoaderDefinition } from 'webpack';
|
|
34
|
-
declare const ReactRefreshLoader: LoaderDefinition;
|
|
35
|
-
export default ReactRefreshLoader;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* ⚠️ Be careful when refactoring this file!
|
|
4
|
-
* This gets injected into every file of the browser.
|
|
5
|
-
* You cannot have returns, optional chains, inverse the if statement etc.
|
|
6
|
-
* Check the Typescript output in dist/ to see that no extra `var` statements were produced
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
// This file is copied from the @vercel/next.js, with removed TS annotations
|
|
10
|
-
//
|
|
11
|
-
// https://github.com/vercel/next.js/blob/canary/packages/react-refresh-utils/loader.ts
|
|
12
|
-
// This function gets unwrapped into global scope, which is why we don't invert
|
|
13
|
-
// if-blocks. Also, you cannot use `return`.
|
|
14
|
-
function RefreshModuleRuntime() {
|
|
15
|
-
// Legacy CSS implementations will `eval` browser code in a Node.js context
|
|
16
|
-
// to extract CSS. For backwards compatibility, we need to check we're in a
|
|
17
|
-
// browser context before continuing.
|
|
18
|
-
if (typeof self !== 'undefined' &&
|
|
19
|
-
// AMP / No-JS mode does not inject these helpers:
|
|
20
|
-
'$RefreshHelpers$' in self) {
|
|
21
|
-
// @ts-expect-error
|
|
22
|
-
// eslint-disable-next-line no-proto
|
|
23
|
-
const currentExports = module.__proto__.exports;
|
|
24
|
-
let prevExports = null;
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
26
|
-
if (module.hot && module.hot.data && module.hot.data.prevExports) {
|
|
27
|
-
prevExports = module.hot.data.prevExports;
|
|
28
|
-
}
|
|
29
|
-
// This cannot happen in MainTemplate because the exports mismatch between
|
|
30
|
-
// templating and execution.
|
|
31
|
-
self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);
|
|
32
|
-
// A module can be accepted automatically based on its exports, e.g. when
|
|
33
|
-
// it is a Refresh Boundary.
|
|
34
|
-
if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {
|
|
35
|
-
// Save the previous exports on update so we can compare the boundary
|
|
36
|
-
// signatures.
|
|
37
|
-
module.hot.dispose((data) => {
|
|
38
|
-
data.prevExports = currentExports;
|
|
39
|
-
});
|
|
40
|
-
// Unconditionally accept an update to this module, we'll check if it's
|
|
41
|
-
// still a Refresh Boundary later.
|
|
42
|
-
module.hot.accept();
|
|
43
|
-
// This field is set when the previous version of this module was a
|
|
44
|
-
// Refresh Boundary, letting us know we need to check for invalidation or
|
|
45
|
-
// enqueue an update.
|
|
46
|
-
if (prevExports !== null) {
|
|
47
|
-
// A boundary can become ineligible if its exports are incompatible
|
|
48
|
-
// with the previous exports.
|
|
49
|
-
//
|
|
50
|
-
// For example, if you add/remove/change exports, we'll want to
|
|
51
|
-
// re-execute the importing modules, and force those components to
|
|
52
|
-
// re-render. Similarly, if you convert a class component to a
|
|
53
|
-
// function, we want to invalidate the boundary.
|
|
54
|
-
if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {
|
|
55
|
-
// @ts-expect-error
|
|
56
|
-
module.hot.invalidate();
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
self.$RefreshHelpers$.scheduleUpdate();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
// Since we just executed the code for the module, it's possible that the
|
|
65
|
-
// new exports made it ineligible for being a boundary.
|
|
66
|
-
// We only care about the case when we were _previously_ a boundary,
|
|
67
|
-
// because we already accepted this update (accidental side effect).
|
|
68
|
-
const isNoLongerABoundary = prevExports !== null;
|
|
69
|
-
if (isNoLongerABoundary) {
|
|
70
|
-
// @ts-expect-error
|
|
71
|
-
module.hot.invalidate();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
let refreshModuleRuntime = RefreshModuleRuntime.toString();
|
|
77
|
-
refreshModuleRuntime = refreshModuleRuntime.slice(refreshModuleRuntime.indexOf('{') + 1, refreshModuleRuntime.lastIndexOf('}'));
|
|
78
|
-
const ReactRefreshLoader = function (source, inputSourceMap) {
|
|
79
|
-
this.callback(null, `${source}\n\n;${refreshModuleRuntime}`, inputSourceMap);
|
|
80
|
-
};
|
|
81
|
-
exports.default = ReactRefreshLoader;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Source code is adapted from https://github.com/WebHotelier/webpack-fast-refresh#readme and rewritten in Typescript. This file is MIT licensed.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The MIT License (MIT)
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) 2020 Vercel, Inc.
|
|
8
|
-
*
|
|
9
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
11
|
-
* in the Software without restriction, including without limitation the rights
|
|
12
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
14
|
-
* furnished to do so, subject to the following conditions:
|
|
15
|
-
*
|
|
16
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
17
|
-
* copies or substantial portions of the Software.
|
|
18
|
-
*
|
|
19
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
-
* SOFTWARE.
|
|
26
|
-
*/
|
|
27
|
-
declare global {
|
|
28
|
-
interface Window {
|
|
29
|
-
$RefreshReg$: (type: string, id?: string) => void;
|
|
30
|
-
$RefreshSig$: () => (type: string) => unknown;
|
|
31
|
-
$RefreshHelpers$: typeof RefreshHelpers;
|
|
32
|
-
$RefreshInterceptModuleExecution$: (webpackId: unknown) => () => void;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
import RefreshHelpers from './helpers';
|