summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Eipert <leipert@gitlab.com>2019-02-05 14:27:38 +0100
committerLukas Eipert <leipert@gitlab.com>2019-02-05 14:27:38 +0100
commitdfbea6b4329e43c9ce62c6568d35944d564eed80 (patch)
tree5ee7244baee1f0acaa4d84e2fc6b45a998050b46
parent5bbe1403b84a57560861b2a1cf657e265b878b7b (diff)
downloadgitlab-ce-leipert-polyfill-whats-needed.tar.gz
Use ES6 modules for gettext extractorleipert-polyfill-whats-needed
-rw-r--r--.eslintrc.yml4
-rw-r--r--app/assets/javascripts/locale/ensure_single_line.mjs (renamed from app/assets/javascripts/locale/ensure_single_line.js)4
-rw-r--r--app/assets/javascripts/locale/index.js2
-rw-r--r--config/initializers/gettext_rails_i18n_patch.rb2
-rw-r--r--scripts/frontend/extract_gettext_all.mjs (renamed from scripts/frontend/extract_gettext_all.js)18
-rw-r--r--spec/javascripts/locale/ensure_single_line_spec.js2
6 files changed, 19 insertions, 13 deletions
diff --git a/.eslintrc.yml b/.eslintrc.yml
index b0794bb7434..8d1e3956d0e 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -34,3 +34,7 @@ rules:
vue/no-use-v-if-with-v-for: off
vue/no-v-html: off
vue/use-v-on-exact: off
+ import/extensions:
+ - error
+ - ignorePackages
+ - js: never
diff --git a/app/assets/javascripts/locale/ensure_single_line.js b/app/assets/javascripts/locale/ensure_single_line.mjs
index 47c52fe6c50..01e3e6d7987 100644
--- a/app/assets/javascripts/locale/ensure_single_line.js
+++ b/app/assets/javascripts/locale/ensure_single_line.mjs
@@ -13,7 +13,7 @@ const SPLIT_REGEX = /\s*[\r\n]+\s*/;
* @param {String} str
* @returns {String}
*/
-module.exports = function ensureSingleLine(str) {
+export default function ensureSingleLine(str) {
// This guard makes the function significantly faster
if (str.includes('\n') || str.includes('\r')) {
return str
@@ -22,4 +22,4 @@ module.exports = function ensureSingleLine(str) {
.join(' ');
}
return str;
-};
+}
diff --git a/app/assets/javascripts/locale/index.js b/app/assets/javascripts/locale/index.js
index 1ae3362c4bc..7e4efce6785 100644
--- a/app/assets/javascripts/locale/index.js
+++ b/app/assets/javascripts/locale/index.js
@@ -1,5 +1,5 @@
import Jed from 'jed';
-import ensureSingleLine from './ensure_single_line';
+import ensureSingleLine from './ensure_single_line.mjs';
import sprintf from './sprintf';
const languageCode = () => document.querySelector('html').getAttribute('lang') || 'en';
diff --git a/config/initializers/gettext_rails_i18n_patch.rb b/config/initializers/gettext_rails_i18n_patch.rb
index c1342f48ebd..b9e7f207cc9 100644
--- a/config/initializers/gettext_rails_i18n_patch.rb
+++ b/config/initializers/gettext_rails_i18n_patch.rb
@@ -49,7 +49,7 @@ module GettextI18nRailsJs
end
def load_messages
- `node scripts/frontend/extract_gettext_all.js --all`
+ `node --experimental-modules scripts/frontend/extract_gettext_all.mjs --all`
end
end
end
diff --git a/scripts/frontend/extract_gettext_all.js b/scripts/frontend/extract_gettext_all.mjs
index 725522a3540..3687b11c2fa 100644
--- a/scripts/frontend/extract_gettext_all.js
+++ b/scripts/frontend/extract_gettext_all.mjs
@@ -1,11 +1,13 @@
-const argumentsParser = require('commander');
-
-const { GettextExtractor, JsExtractors } = require('gettext-extractor');
-const {
- decorateJSParserWithVueSupport,
- decorateExtractorWithHelpers,
-} = require('gettext-extractor-vue');
-const ensureSingleLine = require('../../app/assets/javascripts/locale/ensure_single_line.js');
+import argumentsParser from 'commander';
+
+import GE from 'gettext-extractor';
+const { GettextExtractor, JsExtractors } = GE;
+
+import GettextExtractorVue from 'gettext-extractor-vue';
+
+const { decorateExtractorWithHelpers, decorateJSParserWithVueSupport } = GettextExtractorVue;
+
+import ensureSingleLine from '../../app/assets/javascripts/locale/ensure_single_line.mjs';
const args = argumentsParser
.option('-f, --file <file>', 'Extract message from one single file')
diff --git a/spec/javascripts/locale/ensure_single_line_spec.js b/spec/javascripts/locale/ensure_single_line_spec.js
index 20b04cab9c8..26fa118995f 100644
--- a/spec/javascripts/locale/ensure_single_line_spec.js
+++ b/spec/javascripts/locale/ensure_single_line_spec.js
@@ -1,4 +1,4 @@
-import ensureSingleLine from '~/locale/ensure_single_line';
+import ensureSingleLine from '~/locale/ensure_single_line.mjs';
describe('locale', () => {
describe('ensureSingleLine', () => {