powerbi-visuals-tools 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/Changelog.md +8 -0
  2. package/certs/PowerBICustomVisualTest_private.key +28 -0
  3. package/certs/PowerBICustomVisualTest_public.crt +19 -0
  4. package/config.json +35 -1
  5. package/lib/VisualGenerator.js +0 -95
  6. package/package.json +3 -3
  7. package/spec/.jshintrc +5 -0
  8. package/spec/clean-tests.js +31 -0
  9. package/spec/e2e/pbivizCertSpec.js +56 -0
  10. package/spec/e2e/pbivizInfoSpec.js +82 -0
  11. package/spec/e2e/pbivizNewSpec.js +265 -0
  12. package/spec/e2e/pbivizPackageSpec.js +670 -0
  13. package/spec/e2e/pbivizStartSpec.js +380 -0
  14. package/spec/e2e/pbivizWebpackVerSpec.js +102 -0
  15. package/spec/e2e/utils.js +63 -0
  16. package/spec/helpers/FileSystem.js +173 -0
  17. package/spec/jasmine-runner.js +36 -0
  18. package/spec/support/jasmine.json +11 -0
  19. package/templates/visuals/default/capabilities.json +2 -7
  20. package/templates/visuals/default/package.json +2 -2
  21. package/templates/visuals/default/pbiviz.json +1 -1
  22. package/templates/visuals/default/src/settings.ts +54 -3
  23. package/templates/visuals/default/src/visual.ts +14 -17
  24. package/templates/visuals/rhtml/capabilities.json +2 -1
  25. package/templates/visuals/rhtml/package.json +2 -2
  26. package/templates/visuals/rhtml/pbiviz.json +1 -1
  27. package/templates/visuals/rhtml/src/settings.ts +28 -3
  28. package/templates/visuals/rhtml/src/visual.ts +29 -23
  29. package/templates/visuals/rvisual/capabilities.json +2 -1
  30. package/templates/visuals/rvisual/package.json +2 -2
  31. package/templates/visuals/rvisual/pbiviz.json +1 -1
  32. package/templates/visuals/rvisual/src/settings.ts +28 -3
  33. package/templates/visuals/rvisual/src/visual.ts +13 -15
  34. package/templates/visuals/slicer/capabilities.json +2 -1
  35. package/templates/visuals/slicer/package.json +2 -2
  36. package/templates/visuals/slicer/pbiviz.json +1 -1
  37. package/templates/visuals/slicer/src/settings.ts +29 -3
  38. package/templates/visuals/slicer/src/visual.ts +14 -17
  39. package/templates/visuals/table/capabilities.json +2 -1
  40. package/templates/visuals/table/package.json +2 -2
  41. package/templates/visuals/table/pbiviz.json +1 -1
  42. package/templates/visuals/table/src/settings.ts +23 -3
  43. package/templates/visuals/table/src/visual.ts +18 -16
  44. package/.eslintrc.json +0 -313
  45. package/.gitattributes +0 -4
  46. package/.github/workflows/build.yml +0 -32
  47. package/.github/workflows/codeql-analysis.yml +0 -54
  48. package/.snyk +0 -4
  49. package/.vscode/launch.json +0 -74
  50. package/.vscode/settings.json +0 -3
@@ -26,22 +26,24 @@
26
26
 
27
27
  "use strict";
28
28
  import powerbi from "powerbi-visuals-api";
