diff options
-rw-r--r-- | Makefile.am | 21 | ||||
-rw-r--r-- | browser/.beforeprettier | 212 | ||||
-rw-r--r-- | browser/.eslintrc | 15 | ||||
-rw-r--r-- | browser/.prettierignore | 10 | ||||
-rw-r--r-- | browser/.prettierrc | 1 | ||||
-rw-r--r-- | browser/package.json | 2 | ||||
-rw-r--r-- | browser/src/docstatefunctions.js | 31 |
7 files changed, 263 insertions, 29 deletions
diff --git a/Makefile.am b/Makefile.am index 92f039cf4e..e0842a7a12 100644 --- a/Makefile.am +++ b/Makefile.am @@ -508,7 +508,7 @@ COMMON_PARAMS = \ --o:ssl.ca_file_path="$(abs_top_srcdir)/etc/ca-chain.cert.pem" \ --o:admin_console.username=admin --o:admin_console.password=admin -run: setup-wsd +run: prettier-write setup-wsd ./coolwsd $(COMMON_PARAMS) \ --o:security.capabilities="$(CAPABILITIES)" \ --o:logging.file[@enable]=${OUTPUT_TO_FILE} --o:logging.level=trace \ @@ -649,6 +649,23 @@ eslint: browser/node_modules --no-eslintrc \ --config browser/.eslintrc +prettier: browser/node_modules + browser/node_modules/.bin/prettier \ + --config browser/.prettierrc \ + --ignore-path browser/.prettierignore \ + --ignore-path browser/.beforeprettier \ + --check \ + browser/src browser/js browser/admin/src \ + || echo "To run prettier, you can use 'make prettier-write' or run COOLWSD with 'make run'" + +prettier-write: browser/node_modules + browser/node_modules/.bin/prettier \ + --config browser/.prettierrc \ + --ignore-path browser/.prettierignore \ + --ignore-path browser/.beforeprettier \ + --write \ + browser/src browser/js browser/admin/src + install-exec-hook: cd $(DESTDIR)$(bindir) && \ $(LN_S) coolconfig loolconfig && \ @@ -692,7 +709,7 @@ check-for-system-nss: check-recursive: eslint -check: check-for-system-nss eslint check-recursive +check: check-for-system-nss prettier eslint check-recursive $(GEN_COVERAGE_COMMAND) coverage-report: diff --git a/browser/.beforeprettier b/browser/.beforeprettier new file mode 100644 index 0000000000..1ab80634a6 --- /dev/null +++ b/browser/.beforeprettier @@ -0,0 +1,212 @@ +/src/control/ColorPicker.js +/src/control/Control.AlertDialog.js +/src/control/Control.Attribution.js +/src/control/Control.ColumnGroup.ts +/src/control/Control.ColumnHeader.ts +/src/control/Control.Command.js +/src/control/Control.ContextMenu.js +/src/control/Control.CornerGroup.ts +/src/control/Control.CornerHeader.ts +/src/control/Control.DocumentNameInput.js +/src/control/Control.DocumentRepair.js +/src/control/Control.DownloadProgress.js +/src/control/Control.FormulaBar.js +/src/control/Control.FormulaBarJSDialog.js +/src/control/Control.GroupBase.ts +/src/control/Control.Header.ts +/src/control/Control.IdleHandler.ts +/src/control/Control.js +/src/control/Control.JSDialog.js +/src/control/Control.JSDialogBuilder.js +/src/control/Control.LanguageDialog.js +/src/control/Control.Layers.js +/src/control/Control.LokDialog.js +/src/control/Control.Mention.js +/src/control/Control.Menubar.js +/src/control/Control.MobileBottomBar.js +/src/control/Control.MobileSlide.js +/src/control/Control.MobileTopBar.js +/src/control/Control.MobileWizard.js +/src/control/Control.MobileWizardBuilder.js +/src/control/Control.MobileWizardPopup.js +/src/control/Control.MobileWizardWindow.js +/src/control/Control.Notebookbar.js +/src/control/Control.NotebookbarBuilder.js +/src/control/Control.NotebookbarCalc.js +/src/control/Control.NotebookbarDraw.js +/src/control/Control.NotebookbarImpress.js +/src/control/Control.NotebookbarWriter.js +/src/control/Control.PartsPreview.js +/src/control/Control.Permission.js +/src/control/Control.PresentationBar.js +/src/control/Control.RowGroup.ts +/src/control/Control.RowHeader.ts +/src/control/Control.Scroll.Annotation.js +/src/control/Control.SearchBar.js +/src/control/Control.Selection.js +/src/control/Control.SheetsBar.js +/src/control/Control.Sidebar.js +/src/control/Control.StatusBar.js +/src/control/Control.Tabs.js +/src/control/Control.Toolbar.js +/src/control/Control.TopToolbar.js +/src/control/Control.UIManager.js +/src/control/Control.UserList.js +/src/control/Control.Zotero.js +/src/control/IFrameDialog.js +/src/control/jsdialog/Util.Dropdown.js +/src/control/jsdialog/Util.FocusCycle.js +/src/control/jsdialog/Util.ModalHelper.js +/src/control/jsdialog/Util.StateChange.ts +/src/control/jsdialog/Widget.Calendar.js +/src/control/jsdialog/Widget.Combobox.js +/src/control/jsdialog/Widget.DrawingArea.js +/src/control/jsdialog/Widget.FormulabarEdit.js +/src/control/jsdialog/Widget.Frame.js +/src/control/jsdialog/Widget.IconView.js +/src/control/jsdialog/Widget.LanguageSelector.js +/src/control/jsdialog/Widget.MenuButton.js +/src/control/jsdialog/Widget.MobileBorderSelector.js +/src/control/jsdialog/Widget.MobileTabControl.js +/src/control/jsdialog/Widget.MultilineEdit.js +/src/control/jsdialog/Widget.Progressbar.js +/src/control/jsdialog/Widget.ScrolledWindow.js +/src/control/jsdialog/Widget.Timefield.js +/src/control/jsdialog/Widget.TreeView.js +/src/control/Parts.js +/src/control/Permission.js +/src/control/Ruler.js +/src/control/Scroll.js +/src/control/Search.js +/src/control/Signing.js +/src/control/Styles.js +/src/control/Toolbar.js +/src/core/Class.js +/src/core/Debug.js +/src/core/Events.js +/src/core/Handler.js +/src/core/Log.js +/src/core/LOUtil.js +/src/core/Matrix.js +/src/core/Rectangle.ts +/src/core/Socket.js +/src/core/Util.js +/src/docstate.js +/src/dom/DomEvent.js +/src/dom/DomEvent.MultiClick.js +/src/dom/DomEvent.Pointer.js +/src/dom/DomUtil.js +/src/dom/Draggable.js +/src/dom/NotebookbarAccessibility.js +/src/dom/NotebookbarAccessibilityDefinitions.js +/src/dom/PosAnimation.js +/src/dom/PosAnimation.Timer.js +/src/errormessages.js +/src/geo/crs/CRS.js +/src/geo/LatLng.js +/src/geo/LatLngBounds.js +/src/geo/projection/Projection.LonLat.js +/src/geometry/Bounds.ts +/src/geometry/LineUtil.js +/src/geometry/Point.ts +/src/geometry/PolyUtil.js +/src/geometry/Transformation.ts +/src/layer/BackgroundColor.js +/src/layer/CalcSplitPanesContext.ts +/src/layer/FeatureGroup.js +/src/layer/FormFieldButtonLayer.js +/src/layer/Layer.js +/src/layer/Layer.Popup.js +/src/layer/LayerGroup.js +/src/layer/marker/A11yTextInput.js +/src/layer/marker/Cursor.ts +/src/layer/marker/DivIcon.js +/src/layer/marker/Icon.Default.js +/src/layer/marker/Icon.js +/src/layer/marker/Marker.Drag.js +/src/layer/marker/Marker.js +/src/layer/marker/Marker.Popup.js +/src/layer/marker/ProgressOverlay.js +/src/layer/marker/TextInput.js +/src/layer/Popup.js +/src/layer/SplitPanesContext.ts +/src/layer/tile/AutoFillMarkerSection.ts +/src/layer/tile/CalcTileLayer.js +/src/layer/tile/CanvasSectionContainer.ts +/src/layer/tile/CanvasSectionProps.js +/src/layer/tile/CanvasTileLayer.js +/src/layer/tile/CommentListSection.ts +/src/layer/tile/CommentSection.ts +/src/layer/tile/ContentControlSection.ts +/src/layer/tile/ImpressTileLayer.js +/src/layer/tile/ScrollSection.ts +/src/layer/tile/SheetGeometry.ts +/src/layer/tile/SheetSwitch.ts +/src/layer/tile/TileLayer.TableOverlay.js +/src/layer/tile/TilesSection.ts +/src/layer/tile/WriterTileLayer.js +/src/layer/vector/Canvas.js +/src/layer/vector/CanvasOverlay.ts +/src/layer/vector/CDarkOverlay.ts +/src/layer/vector/CEventsHandler.ts +/src/layer/vector/Circle.js +/src/layer/vector/CircleMarker.js +/src/layer/vector/CLineUtil.ts +/src/layer/vector/CPath.ts +/src/layer/vector/CPointSet.ts +/src/layer/vector/CPolygon.ts +/src/layer/vector/CPolyline.ts +/src/layer/vector/CPolyUtil.ts +/src/layer/vector/CRectangle.ts +/src/layer/vector/CSplitterLine.ts +/src/layer/vector/Path.Drag.js +/src/layer/vector/Path.Drag.Transform.js +/src/layer/vector/Path.js +/src/layer/vector/Path.Popup.js +/src/layer/vector/Path.Transform.Canvas.js +/src/layer/vector/Path.Transform.js +/src/layer/vector/Path.Transform.SVG.js +/src/layer/vector/Path.Transform.SVG.VML.js +/src/layer/vector/Path.Transform.Util.js +/src/layer/vector/Polygon.js +/src/layer/vector/Polyline.js +/src/layer/vector/Rectangle.js +/src/layer/vector/Renderer.js +/src/layer/vector/SplitPanesRenderer.js +/src/layer/vector/SplitPanesSVG.js +/src/layer/vector/SVG.js +/src/layer/vector/SVG.VML.js +/src/layer/vector/SVGGroup.js +/src/main.js +/src/map/anim/Map.PanAnimation.js +/src/map/Clipboard.js +/src/map/handler/Map.DoubleClickZoom.js +/src/map/handler/Map.Drag.js +/src/map/handler/Map.Feedback.js +/src/map/handler/Map.FileInserter.js +/src/map/handler/Map.Keyboard.js +/src/map/handler/Map.KeyboardShortcuts.ts +/src/map/handler/Map.Mouse.js +/src/map/handler/Map.Print.js +/src/map/handler/Map.Scroll.js +/src/map/handler/Map.SlideShow.js +/src/map/handler/Map.StateChanges.js +/src/map/handler/Map.TouchGesture.js +/src/map/handler/Map.VersionBar.js +/src/map/handler/Map.Welcome.js +/src/map/handler/Map.WOPI.js +/src/map/Map.js +/src/UNO/Key.js +/js/global.js +/js/ResizeObserverPolyfill.js +/admin/src/AdminClusterOverview.js +/admin/src/AdminClusterOverviewAbout.js +/admin/src/AdminSocketAnalytics.js +/admin/src/AdminSocketBase.js +/admin/src/AdminSocketHistory.js +/admin/src/AdminSocketLog.js +/admin/src/AdminSocketOverview.js +/admin/src/AdminSocketSettings.js +/admin/src/Base.js +/admin/src/ModalDialogCreator.ts +/admin/src/Util.js diff --git a/browser/.eslintrc b/browser/.eslintrc index 62939a361e..a274e41045 100644 --- a/browser/.eslintrc +++ b/browser/.eslintrc @@ -1,25 +1,18 @@ { - "extends": "eslint:recommended", + "extends": [ + "eslint:recommended", + "prettier" + ], "rules": { - "camelcase": 2, - "quotes": [2, "single"], "no-mixed-spaces-and-tabs": [2, "smart-tabs"], - "space-in-parens": 2, - "space-before-blocks": 2, - "keyword-spacing": 2, "no-lonely-if": 2, - "comma-style": 2, - "indent": "off", "no-underscore-dangle": 0, "no-constant-condition": 0, - "no-multi-spaces": 0, "strict": 0, - "key-spacing": 0, "no-shadow": 0, "no-console": 0, "no-control-regex": 0, "no-useless-escape": 0, - "semi": 2, "no-redeclare": 0, /// Rules that are set to warn will fail in CI but not when building for development: "no-debugger": 1, diff --git a/browser/.prettierignore b/browser/.prettierignore new file mode 100644 index 0000000000..2b68ec50be --- /dev/null +++ b/browser/.prettierignore @@ -0,0 +1,10 @@ +# We only directly edit toolbar.js in dist/ +**/js/Autolinker.js +**/js/select2.js +**/js/sanitize-url.js +**/js/l10n.js +**/js/w2ui-1.5.rc1.js +**/src/unocommands.js +**/js/viamapi-client.js +node_modules +dist/src
\ No newline at end of file diff --git a/browser/.prettierrc b/browser/.prettierrc new file mode 100644 index 0000000000..0176969226 --- /dev/null +++ b/browser/.prettierrc @@ -0,0 +1 @@ +singleQuote: true diff --git a/browser/package.json b/browser/package.json index df0ffed6c9..10f9f85e61 100644 --- a/browser/package.json +++ b/browser/package.json @@ -18,6 +18,7 @@ "canvas": "^2.6.1", "d3": "6.7.0", "eslint": "7.0.0", + "eslint-config-prettier": "^9.1.0", "fzstd": "0.1.0", "hammerjs": "2.0.8", "jquery": "3.5.1", @@ -27,6 +28,7 @@ "jscpd": "3.5.10", "l10n-for-node": "0.0.1", "mocha": "8.2.1", + "prettier": "^3.1.1", "select2": "4.0.13", "shrinkpack": "1.0.0-alpha", "smartmenus": "1.0.0", diff --git a/browser/src/docstatefunctions.js b/browser/src/docstatefunctions.js index e10403cbd9..1b2485767c 100644 --- a/browser/src/docstatefunctions.js +++ b/browser/src/docstatefunctions.js @@ -15,30 +15,29 @@ /* global app */ -app.isReadOnly = function() { +app.isReadOnly = function () { return app.file.readOnly; }; -app.isCommentEditingAllowed = function() { +app.isCommentEditingAllowed = function () { return app.file.editComment; }; -app.setPermission = function(permission) { - app.file.permission = permission; - if (permission === 'edit') { - app.file.readOnly = false; - app.file.editComment = true; - } - else if (permission === 'readonly') { - app.file.readOnly = true; - app.file.editComment = false; - } +app.setPermission = function (permission) { + app.file.permission = permission; + if (permission === 'edit') { + app.file.readOnly = false; + app.file.editComment = true; + } else if (permission === 'readonly') { + app.file.readOnly = true; + app.file.editComment = false; + } }; -app.setCommentEditingPermission = function(isAllowed) { - app.file.editComment = isAllowed; +app.setCommentEditingPermission = function (isAllowed) { + app.file.editComment = isAllowed; }; -app.getPermission = function() { - return app.file.permission; +app.getPermission = function () { + return app.file.permission; }; |