mirror of
https://github.com/google/blockly.git
synced 2026-01-04 15:40:08 +01:00
Merge pull request #2751 from rachel-fenichel/eslint_rules
Add more eslint rules
This commit is contained in:
@@ -54,8 +54,10 @@
|
|||||||
"_comment": "Blockly uses single quotes except for JSON blobs, which must use double quotes.",
|
"_comment": "Blockly uses single quotes except for JSON blobs, which must use double quotes.",
|
||||||
"quotes": ["off"],
|
"quotes": ["off"],
|
||||||
"semi": ["error", "always"],
|
"semi": ["error", "always"],
|
||||||
"_comment": "Blockly doesn't have space before function paren",
|
"_comment": "Blockly doesn't have space before function paren when defining functions",
|
||||||
"space-before-function-paren": ["error", "never"],
|
"space-before-function-paren": ["error", "never"],
|
||||||
|
"_comment": "Blocklydoesn't have space before function paren when calling functions",
|
||||||
|
"func-call-spacing": ["error", "never"],
|
||||||
"space-infix-ops": ["error"],
|
"space-infix-ops": ["error"],
|
||||||
"_comment": "Blockly uses 'use strict' in files",
|
"_comment": "Blockly uses 'use strict' in files",
|
||||||
"strict": ["off"],
|
"strict": ["off"],
|
||||||
@@ -64,7 +66,14 @@
|
|||||||
"_comment": "Closure style allows redeclarations",
|
"_comment": "Closure style allows redeclarations",
|
||||||
"no-redeclare": ["off"],
|
"no-redeclare": ["off"],
|
||||||
"valid-jsdoc": ["error", {"requireReturn": false}],
|
"valid-jsdoc": ["error", {"requireReturn": false}],
|
||||||
"no-console": ["off"]
|
"no-console": ["off"],
|
||||||
|
"no-multi-spaces": ["error", { "ignoreEOLComments": true }],
|
||||||
|
"operator-linebreak": ["error", "after"],
|
||||||
|
"spaced-comment": ["warn", "always", {
|
||||||
|
"block": {
|
||||||
|
"balanced": true
|
||||||
|
}
|
||||||
|
}]
|
||||||
},
|
},
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true
|
"browser": true
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ Blockly.BlockSvg.prototype.renderFields_ = function(fieldList,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.RTL &&
|
if (this.RTL &&
|
||||||
field instanceof Blockly.FieldImage &&
|
field instanceof Blockly.FieldImage &&
|
||||||
field.getFlipRtl()) {
|
field.getFlipRtl()) {
|
||||||
scale = 'scale(-1 1)';
|
scale = 'scale(-1 1)';
|
||||||
translateX += field.renderWidth;
|
translateX += field.renderWidth;
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ Blockly.Bubble.prototype.getOptimalRelativeLeft_ = function(metrics) {
|
|||||||
|
|
||||||
if (this.workspace_.RTL) {
|
if (this.workspace_.RTL) {
|
||||||
// Bubble coordinates are flipped in RTL.
|
// Bubble coordinates are flipped in RTL.
|
||||||
var bubbleRight = this.anchorXY_.x - relativeLeft;
|
var bubbleRight = this.anchorXY_.x - relativeLeft;
|
||||||
var bubbleLeft = bubbleRight - this.width_;
|
var bubbleLeft = bubbleRight - this.width_;
|
||||||
|
|
||||||
var workspaceRight = metrics.viewLeft + metrics.viewWidth;
|
var workspaceRight = metrics.viewLeft + metrics.viewWidth;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ Blockly.BubbleDragger.prototype.dragBubble = function(e, currentDragDeltaXY) {
|
|||||||
this.draggingBubble_.moveDuringDrag(this.dragSurface_, newLoc);
|
this.draggingBubble_.moveDuringDrag(this.dragSurface_, newLoc);
|
||||||
|
|
||||||
if (this.draggingBubble_.isDeletable()) {
|
if (this.draggingBubble_.isDeletable()) {
|
||||||
this.deleteArea_ = this.workspace_.isDeleteArea(e);
|
this.deleteArea_ = this.workspace_.isDeleteArea(e);
|
||||||
this.updateCursorDuringBubbleDrag_();
|
this.updateCursorDuringBubbleDrag_();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -246,8 +246,8 @@ Blockly.FieldDropdown.prototype.positionMenu_ = function(menu) {
|
|||||||
|
|
||||||
var menuSize = Blockly.utils.uiMenu.getSize(menu);
|
var menuSize = Blockly.utils.uiMenu.getSize(menu);
|
||||||
|
|
||||||
var menuMaxHeightPx = Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH
|
var menuMaxHeightPx = Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH *
|
||||||
* document.documentElement.clientHeight;
|
document.documentElement.clientHeight;
|
||||||
if (menuSize.height > menuMaxHeightPx) {
|
if (menuSize.height > menuMaxHeightPx) {
|
||||||
menuSize.height = menuMaxHeightPx;
|
menuSize.height = menuMaxHeightPx;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ Blockly.FieldVariable.prototype.setTypes_ = function(opt_variableTypes,
|
|||||||
'a FieldVariable');
|
'a FieldVariable');
|
||||||
}
|
}
|
||||||
// Only update the field once all checks pass.
|
// Only update the field once all checks pass.
|
||||||
this.defaultType_ = defaultType;
|
this.defaultType_ = defaultType;
|
||||||
this.variableTypes = variableTypes;
|
this.variableTypes = variableTypes;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ Blockly.Flyout.prototype.init = function(targetWorkspace) {
|
|||||||
this.targetWorkspace_.getGesture.bind(this.targetWorkspace_);
|
this.targetWorkspace_.getGesture.bind(this.targetWorkspace_);
|
||||||
|
|
||||||
// Get variables from the main workspace rather than the target workspace.
|
// Get variables from the main workspace rather than the target workspace.
|
||||||
this.workspace_.variableMap_ = this.targetWorkspace_.getVariableMap();
|
this.workspace_.variableMap_ = this.targetWorkspace_.getVariableMap();
|
||||||
|
|
||||||
this.workspace_.createPotentialVariableMap();
|
this.workspace_.createPotentialVariableMap();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ Blockly.InsertionMarkerManager.prototype.shouldUpdatePreviews_ = function(
|
|||||||
var yDiff = this.localConnection_.y_ + dxy.y - this.closestConnection_.y_;
|
var yDiff = this.localConnection_.y_ + dxy.y - this.closestConnection_.y_;
|
||||||
var curDistance = Math.sqrt(xDiff * xDiff + yDiff * yDiff);
|
var curDistance = Math.sqrt(xDiff * xDiff + yDiff * yDiff);
|
||||||
// Slightly prefer the existing preview over a new preview.
|
// Slightly prefer the existing preview over a new preview.
|
||||||
return !(candidateClosest && radius > curDistance -
|
return !(candidateClosest && radius > curDistance -
|
||||||
Blockly.CURRENT_CONNECTION_PREFERENCE);
|
Blockly.CURRENT_CONNECTION_PREFERENCE);
|
||||||
} else if (!this.localConnection_ && !this.closestConnection_) {
|
} else if (!this.localConnection_ && !this.closestConnection_) {
|
||||||
// We weren't showing a preview before, but we should now.
|
// We weren't showing a preview before, but we should now.
|
||||||
|
|||||||
@@ -258,8 +258,8 @@ Blockly.CursorSvg.prototype.showWithStack_ = function() {
|
|||||||
var height = heightWidth.height + Blockly.CursorSvg.STACK_PADDING;
|
var height = heightWidth.height + Blockly.CursorSvg.STACK_PADDING;
|
||||||
|
|
||||||
// Shift the rectangle slightly to upper left so padding is equal on all sides.
|
// Shift the rectangle slightly to upper left so padding is equal on all sides.
|
||||||
var x = -1 * Blockly.CursorSvg.STACK_PADDING / 2;
|
var x = -1 * Blockly.CursorSvg.STACK_PADDING / 2;
|
||||||
var y = -1 * Blockly.CursorSvg.STACK_PADDING / 2;
|
var y = -1 * Blockly.CursorSvg.STACK_PADDING / 2;
|
||||||
|
|
||||||
// If the block has an output connection it needs more padding.
|
// If the block has an output connection it needs more padding.
|
||||||
if (block.outputConnection) {
|
if (block.outputConnection) {
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ Blockly.Mutator.prototype.createEditor_ = function() {
|
|||||||
// a top level svg. Instead of handling scale themselves, mutators
|
// a top level svg. Instead of handling scale themselves, mutators
|
||||||
// inherit scale from the parent workspace.
|
// inherit scale from the parent workspace.
|
||||||
// To fix this, scale needs to be applied at a different level in the dom.
|
// To fix this, scale needs to be applied at a different level in the dom.
|
||||||
var flyoutSvg = this.workspace_.addFlyout_('g');
|
var flyoutSvg = this.workspace_.addFlyout_('g');
|
||||||
var background = this.workspace_.createDom('blocklyMutatorBackground');
|
var background = this.workspace_.createDom('blocklyMutatorBackground');
|
||||||
|
|
||||||
// Insert the flyout after the <rect> but before the block canvas so that
|
// Insert the flyout after the <rect> but before the block canvas so that
|
||||||
|
|||||||
@@ -405,8 +405,8 @@ Blockly.Trashcan.prototype.animateLid_ = function() {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
Blockly.Trashcan.prototype.setLidAngle_ = function(lidAngle) {
|
Blockly.Trashcan.prototype.setLidAngle_ = function(lidAngle) {
|
||||||
var openAtRight = this.workspace_.toolboxPosition == Blockly.TOOLBOX_AT_RIGHT
|
var openAtRight = this.workspace_.toolboxPosition == Blockly.TOOLBOX_AT_RIGHT ||
|
||||||
|| (this.workspace_.horizontalLayout && this.workspace_.RTL);
|
(this.workspace_.horizontalLayout && this.workspace_.RTL);
|
||||||
this.svgLid_.setAttribute('transform', 'rotate(' +
|
this.svgLid_.setAttribute('transform', 'rotate(' +
|
||||||
(openAtRight ? -lidAngle : lidAngle) + ',' +
|
(openAtRight ? -lidAngle : lidAngle) + ',' +
|
||||||
(openAtRight ? 4 : this.WIDTH_ - 4) + ',' +
|
(openAtRight ? 4 : this.WIDTH_ - 4) + ',' +
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ Blockly.utils.tokenizeInterpolation_ = function(message,
|
|||||||
state = 0; // and parse as string literal.
|
state = 0; // and parse as string literal.
|
||||||
} else if (c != '}') {
|
} else if (c != '}') {
|
||||||
buffer.push(c);
|
buffer.push(c);
|
||||||
} else {
|
} else {
|
||||||
var rawKey = buffer.join('');
|
var rawKey = buffer.join('');
|
||||||
if (/[A-Z]\w*/i.test(rawKey)) { // Strict matching
|
if (/[A-Z]\w*/i.test(rawKey)) { // Strict matching
|
||||||
// Found a valid string key. Attempt case insensitive match.
|
// Found a valid string key. Attempt case insensitive match.
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ Blockly.Xml.appendDomToWorkspace = function(xml, workspace) {
|
|||||||
if (blockXY.y < newY) {
|
if (blockXY.y < newY) {
|
||||||
newY = blockXY.y;
|
newY = blockXY.y;
|
||||||
}
|
}
|
||||||
if (blockXY.x < newX) { // if we align also on x
|
if (blockXY.x < newX) { // if we align also on x
|
||||||
newX = blockXY.x;
|
newX = blockXY.x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ suite('Connections', function() {
|
|||||||
var connections = block.getConnections_(true);
|
var connections = block.getConnections_(true);
|
||||||
for (var i = 0; i < connections.length; i++) {
|
for (var i = 0; i < connections.length; i++) {
|
||||||
var connection = connections[i];
|
var connection = connections[i];
|
||||||
if (connection.type == Blockly.PREVIOUS_STATEMENT
|
if (connection.type == Blockly.PREVIOUS_STATEMENT ||
|
||||||
|| connection.type == Blockly.OUTPUT_VALUE) {
|
connection.type == Blockly.OUTPUT_VALUE) {
|
||||||
// Only superior connections on inputs get hidden
|
// Only superior connections on inputs get hidden
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Angle Fields', function() {
|
suite('Angle Fields', function() {
|
||||||
function assertValue(angleField, expectedValue, opt_expectedText) {
|
function assertValue(angleField, expectedValue, opt_expectedText) {
|
||||||
var actualValue = angleField.getValue();
|
var actualValue = angleField.getValue();
|
||||||
var actualText = angleField.getText();
|
var actualText = angleField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Colour Fields', function() {
|
suite('Colour Fields', function() {
|
||||||
function assertValue(colourField, expectedValue, expectedText) {
|
function assertValue(colourField, expectedValue, expectedText) {
|
||||||
var actualValue = colourField.getValue();
|
var actualValue = colourField.getValue();
|
||||||
var actualText = colourField.getText();
|
var actualText = colourField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Date Fields', function() {
|
suite('Date Fields', function() {
|
||||||
function assertValue(dateField, expectedValue) {
|
function assertValue(dateField, expectedValue) {
|
||||||
var actualValue = dateField.getValue();
|
var actualValue = dateField.getValue();
|
||||||
var actualText = dateField.getText();
|
var actualText = dateField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Dropdown Fields', function() {
|
suite('Dropdown Fields', function() {
|
||||||
function assertValue(dropdownField, expectedValue, expectedText) {
|
function assertValue(dropdownField, expectedValue, expectedText) {
|
||||||
var actualValue = dropdownField.getValue();
|
var actualValue = dropdownField.getValue();
|
||||||
var actualText = dropdownField.getText();
|
var actualText = dropdownField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Image Fields', function() {
|
suite('Image Fields', function() {
|
||||||
function assertValue(imageField, expectedValue, expectedText) {
|
function assertValue(imageField, expectedValue, expectedText) {
|
||||||
var actualValue = imageField.getValue();
|
var actualValue = imageField.getValue();
|
||||||
var actualText = imageField.getText();
|
var actualText = imageField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Label Serializable Fields', function() {
|
suite('Label Serializable Fields', function() {
|
||||||
function assertValue(labelField, expectedValue) {
|
function assertValue(labelField, expectedValue) {
|
||||||
var actualValue = labelField.getValue();
|
var actualValue = labelField.getValue();
|
||||||
var actualText = labelField.getText();
|
var actualText = labelField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Label Fields', function() {
|
suite('Label Fields', function() {
|
||||||
function assertValue(labelField, expectedValue) {
|
function assertValue(labelField, expectedValue) {
|
||||||
var actualValue = labelField.getValue();
|
var actualValue = labelField.getValue();
|
||||||
var actualText = labelField.getText();
|
var actualText = labelField.getText();
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Number Fields', function() {
|
suite('Number Fields', function() {
|
||||||
function assertValue(numberField, expectedValue, opt_expectedText) {
|
function assertValue(numberField, expectedValue, opt_expectedText) {
|
||||||
var actualValue = numberField.getValue();
|
var actualValue = numberField.getValue();
|
||||||
var actualText = numberField.getText();
|
var actualText = numberField.getText();
|
||||||
@@ -48,7 +48,7 @@ suite ('Number Fields', function() {
|
|||||||
{ 'value': value, min: value, max: value, precision: value });
|
{ 'value': value, min: value, max: value, precision: value });
|
||||||
}
|
}
|
||||||
function assertNumberFieldSameValues(numberField, value) {
|
function assertNumberFieldSameValues(numberField, value) {
|
||||||
assertNumberField(numberField, value, value, value, value);
|
assertNumberField(numberField, value, value, value, value);
|
||||||
}
|
}
|
||||||
suite('Constructor', function() {
|
suite('Constructor', function() {
|
||||||
test('Empty', function() {
|
test('Empty', function() {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
suite ('Text Input Fields', function() {
|
suite('Text Input Fields', function() {
|
||||||
function assertValue(textInputField, expectedValue, opt_expectedText) {
|
function assertValue(textInputField, expectedValue, opt_expectedText) {
|
||||||
var actualValue = textInputField.getValue();
|
var actualValue = textInputField.getValue();
|
||||||
var actualText = textInputField.getText();
|
var actualText = textInputField.getText();
|
||||||
|
|||||||
Reference in New Issue
Block a user