29
+ import { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel";
30
+
29
31
  import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions;
30
32
  import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
31
33
  import IVisual = powerbi.extensibility.visual.IVisual;
32
- import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions;
33
- import VisualObjectInstance = powerbi.VisualObjectInstance;
34
34
  import DataView = powerbi.DataView;
35
35
  import IViewport = powerbi.IViewport;
36
- import VisualObjectInstanceEnumerationObject = powerbi.VisualObjectInstanceEnumerationObject;
37
36
 
38
- import { VisualSettings } from "./settings";
37
+ import { VisualFormattingSettingsModel } from "./settings";
38
+
39
39
  export class Visual implements IVisual {
40
40
  private imageDiv: HTMLDivElement;
41
41
  private imageElement: HTMLImageElement;
42
- private settings: VisualSettings;
42
+ private formattingSettings: VisualFormattingSettingsModel;
43
+ private formattingSettingsService: FormattingSettingsService;
43
44
 
44
45
  public constructor(options: VisualConstructorOptions) {
46
+ this.formattingSettingsService = new FormattingSettingsService();
45
47
  this.imageDiv = document.createElement("div");
46
48
  this.imageDiv.className = "rcv_autoScaleImageContainer";
47
49
  this.imageElement = document.createElement("img");
@@ -59,9 +61,9 @@ export class Visual implements IVisual {
59
61
  !options.dataViews[0]) {
60
62
  return;
61
63
  }
62
- const dataView: DataView = options.dataViews[0];
63
64
 
64
- this.settings = Visual.parseSettings(dataView);
65
+ const dataView: DataView = options.dataViews[0];
66
+ this.formattingSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualFormattingSettingsModel, options.dataViews);
65
67
 
66
68
  let imageUrl: string = null;
67
69
  if (dataView.scriptResult && dataView.scriptResult.payloadBase64) {
@@ -82,15 +84,11 @@ export class Visual implements IVisual {
82
84
  this.imageDiv.style.width = finalViewport.width + "px";
83
85
  }
84
86
 
85
- private static parseSettings(dataView: DataView): VisualSettings {
86
- return <VisualSettings>VisualSettings.parse(dataView);
87
- }
88
87
  /**
89
- * This function gets called for each of the objects defined in the capabilities files and allows you to select which of the
90
- * objects and properties you want to expose to the users in the property pane.
88
+ * Returns properties pane formatting model content hierarchies, properties and latest formatting values, Then populate properties pane.
89
+ * This method is called once every time we open properties pane or when the user edit any format property.
91
90
  */
92
- public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions):
93
- VisualObjectInstance[] | VisualObjectInstanceEnumerationObject {
94
- return VisualSettings.enumerateObjectInstances(this.settings || VisualSettings.getDefault(), options);
91
+ public getFormattingModel(): powerbi.visuals.FormattingModel {
92
+ return this.formattingSettingsService.buildFormattingModel(this.formattingSettings);
95
93
  }
96
94
  }
@@ -59,5 +59,6 @@
59
59
  }
60
60
  }
61
61
  }
62
- }
62
+ },
63
+ "privileges": []
63
64
  }
@@ -8,11 +8,11 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "d3": "5.10.0",
11
- "powerbi-visuals-utils-dataviewutils": "^2.2.1"
11
+ "powerbi-visuals-utils-formattingmodel": "5.0.0"
12
12
  },
