Skip to content

Commit cd103cd

Browse files
author
Ives van Hoorne
committed
Put eslint on own domain
1 parent 8a01070 commit cd103cd

File tree

5 files changed

+25
-14
lines changed

5 files changed

+25
-14
lines changed

src/app/index.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
ga('send', 'pageview');
3636
</script>
3737
<script src="https://cdn.ravenjs.com/3.14.0/raven.min.js" crossorigin="anonymous"></script>
38-
39-
</script>
4038
</head>
4139

4240
<body style="margin: 0; padding: 0;">

src/app/pages/Sandbox/Editor/Content/subviews/CodeEditor/index.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,13 @@ export default class CodeEditor extends React.PureComponent {
244244
}
245245

246246
if (preferences.lintEnabled) {
247-
System.import('app/utils/codemirror/eslint-lint').then(() => {
248-
this.codemirror.setOption('lint', true);
249-
});
247+
System.import('app/utils/codemirror/eslint-lint')
248+
.then(initializer => {
249+
return initializer.default();
250+
})
251+
.then(() => {
252+
this.codemirror.setOption('lint', true);
253+
});
250254
} else {
251255
this.codemirror.setOption('lint', false);
252256
}

src/app/utils/codemirror/eslint-lint.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import CodeMirror from 'codemirror';
22
import 'codemirror/addon/lint/lint.css';
33
import 'codemirror/addon/lint/lint';
44
import fixer from 'eslint/lib/util/source-code-fixer';
5-
import './eslint';
65
import error from '../error';
6+
import delay from '../../store/services/delay';
77

88
const allRules = {
99
'react/jsx-uses-react': require('eslint-plugin-react/lib/rules/jsx-uses-react'),
@@ -69,12 +69,6 @@ const allRules = {
6969
'react/jsx-tag-spacing': require('eslint-plugin-react/lib/rules/jsx-tag-spacing'),
7070
};
7171

72-
try {
73-
window.eslint.defineRules(allRules);
74-
} catch (e) {
75-
error(e);
76-
}
77-
7872
const defaultConfig = {
7973
extends: ['prettier', 'prettier/react', 'prettier/flowtype'],
8074
parserOptions: {
@@ -1609,4 +1603,19 @@ export function fix(source) {
16091603
return fixer.applyFixes(window.eslint.getSourceCode(), errors);
16101604
}
16111605

1612-
CodeMirror.registerHelper('lint', 'javascript', validator);
1606+
export default (async function initialize() {
1607+
if (!window.eslint) {
1608+
// Add eslint as script
1609+
const script = document.createElement('script');
1610+
script.setAttribute('src', 'static/js/eslint.3.18.0.js');
1611+
script.setAttribute('async', false);
1612+
document.head.appendChild(script);
1613+
}
1614+
1615+
while (!window.eslint) {
1616+
await delay(100);
1617+
}
1618+
1619+
window.eslint.defineRules(allRules);
1620+
CodeMirror.registerHelper('lint', 'javascript', validator);
1621+
});

src/homepage/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,4 +145,4 @@ <h3>Example Projects</h3>
145145
</script>
146146
</body>
147147

148-
</html>
148+
</html>

0 commit comments

Comments
 (0)