Skip to content

Commit 5c9b339

Browse files
committed
new version
1 parent 7db6b3b commit 5c9b339

File tree

2,114 files changed

+467929
-266758
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,114 files changed

+467929
-266758
lines changed

.prettierignore

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1+
!/standalone-packages/vscode/src/vs/codesandbox/
2+
!/standalone-packages/vscode/src/vs/codesandbox/*
3+
!/standalone-packages/vscode/src/vs/codesandbox/**/*.ts
4+
!/standalone-packages/vscode/src/vs/codesandbox/**/*.*
5+
16
static/
2-
package.json
3-
standalone-packages/vscode
4-
standalone-packages/
7+
/package.json
8+
/standalone-packages/*

Gulpfile.js

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,44 @@
11
const gulp = require('gulp');
2+
const _rimraf = require('rimraf');
23

3-
gulp.task('app', function() {
4-
return gulp.src('packages/app/www/**/*').pipe(gulp.dest('www'));
5-
});
4+
function rimraf(dir) {
5+
let retries = 0;
66

7-
gulp.task('homepage', function() {
8-
return gulp.src('packages/homepage/public/**/*').pipe(gulp.dest('www'));
9-
});
7+
const retry = cb => {
8+
_rimraf(dir, { maxBusyTries: 1 }, err => {
9+
if (!err) {
10+
return cb();
11+
}
1012

11-
gulp.task('statics', function() {
12-
return gulp.src('packages/app/public/**/*').pipe(gulp.dest('www'));
13-
});
13+
if (err.code === 'ENOTEMPTY' && ++retries < 5) {
14+
return setTimeout(() => retry(cb), 10);
15+
}
16+
17+
return cb(err);
18+
});
19+
};
20+
21+
return cb => retry(cb);
22+
}
23+
24+
gulp.task('app', () =>
25+
gulp.src('packages/app/www/**/*').pipe(gulp.dest('www'))
26+
);
27+
28+
gulp.task('homepage', () =>
29+
gulp.src('packages/homepage/public/**/*').pipe(gulp.dest('www'))
30+
);
31+
32+
gulp.task('statics', () =>
33+
gulp.src('packages/app/public/**/*').pipe(gulp.dest('www'))
34+
);
1435

1536
gulp.task('default', ['app', 'homepage', 'statics']);
37+
38+
gulp.task('clean-vscode', rimraf('standalone-packages/monaco-editor-core'));
39+
40+
gulp.task('prepare-vscode', ['clean-vscode'], () =>
41+
gulp
42+
.src('standalone-packages/vscode/out-monaco-editor-core/**/*')
43+
.pipe(gulp.dest('standalone-packages/monaco-editor-core'))
44+
);