13
13
  "devDependencies": {
14
14
  "@types/d3": "5.7.2",
15
- "powerbi-visuals-api": "~3.8.0",
15
+ "powerbi-visuals-api": "5.1.0",
16
16
  "tslint": "^5.18.0",
17
17
  "tslint-microsoft-contrib": "^6.2.0",
18
18
  "typescript": "3.6.3"
@@ -1,4 +1,4 @@
1
1
  {
2
- "apiVersion": "3.8.0",
2
+ "apiVersion": "5.1.0",
3
3
  "externalJS": null
4
4
  }
@@ -26,7 +26,33 @@
26
26
 
27
27
  "use strict";
28
28
 
29
- import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
30
- import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;
29
+ import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";
31
30
 
32
- <%= visualSettingsClasses %>
31
+ import FormattingSettingsCard = formattingSettings.Card;
32
+ import FormattingSettingsSlice = formattingSettings.Slice;
33
+ import FormattingSettingsModel = formattingSettings.Model;
34
+
35
+
36
+ /**
37
+ * General Formatting Card
38
+ */
39
+ class generalCardSettings extends FormattingSettingsCard {
40
+ filter: FormattingSettingsSlice = undefined;
41
+ setFilter: FormattingSettingsSlice = undefined;
42
+ setFilterEnabled: FormattingSettingsSlice = undefined;
43
+
44
+ name: string = "general";
45
+ displayName: string = "General";
46
+ slices: Array<FormattingSettingsSlice> = [this.filter, this.setFilter, this.setFilterEnabled];
47
+ }
48
+
49
+ /**
50
+ * Visual settings model class
51
+ *
52
+ */
53
+ export class VisualFormattingSettingsModel extends FormattingSettingsModel {
54
+ // Create formatting settings model formatting cards
55
+ generalCard = new generalCardSettings();
56
+
57
+ cards = [this.generalCard];
58
+ }
@@ -25,25 +25,26 @@
25
25
  */
26
26
  "use strict";
27
27
 
28
- import "./../style/visual.less";
29
28
  import powerbi from "powerbi-visuals-api";
29
+ import { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel";
30
+ import "./../style/visual.less";
31
+
30
32
  import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions;
31
33
  import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
32
34
  import IVisual = powerbi.extensibility.visual.IVisual;
33
- import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions;
34
- import VisualObjectInstance = powerbi.VisualObjectInstance;
35
- import DataView = powerbi.DataView;
36
- import VisualObjectInstanceEnumerationObject = powerbi.VisualObjectInstanceEnumerationObject;
37
35
 
38
- import { VisualSettings } from "./settings";
36
+ import { VisualFormattingSettingsModel } from "./settings";
37
+
39
38
  export class Visual implements IVisual {
40
39
  private target: HTMLElement;
41
40
  private updateCount: number;
42
- private settings: VisualSettings;
43
41
  private textNode: Text;
42
+ private formattingSettings: VisualFormattingSettingsModel;
43
+ private formattingSettingsService: FormattingSettingsService;
44
44
 
45
45
  constructor(options: VisualConstructorOptions) {
46
46
  console.log("Visual constructor", options);
47
+ this.formattingSettingsService = new FormattingSettingsService();
47
48
  this.target = options.element;
48
49
  this.updateCount = 0;
49
50
  if (document) {
@@ -58,22 +59,18 @@ export class Visual implements IVisual {
58
59
  }
59
60
 
60
61
  public update(options: VisualUpdateOptions) {
61
- this.settings = Visual.parseSettings(options && options.dataViews && options.dataViews[0]);
62
+ this.formattingSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualFormattingSettingsModel, options.dataViews);
62
63
  console.log("Visual update", options);
63
64
  if (this.textNode) {
64
65
  this.textNode.textContent = (this.updateCount++).toString();
65
66
  }
66
67
  }
67
68
 
68
- private static parseSettings(dataView: DataView): VisualSettings {
69
- return <VisualSettings>VisualSettings.parse(dataView);
70
- }
71
- /**
72
- * This function gets called for each of the objects defined in the capabilities files and allows you to select which of the
73
- * objects and properties you want to expose to the users in the property pane.
69
+ /**
70
+ * Returns properties pane formatting model content hierarchies, properties and latest formatting values, Then populate properties pane.
71
+ * This method is called once every time we open properties pane or when the user edit any format property.
74
72
  */
75
- public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions):
76
- VisualObjectInstance[] | VisualObjectInstanceEnumerationObject {
77
- return VisualSettings.enumerateObjectInstances(this.settings || VisualSettings.getDefault(), options);
73
+ public getFormattingModel(): powerbi.visuals.FormattingModel {
74
+ return this.formattingSettingsService.buildFormattingModel(this.formattingSettings);
78
75
  }
79
76
  }
@@ -33,5 +33,6 @@
33
33
  }
34
34
  }
35
35
  }
36
- ]
36
+ ],
37
+ "privileges": []
37
38
  }
@@ -8,10 +8,10 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "d3": "5.10.0",
11
- "powerbi-visuals-utils-dataviewutils": "^2.2.1"
11
+ "powerbi-visuals-utils-formattingmodel": "5.0.0"
12
12
  },
