Skip to content

Commit 885ceed

Browse files
author
Ives van Hoorne
committed
Move create-react-app files to zip
1 parent 9323b3a commit 885ceed

File tree

7 files changed

+37
-2006
lines changed

7 files changed

+37
-2006
lines changed
Binary file not shown.

src/app/store/entities/sandboxes/utils/create-zip/create-react-app/files/README.md

Lines changed: 0 additions & 1863 deletions
This file was deleted.

src/app/store/entities/sandboxes/utils/create-zip/create-react-app/files/createServiceWorker.js

Lines changed: 0 additions & 52 deletions
This file was deleted.
Binary file not shown.

src/app/store/entities/sandboxes/utils/create-zip/create-react-app/files/gitignore

Lines changed: 0 additions & 21 deletions
This file was deleted.

src/app/store/entities/sandboxes/utils/create-zip/create-react-app/files/manifest.json

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 37 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
import type { Sandbox, Module, Directory } from 'common/types';
2-
3-
/* eslint-disable */
4-
// import favicon from '!base64-loader!./files/favicon.ico'; // $FlowIssue
5-
// import gitignore from '!raw-loader!./files/.gitignore'; // $FlowIssue
6-
// import manifest from '!raw-loader!./files/manifest.json'; // $FlowIssue
7-
// import serviceWorker from '!raw-loader!./files/createServiceWorker'; // $FlowIssue
8-
// import README from './files/README.md'; // $FlowIssue
9-
/* eslint-enable */
10-
2+
import files from 'buffer-loader!./files.zip'; // eslint-disable-line import/no-webpack-loader-syntax
113
import {
124
getResourceTag,
135
getIndexHtmlBody,
@@ -56,61 +48,51 @@ const getHTML = (modules, resources) =>
5648
</html>
5749
`;
5850

59-
const files = {};
60-
function importAll(r) {
61-
r.keys().forEach(key => {
62-
files[key] = r(key);
63-
});
64-
}
65-
6651
export default function createZip(
6752
zip,
6853
sandbox: Sandbox,
6954
modules: Array<Module>,
7055
directories: Array<Directory>
7156
) {
72-
importAll(require.context('./files', true, /.*/));
73-
74-
const src = zip.folder('src');
75-
src.file('createServiceWorker.js', files['./createServiceWorker.js']);
76-
modules
77-
.filter(x => x.directoryShortid == null)
78-
.filter(x => x.title !== 'index.html') // This will be included in the body
79-
.forEach(x => src.file(x.title, x.code));
57+
return zip.loadAsync(files).then(srcFolder => {
58+
const src = srcFolder.folder('src');
8059

81-
directories
82-
.filter(x => x.directoryShortid == null)
83-
.forEach(x => createDirectoryWithFiles(modules, directories, x, src));
60+
modules
61+
.filter(x => x.directoryShortid == null)
62+
.filter(x => x.title !== 'index.html') // This will be included in the body
63+
.forEach(x => src.file(x.title, x.code));
8464

85-
const publicFolder = zip.folder('public');
65+
directories
66+
.filter(x => x.directoryShortid == null)
67+
.forEach(x => createDirectoryWithFiles(modules, directories, x, src));
8668

87-
publicFolder.file('favicon.ico', files['./favicon.ico'], {
88-
base64: true,
89-
});
69+
const publicFolder = zip.folder('public');
9070

91-
publicFolder.file('index.html', getHTML(modules, sandbox.externalResources));
92-
publicFolder.file('manifest.json', files['./manifest.json']);
71+
publicFolder.file(
72+
'index.html',
73+
getHTML(modules, sandbox.externalResources)
74+
);
9375

94-
if (
95-
!modules.find(x => x.directoryShortid == null && x.title === 'README.md')
96-
) {
97-
zip.file('README.md', files['./README.md']);
98-
}
99-
zip.file(
100-
'package.json',
101-
createPackageJSON(
102-
sandbox,
103-
{},
104-
{
105-
'react-scripts': '1.0.0',
106-
},
107-
{
108-
start: 'react-scripts start',
109-
build: 'react-scripts build',
110-
test: 'react-scripts test --env=jsdom',
111-
eject: 'react-scripts eject',
112-
}
113-
)
114-
);
115-
zip.file('.gitignore', files['./gitignore']);
76+
if (
77+
!modules.find(x => x.directoryShortid == null && x.title === 'README.md')
78+
) {
79+
zip.file('README.md', files['./README.md']);
80+
}
81+
zip.file(
82+
'package.json',
83+
createPackageJSON(
84+
sandbox,
85+
{},
86+
{
87+
'react-scripts': '1.0.0',
88+
},
89+
{
90+
start: 'react-scripts start',
91+
build: 'react-scripts build',
92+
test: 'react-scripts test --env=jsdom',
93+
eject: 'react-scripts eject',
94+
}
95+
)
96+
);
97+
});
11698
}

0 commit comments

Comments
 (0)