packages/app/config/webpack.common.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -443,16 +443,16 @@ module.exports = {
443443
new CopyWebpackPlugin(
444444
[
445445
// Our own custom version of monaco
446-
!process.env.VSCODE && {
446+
{
447447
from: __DEV__
448448
? '../../standalone-packages/monaco-editor/release/dev/vs'
449449
: '../../standalone-packages/monaco-editor/release/min/vs',
450450
to: 'public/13/vs',
451451
force: true,
452452
},
453453
{
454-
from: '../../standalone-packages/resolver/out',
455-
to: 'public/vscode',
454+
from: '../../standalone-packages/monaco-editor/release/min/vs',
455+
to: 'public/vscode/vs',
456456
force: true,
457457
},
458458
__PROD__ && {

packages/app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
"circular-json": "^0.4.0",
145145
"codemirror": "^5.27.4",
146146
"codesandbox-api": "^0.0.18",
147-
"codesandbox-import-utils": "^1.3.0",
147+
"codesandbox-import-utils": "^1.3.3",
148148
"color": "^0.11.4",
149149
"compare-versions": "^3.1.0",
150150
"console-feed": "^2.8.0",

packages/app/src/app/components/CodeEditor/Monaco/MonacoReactComponent.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class MonacoEditor extends React.PureComponent {
5252
openModel: model => this.props.openReference(model),
5353
};
5454

55-
const appliedOptions = { ...options };
55+
let appliedOptions = { ...options };
5656

5757
const fonts = appliedOptions.fontFamily.split(',').map(x => x.trim());
5858
// We first just set the default fonts for the editor. When the custom font has loaded
@@ -78,6 +78,10 @@ class MonacoEditor extends React.PureComponent {
7878

7979
appliedOptions.fontFamily = fonts.slice(1).join(', ');
8080

81+
if (localStorage.getItem('settings.experimentVSCode') === 'true') {
82+
appliedOptions = {};
83+
}
84+
8185
this.editor = context.monaco.editor[
8286
diffEditor ? 'createDiffEditor' : 'create'
8387
](this.containerElement, appliedOptions);

packages/app/src/app/components/CodeEditor/VSCode/MonacoReactComponent.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ class MonacoEditor extends React.PureComponent {
3939
};
4040

4141
afterViewInit = () => {
42-
const context = this.props.context || window;
43-
4442
require('app/vscode/dev-bootstrap').default([
4543
'vs/editor/codesandbox.editor.main',
4644
])(() => {
@@ -91,7 +89,7 @@ class MonacoEditor extends React.PureComponent {
9189
{ IEditorService },
9290
{ ICodeEditorService },
9391
{ ITextFileService },
94-
{ ILifecycleService, LifecyclePhase },
92+
{ ILifecycleService },
9593
{ IEditorGroupsService },
9694
] = [
9795
r('vs/codesandbox/services/codesandbox/browser/codesandboxService'),
@@ -106,14 +104,6 @@ class MonacoEditor extends React.PureComponent {
106104

107105
const container = document.createElement('div');
108106
const part = document.createElement('div');
109-
110-
const editorElement = document.getElementById('workbench.main.container');
111-
container.className = 'monaco-workbench';
112-
editorElement.className += ' monaco-workbench mac nopanel';
113-
editorElement.id = 'workbench.main.container';
114-
115-
part.className = 'part editor has-watermark';
116-
117107
container.appendChild(part);
118108

119109
const rootEl = document.getElementById('vscode-container');
@@ -127,6 +117,14 @@ class MonacoEditor extends React.PureComponent {
127117
i.createInstance(CodeSandboxService, controller),
128118
},
129119
services => {
120+
const editorElement = document.getElementById(
121+
'workbench.main.container'
122+
);
123+
124+
container.className = 'monaco-workbench';
125+
part.className = 'part editor has-watermark';
126+
editorElement.className += ' monaco-workbench mac nopanel';
127+
130128
const EditorPart = services.get(IEditorGroupsService);
131129
EditorPart.create(part);
132130

@@ -141,7 +139,7 @@ class MonacoEditor extends React.PureComponent {
141139

142140
const lifecycleService = services.get(ILifecycleService);
143141

144-
lifecycleService.phase = LifecyclePhase.Running;
142+
lifecycleService.phase = 3; // Running
145143

146144
const editorApi = {
147145
openFile(path: string) {
@@ -156,7 +154,9 @@ class MonacoEditor extends React.PureComponent {
156154
editorPart: EditorPart,
157155
editorService,
158156
};
159-
console.log(services);
157+
if (process.env.NODE_ENV === 'development') {
158+
console.log(services);
159+
}
160160

161161
// After initializing monaco editor
162162
this.editorDidMount(editorApi, context.monaco);

packages/app/src/app/components/CodeEditor/VSCode/index.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import LinterWorker from 'worker-loader?publicPath=/&name=monaco-linter.[hash:8]
2626

2727
import MonacoEditorComponent from './MonacoReactComponent';
2828
import type { EditorAPI } from './MonacoReactComponent';
29-
import { Container, CodeContainer } from './elements';
29+
import { Container } from './elements';
3030
import defineTheme from '../Monaco/define-theme';
3131
import getSettings from '../Monaco/settings';
3232

@@ -220,7 +220,7 @@ class MonacoEditor extends React.Component<Props, State> implements Editor {
220220
this.monaco = monaco;
221221

222222
// Load Vue eagerly
223-
// getMode('stub.vue', monaco)
223+
getMode('stub.vue', monaco)
224224

225225
monaco.languages.registerDocumentFormattingEditProvider('typescript', this);
226226
monaco.languages.registerDocumentFormattingEditProvider('javascript', this);
@@ -340,9 +340,8 @@ class MonacoEditor extends React.Component<Props, State> implements Editor {
340340

341341
this.registerAutoCompletions();
342342

343-
setTimeout(() => {
344-
liftOff(monaco);
345-
}, 1000);
343+
344+
liftOff(monaco);
346345
};
347346

348347
setCompilerOptions = () => {
@@ -699,7 +698,7 @@ class MonacoEditor extends React.Component<Props, State> implements Editor {
699698
code !== this.getCode() &&
700699
(!moduleId || this.currentModule.id === moduleId)
701700
) {
702-
this.updateCode(code);
701+
// this.updateCode(code);
703702
this.lint(
704703
code,
705704
this.currentModule.title,

packages/app/src/app/components/Preview/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ class BasePreview extends React.Component<Props, State> {
177177
if (props.delay) {
178178
this.executeCode = debounce(this.executeCode, 800);
179179
}
180+
181+
window.openNewWindow = this.openNewWindow;
180182
}
181183

182184
componentWillUpdate(nextProps: Props, nextState: State) {

packages/app/src/app/index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@
6666
}
6767
</script>
6868

69-
<link data-name="/vscode/out-editor/vs/editor/editor.main"
69+
<link data-name="/public/vscode/vs/editor/editor.main"
7070
rel="preload"
7171
as="style"
72-
href="/vscode/out-editor/vs/editor/editor.main.css">
72+
href="/public/vscode/vs/editor/editor.main.css">
7373
</link>
74-
<link rel="preload" as="script" href="/vscode/out-editor/vs/editor/editor.main.js"></link>
74+
<link rel="preload" as="script" href="/public/vscode/vs/editor/editor.main.js"></link>
7575
</head>
7676
<body style="margin: 0; padding: 0;">
7777
<!-- Google Tag Manager (noscript) -->

packages/app/src/app/pages/Sandbox/Editor/Content/Preview/FlyingContainer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ class FlyingContainer extends React.Component<Props, State> {
318318
flex: width ? `0 0 ${width}px` : undefined,
319319
height,
320320
boxShadow: hide ? 'none' : '0 3px 8px rgba(0, 0, 0, 0.5)',
321-
zIndex: 60,
321+
zIndex: 2,
322322

323323
visiblity: hide ? 'hidden' : undefined,
324324
pointerEvents: hide ? 'none' : undefined,

0 commit comments

Comments
 (0)