13
13
  "devDependencies": {
14
- "powerbi-visuals-api": "~3.8.0",
14
+ "powerbi-visuals-api": "5.1.0",
15
15
  "@types/d3": "5.7.2",
16
16
  "tslint": "^5.18.0",
17
17
  "tslint-microsoft-contrib": "^6.2.0",
@@ -1,4 +1,4 @@
1
1
  {
2
- "apiVersion": "3.8.0",
2
+ "apiVersion": "5.1.0",
3
3
  "externalJS": null
4
4
  }
@@ -25,7 +25,27 @@
25
25
  */
26
26
  "use strict";
27
27
 
28
- import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
29
- import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;
28
+ import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";
30
29
 
31
- <%= visualSettingsClasses %>
30
+ import FormattingSettingsModel = formattingSettings.Model;
31
+ // import FormattingSettingsCard = formattingSettings.Card;
32
+ // import FormattingSettingsSlice = formattingSettings.Slice;
33
+
34
+ // TODO: fill all visual settings here
35
+ // class DataPointCardSettings extends FormattingSettingsCard {
36
+ // fill = new formattingSettings.ColorPicker({
37
+ // name: "fill", // Property name from capabilities.json
38
+ // displayName: "Fill",
39
+ // value: { value: "#000000" }
40
+ // });
41
+
42
+ // name: string = "dataPoint"; // Object name from capabilities.json
43
+ // displayName: string = "Data colors";
44
+ // slices: Array<FormattingSettingsSlice> = [this.fill];
45
+ // }
46
+
47
+ export class VisualFormattingSettingsModel extends FormattingSettingsModel {
48
+ // TODO: fill all visual settings here
49
+ // public dataPointCardSettings: FormattingSettingsCard = new DataPointCardSettings();
50
+ // cards = [this.dataPointCardSettings];
51
+ }
@@ -26,24 +26,23 @@
26
26
 
27
27
  "use strict";
28
28
 
29
- import "./../style/visual.less";
30
- import { select } from "d3-selection";
31
29
  import { transpose } from "d3-array";
32
30
  import { formatPrefix } from "d3-format";
31
+ import { select } from "d3-selection";
32
+ import "./../style/visual.less";
33
33
 
34
34
  import powerbi from "powerbi-visuals-api";
35
+ import { FormattingSettingsService } from "powerbi-visuals-utils-formattingmodel";
36
+
35
37
  import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions;
36
38
  import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
37
39
  import IVisual = powerbi.extensibility.visual.IVisual;
38
- import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions;
39
- import VisualObjectInstance = powerbi.VisualObjectInstance;
40
40
  import DataView = powerbi.DataView;
41
41
  import IViewport = powerbi.IViewport;
42
- import VisualObjectInstanceEnumerationObject = powerbi.VisualObjectInstanceEnumerationObject;
43
42
 
44
- import { VisualSettings } from "./settings";
45
- import { VisualViewModel, CategoryViewModel } from "./visualViewModel";
43
+ import { VisualFormattingSettingsModel } from "./settings";
46
44
  import { visualTransform } from "./visualTransform";
45
+ import { CategoryViewModel, VisualViewModel } from "./visualViewModel";
47
46
 
48
47
  "use strict";
49
48
  export class Visual implements IVisual {
@@ -51,9 +50,12 @@ export class Visual implements IVisual {
51
50
  private table: d3.Selection<any, any, any, any>;
52
51
  private tHead: d3.Selection<any, any, any, any>;
53
52
  private tBody: d3.Selection<any, any, any, any>;
54
- private settings: VisualSettings;
53
+ private formattingSettings: VisualFormattingSettingsModel;
54
+ private formattingSettingsService: FormattingSettingsService;
55
55
 
56
56
  constructor(options: VisualConstructorOptions) {
57
+ this.formattingSettingsService = new FormattingSettingsService();
58
+
57
59
  let target: d3.Selection<any, any, any, any> = this.target = select(options.element).append("div")
58
60
  .classed("powerbi-demo-wrapper", true);
59
61
 
@@ -72,7 +74,8 @@ export class Visual implements IVisual {
72
74
  if (!viewModel) {
73
75
  return;
74
76
  }
75
- this.settings = Visual.parseSettings(options.dataViews[0]);
77
+
78
+ this.formattingSettings = this.formattingSettingsService.populateFormattingSettingsModel(VisualFormattingSettingsModel, options.dataViews);
76
79
  this.updateContainerViewports(options.viewport);
77
80
 
78
81
  let transposedSeries: any[][] = transpose(viewModel.values.map((d: any) => d.values.map((d: any) => d)));
@@ -107,12 +110,11 @@ export class Visual implements IVisual {
107
110
  return formatPrefix("d", this.round(d, 2))(d);
108
111
  }
109
112
 
110
- private static parseSettings(dataView: DataView): VisualSettings {
111
- return <VisualSettings>VisualSettings.parse(dataView);
112
- }
113
-
114
- public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions):
115
- VisualObjectInstance[] | VisualObjectInstanceEnumerationObject {
116
- return VisualSettings.enumerateObjectInstances(this.settings || VisualSettings.getDefault(), options);
113
+ /**
114
+ * Returns properties pane formatting model content hierarchies, properties and latest formatting values, Then populate properties pane.
115
+ * This method is called once every time we open properties pane or when the user edit any format property.
116
+ */
117
+ public getFormattingModel(): powerbi.visuals.FormattingModel {
118
+ return this.formattingSettingsService.buildFormattingModel(this.formattingSettings);
117
119
  }
118
120
  }
package/.eslintrc.json DELETED
@@ -1,313 +0,0 @@
1
- {
2
- "env": {
3
- "es6": true,
4
- "node": true
5
- },
6
- "extends": "eslint:recommended",
7
- "parserOptions": {
8
- "ecmaVersion": 2018,
9
- "sourceType": "module"
10
- },
11
- "rules": {
12
- "accessor-pairs": "error",
13
- "array-bracket-newline": "error",
14
- "array-bracket-spacing": [
15
- "error",
16
- "never"
17
- ],
18
- "array-callback-return": "off",
19
- "array-element-newline": "off",
20
- "arrow-body-style": "off",
21
- "arrow-parens": "off",
22
- "no-console": "off",
23
- "arrow-spacing": [
24
- "error",
25
- {
26
- "after": true,
27
- "before": true
28
- }
29
- ],
30
- "block-scoped-var": "error",
31
- "block-spacing": "error",
32
- "brace-style": "off",
33
- "callback-return": "off",
34
- "camelcase": "error",
35
- "capitalized-comments": "off",
36
- "class-methods-use-this": "off",
37
- "comma-dangle": "error",
38
- "comma-spacing": [
39
- "error",
40
- {
41
- "after": true,
42
- "before": false
43
- }
44
- ],
45
- "comma-style": [
46
- "error",
47
- "last"
48
- ],
49
- "complexity": "off",
50
- "computed-property-spacing": [
51
- "error",
52
- "never"
53
- ],
54
- "consistent-return": "off",
55
- "consistent-this": "error",
56
- "curly": "error",
57
- "default-case": "error",
58
- "dot-location": [
59
- "error",
60
- "property"
61
- ],
62
- "dot-notation": [
63
- "error",
64
- {
65
- "allowKeywords": true
66
- }
67
- ],
68
- "eol-last": "error",
69
- "eqeqeq": "off",
70
- "func-call-spacing": "error",
71
- "func-name-matching": "error",
72
- "func-names": [
73
- "error",
74
- "never"
75
- ],
76
- "func-style": [
77
- "error",
78
- "declaration",
79
- {
80
- "allowArrowFunctions": true
81
- }
82
- ],
83
- "function-paren-newline": "off",
84
- "generator-star-spacing": "error",
85
- "global-require": "off",
86
- "guard-for-in": "off",
87
- "handle-callback-err": "error",
88
- "id-blacklist": "error",
89
- "id-length": "off",
90
- "id-match": "error",
91
- "implicit-arrow-linebreak": [
92
- "off",
93
- "beside"
94
- ],
95
- "indent": "off",
96
- "indent-legacy": "off",
97
- "init-declarations": "off",
98
- "jsx-quotes": "error",
99
- "key-spacing": "error",
100
- "keyword-spacing": [
101
- "error",
102
- {
103
- "after": true,
104
- "before": true
105
- }
106
- ],
107
- "line-comment-position": "off",
108
- "linebreak-style": [
109
- "error",
110
- "unix"
111
- ],
112
- "lines-around-comment": "off",
113
- "lines-around-directive": "error",
114
- "lines-between-class-members": "error",
115
- "max-classes-per-file": "error",
116
- "max-depth": "off",
117
- "max-len": "off",
118
- "max-lines": "off",
119
- "max-lines-per-function": "off",
120
- "max-nested-callbacks": "error",
121
- "max-params": "off",
122
- "max-statements": "off",
123
- "max-statements-per-line": "off",
124
- "multiline-comment-style": [
125
- "off",
126
- "starred-block"
127
- ],
128
- "new-cap": "error",
129
- "new-parens": "error",
130
- "newline-after-var": "off",
131
- "newline-before-return": "off",
132
- "newline-per-chained-call": "off",
133
- "no-alert": "error",
134
- "no-array-constructor": "error",
135
- "no-await-in-loop": "off",
136
- "no-bitwise": "error",
137
- "no-buffer-constructor": "error",
138
- "no-caller": "error",
139
- "no-catch-shadow": "error",
140
- "no-confusing-arrow": "off",
141
- "no-continue": "error",
142
- "no-div-regex": "error",
143
- "no-duplicate-imports": "error",
144
- "no-else-return": "error",
145
- "no-empty-function": "error",
146
- "no-eq-null": "error",
147
- "no-eval": "error",
148
- "no-extend-native": "error",
149
- "no-extra-bind": "error",
150
- "no-extra-label": "error",
151
- "no-extra-parens": "off",
152
- "no-floating-decimal": "error",
153
- "no-implicit-coercion": "error",
154
- "no-implicit-globals": "error",
155
- "no-implied-eval": "error",
156
- "no-inline-comments": "off",
157
- "no-invalid-this": "off",
158
- "no-iterator": "error",
159
- "no-label-var": "error",
160
- "no-labels": "error",
161
- "no-lone-blocks": "error",
162
- "no-lonely-if": "error",
163
- "no-loop-func": "error",
164
- "no-magic-numbers": "off",
165
- "no-mixed-operators": "error",
166
- "no-mixed-requires": "error",
167
- "no-multi-assign": "error",
168
- "no-multi-spaces": "off",
169
- "no-multi-str": "error",
170
- "no-multiple-empty-lines": "error",
171
- "no-native-reassign": "error",
172
- "no-negated-condition": "off",
173
- "no-negated-in-lhs": "error",
174
- "no-nested-ternary": "off",
175
- "no-new": "error",
176
- "no-new-func": "error",
177
- "no-new-object": "error",
178
- "no-new-require": "error",
179
- "no-new-wrappers": "error",
180
- "no-octal-escape": "error",
181
- "no-param-reassign": "off",
182
- "no-case-declarations": "off",
183
- "no-path-concat": "error",
184
- "no-plusplus": [
185
- "off",
186
- {
187
- "allowForLoopAfterthoughts": true
188
- }
189
- ],
190
- "no-process-env": "error",
191
- "no-process-exit": "off",
192
- "no-proto": "error",
193
- "no-prototype-builtins": "off",
194
- "no-restricted-globals": "error",
195
- "no-restricted-imports": "error",
196
- "no-restricted-modules": "error",
197
- "no-restricted-properties": "error",
198
- "no-restricted-syntax": "error",
199
- "no-return-assign": "error",
200
- "no-return-await": "error",
201
- "no-script-url": "error",
202
- "no-self-compare": "error",
203
- "no-sequences": "error",
204
- "no-shadow": "off",
205
- "no-shadow-restricted-names": "error",
206
- "no-spaced-func": "error",
207
- "no-sync": "off",
208
- "no-tabs": "error",
209
- "no-template-curly-in-string": "error",
210
- "no-ternary": "off",
211
- "no-throw-literal": "error",
212
- "no-trailing-spaces": "off",
213
- "no-undef-init": "error",
214
- "no-undefined": "error",
215
- "no-undef": "off",
216
- "no-underscore-dangle": "off",
217
- "no-unmodified-loop-condition": "error",
218
- "no-unneeded-ternary": [
219
- "error",
220
- {
221
- "defaultAssignment": true
222
- }
223
- ],
224
- "no-unused-expressions": "off",
225
- "no-use-before-define": "off",
226
- "no-useless-call": "error",
227
- "no-useless-computed-key": "error",
228
- "no-useless-concat": "error",
229
- "no-useless-constructor": "error",
230
- "no-useless-rename": "error",
231
- "no-useless-return": "error",
232
- "no-var": "error",
233
- "no-void": "error",
234
- "no-warning-comments": "off",
235
- "no-whitespace-before-property": "error",
236
- "no-with": "error",
237
- "nonblock-statement-body-position": "error",
238
- "object-curly-newline": "error",
239
- "object-curly-spacing": [
240
- "error",
241
- "always"
242
- ],
243
- "object-property-newline": "error",
244
- "object-shorthand": "off",
245
- "one-var": "off",
246
- "one-var-declaration-per-line": [
247
- "error",
248
- "initializations"
249
- ],
250
- "operator-assignment": "error",
251
- "operator-linebreak": "error",
252
- "padded-blocks": "off",
253
- "padding-line-between-statements": "error",
254
- "prefer-arrow-callback": "off",
255
- "prefer-const": "off",
256
- "prefer-destructuring": "off",
257
- "prefer-numeric-literals": "error",
258
- "prefer-object-spread": "error",
259
- "prefer-promise-reject-errors": "off",
260
- "prefer-reflect": "off",
261
- "prefer-rest-params": "off",
262
- "prefer-spread": "error",
263
- "prefer-template": "off",
264
- "quote-props": "off",
265
- "quotes": "off",
266
- "radix": "error",
267
- "require-await": "warn",
268
- "require-jsdoc": "off",
269
- "rest-spread-spacing": "error",
270
- "semi": "error",
271
- "semi-spacing": [
272
- "error",
273
- {
274
- "after": true,
275
- "before": false
276
- }
277
- ],
278
- "semi-style": "off",
279
- "sort-imports": "error",
280
- "sort-keys": "off",
281
- "sort-vars": "off",
282
- "space-before-blocks": "error",
283
- "space-before-function-paren": "off",
284
- "space-in-parens": [
285
- "error",
286
- "never"
287
- ],
288
- "space-infix-ops": "error",
289
- "space-unary-ops": "error",
290
- "spaced-comment": "off",
291
- "strict": "off",
292
- "switch-colon-spacing": "error",
293
- "symbol-description": "error",
294
- "template-curly-spacing": [
295
- "error",
296
- "never"
297
- ],
298
- "template-tag-spacing": "error",
299
- "unicode-bom": [
300
- "error",
301
- "never"
302
- ],
303
- "valid-jsdoc": "off",
304
- "vars-on-top": "error",
305
- "wrap-iife": "error",
306
- "wrap-regex": "off",
307
- "yield-star-spacing": "error",
308
- "yoda": [
309
- "error",
310
- "never"
311
- ]
312
- }
313
- }
package/.gitattributes DELETED
@@ -1,4 +0,0 @@
1
- * text=auto
2
- * eol=lf
3
- *.jpg -text
4
- *.png -text