From 3695c6bc6d95e650600441ccfa382c682ace5558 Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 18 Aug 2017 16:00:12 -0500 Subject: [PATCH 1/2] fix monaco loader test to not break with statically analyzed import statements --- spec/javascripts/repo/monaco_loader_spec.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/spec/javascripts/repo/monaco_loader_spec.js b/spec/javascripts/repo/monaco_loader_spec.js index be6e779c50f..1c6d70f9271 100644 --- a/spec/javascripts/repo/monaco_loader_spec.js +++ b/spec/javascripts/repo/monaco_loader_spec.js @@ -1,17 +1,15 @@ /* global __webpack_public_path__ */ + import monacoContext from 'monaco-editor/dev/vs/loader'; +import monacoLoader from '~/repo/monaco_loader'; describe('MonacoLoader', () => { it('calls require.config and exports require', () => { - spyOn(monacoContext.require, 'config'); - - const monacoLoader = require('~/repo/monaco_loader'); // eslint-disable-line global-require - - expect(monacoContext.require.config).toHaveBeenCalledWith({ + expect(monacoContext.require.getConfig()).toEqual(jasmine.objectContaining({ paths: { vs: `${__webpack_public_path__}monaco-editor/vs`, // eslint-disable-line camelcase }, - }); - expect(monacoLoader.default).toBe(monacoContext.require); + })); + expect(monacoLoader).toBe(monacoContext.require); }); }); From a7eb806e93e44a35b6853491820d24b60c25bb1c Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Fri, 18 Aug 2017 16:05:53 -0500 Subject: [PATCH 2/2] add global __webpack_public_path__ to eslint config --- .eslintrc | 1 + app/assets/javascripts/repo/monaco_loader.js | 6 ++---- app/assets/javascripts/webpack.js | 2 +- spec/javascripts/repo/monaco_loader_spec.js | 2 -- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.eslintrc b/.eslintrc index 3e07edbccfe..44ad6a4896c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,6 +6,7 @@ }, "extends": "airbnb-base", "globals": { + "__webpack_public_path__": true, "_": false, "gl": false, "gon": false, diff --git a/app/assets/javascripts/repo/monaco_loader.js b/app/assets/javascripts/repo/monaco_loader.js index ad1370a7730..af83a1ec0b4 100644 --- a/app/assets/javascripts/repo/monaco_loader.js +++ b/app/assets/javascripts/repo/monaco_loader.js @@ -1,13 +1,11 @@ -/* eslint-disable no-underscore-dangle, camelcase */ -/* global __webpack_public_path__ */ - import monacoContext from 'monaco-editor/dev/vs/loader'; monacoContext.require.config({ paths: { - vs: `${__webpack_public_path__}monaco-editor/vs`, + vs: `${__webpack_public_path__}monaco-editor/vs`, // eslint-disable-line camelcase }, }); +// eslint-disable-next-line no-underscore-dangle window.__monaco_context__ = monacoContext; export default monacoContext.require; diff --git a/app/assets/javascripts/webpack.js b/app/assets/javascripts/webpack.js index 9a9cf395fb8..ced847294ae 100644 --- a/app/assets/javascripts/webpack.js +++ b/app/assets/javascripts/webpack.js @@ -5,5 +5,5 @@ */ if (gon && gon.webpack_public_path) { - __webpack_public_path__ = gon.webpack_public_path; // eslint-disable-line + __webpack_public_path__ = gon.webpack_public_path; // eslint-disable-line camelcase } diff --git a/spec/javascripts/repo/monaco_loader_spec.js b/spec/javascripts/repo/monaco_loader_spec.js index 1c6d70f9271..887a80160fc 100644 --- a/spec/javascripts/repo/monaco_loader_spec.js +++ b/spec/javascripts/repo/monaco_loader_spec.js @@ -1,5 +1,3 @@ -/* global __webpack_public_path__ */ - import monacoContext from 'monaco-editor/dev/vs/loader'; import monacoLoader from '~/repo/monaco_loader';