Refactor extension to webpack
This change is the biggest in the history of the project. The entire
project has been refactored so it is built with webpack.
This involves:
- Creating webpack and npm config files.
- Fixing some bugs in the code due to the fact that webpack uses strict
mode.
- Merging some pieces of code which were shared throughout the codebase
(not exhaustive, more work should be done in this direction).
- Splitting the console_inject.js file into separate files (it had 1000+
lines).
- Adapting all the build-related files (Makefile, bash scripts, etc.)
- Changing the docs to explain the new build process.
- Changing the Zuul playbook/roles to adapt to the new build process.
Change-Id: I16476d47825461c3a318b3f1a1eddb06b2df2e89
diff --git a/src/common/optionsPrototype.json5 b/src/common/optionsPrototype.json5
new file mode 100644
index 0000000..191d0e1
--- /dev/null
+++ b/src/common/optionsPrototype.json5
@@ -0,0 +1,121 @@
+{
+ // Available options:
+ 'list': {
+ defaultValue: true,
+ context: 'options',
+ },
+ 'thread': {
+ defaultValue: true,
+ context: 'options',
+ },
+ 'threadall': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'fixedtoolbar': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'redirect': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'history': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'loaddrafts': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'increasecontrast': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'stickysidebarheaders': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'profileindicator': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'profileindicatoralt': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'profileindicatoralt_months': {
+ defaultValue: 12,
+ context: 'options',
+ },
+ 'ccdarktheme': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'ccdarktheme_mode': {
+ defaultValue: 'switch',
+ context: 'options',
+ },
+ 'ccforcehidedrawer': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'ccdragndropfix': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'batchlock': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'enhancedannouncementsdot': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'repositionexpandthread': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'disableunifiedprofiles': {
+ defaultValue: false,
+ context: 'options',
+ },
+ 'forcemarkasread': {
+ defaultValue: false,
+ context: 'options',
+ },
+
+ // Experiments:
+ 'threadlistavatars': {
+ defaultValue: false,
+ context: 'experiments',
+ },
+ 'autorefreshlist': {
+ defaultValue: false,
+ context: 'experiments',
+ },
+
+ // Internal options:
+ 'ccdarktheme_switch_enabled': {
+ defaultValue: true,
+ context: 'internal',
+ },
+
+ // Deprecated options:
+ 'escalatethreads': {
+ defaultValue: false,
+ context: 'deprecated',
+ },
+ 'movethreads': {
+ defaultValue: false,
+ context: 'deprecated',
+ },
+ 'batchduplicate': {
+ defaultValue: false,
+ context: 'deprecated',
+ },
+ 'smei_sortdirection': {
+ defaultValue: false,
+ context: 'deprecated',
+ },
+}