ember-validated-form 3.0.3 → 5.0.0

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 (92) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -1
  2. package/.github/dependabot.yml +11 -0
  3. package/.github/workflows/deploy.yml +5 -3
  4. package/.github/workflows/release.yml +7 -5
  5. package/.github/workflows/test.yml +10 -11
  6. package/CHANGELOG.md +66 -0
  7. package/README.md +3 -3
  8. package/addon/-private/themed-component.js +31 -38
  9. package/addon/components/validated-button/-themes/bootstrap/button.js +7 -9
  10. package/addon/components/validated-button/-themes/uikit/button.js +7 -9
  11. package/addon/components/validated-button/button.hbs +9 -0
  12. package/addon/components/validated-button/button.js +3 -8
  13. package/addon/components/validated-button.hbs +17 -0
  14. package/addon/components/validated-button.js +4 -8
  15. package/addon/components/validated-form.hbs +21 -0
  16. package/addon/components/validated-form.js +32 -46
  17. package/addon/components/validated-input/-themes/bootstrap/error.js +3 -3
  18. package/addon/components/validated-input/-themes/bootstrap/hint.js +3 -3
  19. package/addon/components/validated-input/-themes/bootstrap/label.js +1 -1
  20. package/addon/components/validated-input/-themes/bootstrap/render.js +3 -3
  21. package/addon/components/validated-input/-themes/uikit/error.hbs +4 -0
  22. package/addon/components/validated-input/-themes/uikit/error.js +1 -4
  23. package/addon/components/validated-input/-themes/uikit/hint.js +3 -3
  24. package/addon/components/validated-input/-themes/uikit/label.js +3 -3
  25. package/addon/components/validated-input/-themes/uikit/render.hbs +110 -0
  26. package/addon/components/validated-input/-themes/uikit/render.js +3 -5
  27. package/addon/components/validated-input/error.hbs +1 -0
  28. package/addon/components/validated-input/error.js +6 -7
  29. package/addon/components/validated-input/hint.hbs +1 -0
  30. package/addon/components/validated-input/hint.js +3 -7
  31. package/addon/components/validated-input/label.hbs +3 -0
  32. package/addon/components/validated-input/label.js +3 -8
  33. package/addon/components/validated-input/render.hbs +108 -0
  34. package/addon/components/validated-input/render.js +10 -10
  35. package/addon/components/validated-input/types/-themes/bootstrap/checkbox-group.hbs +19 -0
  36. package/addon/components/validated-input/types/-themes/bootstrap/checkbox-group.js +3 -0
  37. package/addon/components/validated-input/types/-themes/bootstrap/checkbox.hbs +14 -0
  38. package/addon/components/validated-input/types/-themes/bootstrap/checkbox.js +1 -6
  39. package/addon/components/validated-input/types/-themes/bootstrap/input.js +11 -4
  40. package/addon/components/validated-input/types/-themes/bootstrap/radio-group.hbs +20 -0
  41. package/addon/components/validated-input/types/-themes/bootstrap/radio-group.js +1 -4
  42. package/addon/components/validated-input/types/-themes/bootstrap/select.js +11 -4
  43. package/addon/components/validated-input/types/-themes/bootstrap/textarea.js +11 -4
  44. package/addon/components/validated-input/types/-themes/uikit/checkbox-group.hbs +19 -0
  45. package/addon/components/validated-input/types/-themes/uikit/checkbox-group.js +3 -0
  46. package/addon/components/validated-input/types/-themes/uikit/checkbox.hbs +15 -0
  47. package/addon/components/validated-input/types/-themes/uikit/checkbox.js +1 -4
  48. package/addon/components/validated-input/types/-themes/uikit/input.js +11 -4
  49. package/addon/components/validated-input/types/-themes/uikit/radio-group.hbs +20 -0
  50. package/addon/components/validated-input/types/-themes/uikit/radio-group.js +1 -4
  51. package/addon/components/validated-input/types/-themes/uikit/select.js +11 -4
  52. package/addon/components/validated-input/types/-themes/uikit/textarea.js +11 -4
  53. package/addon/components/validated-input/types/checkbox-group.hbs +14 -0
  54. package/addon/components/validated-input/types/checkbox-group.js +21 -0
  55. package/addon/components/validated-input/types/checkbox.hbs +9 -0
  56. package/addon/components/validated-input/types/checkbox.js +10 -6
  57. package/addon/components/validated-input/types/input.hbs +6 -0
  58. package/addon/components/validated-input/types/input.js +9 -17
  59. package/addon/components/validated-input/types/radio-group.hbs +14 -0
  60. package/addon/components/validated-input/types/radio-group.js +10 -6
  61. package/addon/components/validated-input/types/select.hbs +17 -0
  62. package/addon/components/validated-input/types/select.js +3 -7
  63. package/addon/components/validated-input/types/textarea.hbs +7 -0
  64. package/addon/components/validated-input/types/textarea.js +9 -17
  65. package/addon/components/validated-input.hbs +74 -0
  66. package/addon/components/validated-input.js +61 -59
  67. package/app/components/validated-form.js +1 -7
  68. package/app/components/validated-input/types/-themes/bootstrap/checkbox-group.js +1 -0
  69. package/app/components/validated-input/types/-themes/uikit/checkbox-group.js +1 -0
  70. package/app/components/validated-input/types/checkbox-group.js +1 -0
  71. package/config/environment.js +1 -1
  72. package/package.json +50 -36
  73. package/.dependabot/config.yml +0 -14
  74. package/.prettierignore +0 -1
  75. package/addon/templates/components/validated-button/button.hbs +0 -1
  76. package/addon/templates/components/validated-button.hbs +0 -7
  77. package/addon/templates/components/validated-form.hbs +0 -15
  78. package/addon/templates/components/validated-input/-themes/uikit/render.hbs +0 -94
  79. package/addon/templates/components/validated-input/error.hbs +0 -1
  80. package/addon/templates/components/validated-input/hint.hbs +0 -1
  81. package/addon/templates/components/validated-input/label.hbs +0 -1
  82. package/addon/templates/components/validated-input/render.hbs +0 -93
  83. package/addon/templates/components/validated-input/types/-themes/bootstrap/checkbox.hbs +0 -10
  84. package/addon/templates/components/validated-input/types/-themes/bootstrap/radio-group.hbs +0 -15
  85. package/addon/templates/components/validated-input/types/-themes/bootstrap/select.hbs +0 -16
  86. package/addon/templates/components/validated-input/types/-themes/uikit/checkbox.hbs +0 -11
  87. package/addon/templates/components/validated-input/types/-themes/uikit/radio-group.hbs +0 -17
  88. package/addon/templates/components/validated-input/types/-themes/uikit/select.hbs +0 -17
  89. package/addon/templates/components/validated-input/types/checkbox.hbs +0 -9
  90. package/addon/templates/components/validated-input/types/radio-group.hbs +0 -14
  91. package/addon/templates/components/validated-input/types/select.hbs +0 -16
  92. package/addon/templates/components/validated-input.hbs +0 -55
@@ -0,0 +1,6 @@
1
+ <input
2
+ class={{this.class}}
3
+ ...attributes
4
+ {{on "input" this.onUpdate}}
5
+ {{on "blur" @setDirty}}
6
+ />
@@ -1,19 +1,11 @@
1
- import Component from "@ember/component";
1
+ import { action } from "@ember/object";
2
+ import Component from "@glimmer/component";
2
3
 
3
- export default Component.extend({
4
- tagName: "input",
5
- type: "text",
6
- attributeBindings: [
7
- "value",
8
- "placeholder",
9
- "type",
10
- "inputId:id",
11
- "name",
12
- "autofocus",
13
- "autocomplete",
14
- "disabled",
4
+ export default class InputComponent extends Component {
5
+ @action
6
+ onUpdate(event) {
7
+ event.preventDefault();
15
8
 
16
- "update:oninput",
17
- "setDirty:onblur",
18
- ],
19
- });
9
+ this.args.update(event.target.value);
10
+ }
11
+ }
@@ -0,0 +1,14 @@
1
+ {{#each @options as |option i|}}
2
+ <label>
3
+ <input
4
+ type="radio"
5
+ checked={{eq @value option.key}}
6
+ value={{option.key}}
7
+ name={{@name}}
8
+ id="{{@inputId}}-{{i}}"
9
+ disabled={{@disabled}}
10
+ {{on "input" (fn this.onUpdate option.key)}}
11
+ />
12
+ {{option.label}}
13
+ </label>
14
+ {{/each}}
@@ -1,8 +1,12 @@
1
- import Component from "@ember/component";
1
+ import { action } from "@ember/object";
2
+ import Component from "@glimmer/component";
2
3
 
3
- import layout from "../../../templates/components/validated-input/types/radio-group";
4
+ export default class RadioGroupComponent extends Component {
5
+ @action
6
+ onUpdate(value, event) {
7
+ event.preventDefault();
4
8
 
5
- export default Component.extend({
6
- layout,
7
- tagName: "",
8
- });
9
+ this.args.update(value);
10
+ this.args.setDirty();
11
+ }
12
+ }
@@ -0,0 +1,17 @@
1
+ {{! template-lint-disable no-passed-in-event-handlers }}
2
+ <OneWaySelect
3
+ @value={{@value}}
4
+ @options={{@options}}
5
+ @optionLabelPath={{@optionLabelPath}}
6
+ @optionValuePath={{@optionValuePath}}
7
+ @optionTargetPath={{@optionTargetPath}}
8
+ @name={{@name}}
9
+ @id={{@inputId}}
10
+ @class={{this.class}}
11
+ @update={{@update}}
12
+ @focusOut={{@setDirty}}
13
+ @includeBlank={{@includeBlank}}
14
+ @disabled={{@disabled}}
15
+ @multiple={{@multiple}}
16
+ @promptIsSelectable={{or @promptIsSelectable false}}
17
+ />
@@ -1,8 +1,4 @@
1
- import Component from "@ember/component";
1
+ import Component from "@glimmer/component";
2
2
 
3
- import layout from "../../../templates/components/validated-input/types/select";
4
-
5
- export default Component.extend({
6
- layout,
7
- tagName: "",
8
- });
3
+ // eslint-disable-next-line ember/no-empty-glimmer-component-classes
4
+ export default class SelectComponent extends Component {}
@@ -0,0 +1,7 @@
1
+ <textarea
2
+ class={{this.class}}
3
+ ...attributes
4
+ {{on "input" this.onUpdate}}
5
+ {{on "blur" @setDirty}}
6
+ >
7
+ </textarea>
@@ -1,19 +1,11 @@
1
- import Component from "@ember/component";
1
+ import { action } from "@ember/object";
2
+ import Component from "@glimmer/component";
2
3
 
3
- export default Component.extend({
4
- tagName: "textarea",
5
- attributeBindings: [
6
- "value",
7
- "placeholder",
8
- "name",
9
- "inputId:id",
10
- "disabled",
11
- "autofocus",
12
- "rows",
13
- "cols",
14
- "autocomplete",
4
+ export default class TextareaComponent extends Component {
5
+ @action
6
+ onUpdate(event) {
7
+ event.preventDefault();
15
8
 
16
- "update:oninput",
17
- "setDirty:onblur",
18
- ],
19
- });
9
+ this.args.update(event.target.value);
10
+ }
11
+ }
@@ -0,0 +1,74 @@
1
+ {{#if (has-block)}}
2
+ {{#let (component this.labelComponent) as |LabelComponent|}}
3
+ <LabelComponent
4
+ @label={{@label}}
5
+ @required={{this.required}}
6
+ @isValid={{this.isValid}}
7
+ @isInvalid={{this.isInvalid}}
8
+ @inputId={{this.inputId}}
9
+ />
10
+ {{/let}}
11
+
12
+ {{yield
13
+ (hash
14
+ value=this._val
15
+ update=this.update
16
+ setDirty=this.setDirty
17
+ model=@model
18
+ name=@name
19
+ inputId=this.inputId
20
+ isValid=this.isValid
21
+ isInvalid=this.isInvalid
22
+ )
23
+ }}
24
+
25
+ {{#if @hint}}
26
+ {{component this.hintComponent hint=@hint}}
27
+ {{/if}}
28
+
29
+ {{#if (and this.showValidity this.errors)}}
30
+ {{component this.errorComponent errors=this.errors}}
31
+ {{/if}}
32
+ {{else}}
33
+ {{#let (component this.renderComponent) as |RenderComponent|}}
34
+ <RenderComponent
35
+ @type={{this.type}}
36
+ @value={{this._val}}
37
+ @inputId={{this.inputId}}
38
+ @options={{@options}}
39
+ @name={{@name}}
40
+ @inputName={{@inputName}}
41
+ @disabled={{@disabled}}
42
+ @autofocus={{@autofocus}}
43
+ @autocomplete={{@autocomplete}}
44
+ @rows={{@rows}}
45
+ @cols={{@cols}}
46
+ @model={{@model}}
47
+ @isValid={{this.isValid}}
48
+ @isInvalid={{this.isInvalid}}
49
+ @placeholder={{@placeholder}}
50
+ @class={{@class}}
51
+ @promptIsSelectable={{@promptIsSelectable}}
52
+ @optionLabelPath={{@optionLabelPath}}
53
+ @optionValuePath={{@optionValuePath}}
54
+ @optionTargetPath={{@optionTargetPath}}
55
+ @includeBlank={{@includeBlank}}
56
+ @multiple={{@multiple}}
57
+ @update={{this.update}}
58
+ @setDirty={{this.setDirty}}
59
+ @labelComponent={{component
60
+ this.labelComponent
61
+ label=@label
62
+ required=@required
63
+ isValid=this.isValid
64
+ isInvalid=this.isInvalid
65
+ inputId=this.inputId
66
+ }}
67
+ @hintComponent={{if @hint (component this.hintComponent hint=@hint)}}
68
+ @errorComponent={{if
69
+ (and this.showValidity this.errors)
70
+ (component this.errorComponent errors=this.errors)
71
+ }}
72
+ />
73
+ {{/let}}
74
+ {{/if}}
@@ -1,90 +1,92 @@
1
- import Component from "@ember/component";
2
- import { computed, defineProperty } from "@ember/object";
3
- import { v4 } from "uuid";
1
+ import { action, set, get } from "@ember/object";
2
+ import { guidFor } from "@ember/object/internals";
3
+ import Component from "@glimmer/component";
4
+ import { tracked } from "@glimmer/tracking";
4
5
 
5
6
  import themedComponent from "../-private/themed-component";
6
- import layout from "../templates/components/validated-input";
7
7
 
8
8
  /**
9
9
  * This component wraps form inputs.
10
10
  *
11
11
  * It can be used in a two-way-binding style like
12
- * {{validated-input model=model name='firstName'}} (model will be updated)
12
+ * <ValidatedInput @model={{model}} @name='firstName'/> (model will be updated)
13
13
  *
14
14
  * or in a one-way-binding style
15
- * {{validated-input model=model name='firstName' on-update=(action "update"}}
15
+ * <ValidatedInput @model={{model}} @name='firstName' @on-update={{this.update}}
16
16
  * (update action is called, model is not updated)
17
17
  *
18
18
  * @class validated-input
19
19
  * @export default
20
20
  */
21
- export default Component.extend({
22
- layout,
23
- tagName: "",
24
- dirty: false,
25
- required: false,
26
- type: "text",
27
- validateBeforeSubmit: true,
21
+ export default class ValidatedInputComponent extends Component {
22
+ inputId = guidFor(this);
28
23
 
29
- init(...args) {
30
- this._super(...args);
24
+ @tracked dirty;
25
+ @tracked required;
26
+ @tracked type;
27
+ @tracked validateBeforeSubmit;
31
28
 
32
- defineProperty(
33
- this,
34
- "_val",
35
- computed("value", `model.${this.name}`, "name", function () {
36
- return this.value || this.get(`model.${this.name}`);
37
- })
38
- );
39
- },
29
+ @themedComponent("validated-input/render") renderComponent;
30
+ @themedComponent("validated-input/label") labelComponent;
31
+ @themedComponent("validated-input/hint") hintComponent;
32
+ @themedComponent("validated-input/error") errorComponent;
33
+
34
+ constructor(...args) {
35
+ super(...args);
40
36
 
41
- inputId: computed(function () {
42
- return v4();
43
- }),
37
+ this.dirty = this.args.dirty ?? false;
38
+ this.required = this.args.required ?? false;
39
+ this.type = this.args.type ?? "text";
40
+ this.validateBeforeSubmit = this.args.validateBeforeSubmit ?? true;
41
+ }
42
+
43
+ get _val() {
44
+ return (
45
+ this.args.value ??
46
+ (this.args.model &&
47
+ this.args.name &&
48
+ get(this.args.model, this.args.name))
49
+ );
50
+ }
44
51
 
45
- errors: computed("_val", "name", function () {
46
- const errors = this.get(`model.error.${this.name}.validation`) || [];
52
+ get errors() {
53
+ const errors =
54
+ (this.args.model &&
55
+ get(this.args.model, `error.${this.args.name}.validation`)) ??
56
+ [];
47
57
 
48
58
  if (!Array.isArray(errors)) {
49
59
  return [errors];
50
60
  }
51
61
 
52
62
  return errors;
53
- }),
63
+ }
54
64
 
55
- isValid: computed("showValidity", "errors.[]", function () {
65
+ get isValid() {
56
66
  return this.showValidity && !this.errors.length;
57
- }),
67
+ }
58
68
 
59
- isInvalid: computed("showValidity", "errors.[]", function () {
69
+ get isInvalid() {
60
70
  return this.showValidity && !!this.errors.length;
61
- }),
71
+ }
62
72
 
63
- renderComponent: themedComponent("validated-input/render"),
64
- labelComponent: themedComponent("validated-input/label"),
65
- hintComponent: themedComponent("validated-input/hint"),
66
- errorComponent: themedComponent("validated-input/error"),
73
+ get showValidity() {
74
+ return this.args.submitted || (this.validateBeforeSubmit && this.dirty);
75
+ }
67
76
 
68
- showValidity: computed(
69
- "validateBeforeSubmit",
70
- "dirty",
71
- "submitted",
72
- function () {
73
- return this.submitted || (this.validateBeforeSubmit && this.dirty);
74
- }
75
- ),
76
-
77
- actions: {
78
- setDirty() {
79
- this.set("dirty", true);
80
- },
77
+ @action
78
+ setDirty() {
79
+ this.dirty = true;
80
+ }
81
81
 
82
- update(value) {
83
- if (this["on-update"]) {
84
- this["on-update"](value, this.model);
85
- } else {
86
- this.set(`model.${this.name}`, value);
87
- }
88
- },
89
- },
90
- });
82
+ @action
83
+ update(value) {
84
+ if (this.args["on-update"]) {
85
+ this.args["on-update"](value, this.args.model);
86
+ } else {
87
+ this.args.model.set
88
+ ? this.args.model.set(this.args.name, value)
89
+ : set(this.args.model, this.args.name, value);
90
+ }
91
+ }
92
+ }
@@ -1,7 +1 @@
1
- import ValidatedForm from "ember-validated-form/components/validated-form";
2
-
3
- import config from "../config/environment";
4
-
5
- export default ValidatedForm.extend({
6
- config: config["ember-validated-form"],
7
- });
1
+ export { default } from "ember-validated-form/components/validated-form";
@@ -0,0 +1 @@
1
+ export { default } from "ember-validated-form/components/validated-input/types/-themes/bootstrap/checkbox-group";
@@ -0,0 +1 @@
1
+ export { default } from "ember-validated-form/components/validated-input/types/-themes/uikit/checkbox-group";
@@ -0,0 +1 @@
1
+ export { default } from "ember-validated-form/components/validated-input/types/checkbox-group";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  module.exports = function (/* environment, appConfig */) {
4
- return { historySupportMiddleware: true };
4
+ return {};
5
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-validated-form",
3
- "version": "3.0.3",
3
+ "version": "5.0.0",
4
4
  "description": "Easily create forms with client-side validations",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -20,11 +20,14 @@
20
20
  },
21
21
  "scripts": {
22
22
  "build": "ember build --environment=production",
23
- "lint": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*",
23
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
24
+ "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
24
25
  "lint:hbs": "ember-template-lint .",
25
- "lint:js": "eslint .",
26
+ "lint:hbs:fix": "ember-template-lint . --fix",
27
+ "lint:js": "eslint . --cache",
28
+ "lint:js:fix": "eslint . --fix",
26
29
  "start": "ember serve",
27
- "test": "npm-run-all lint:* test:*",
30
+ "test": "npm-run-all lint test:*",
28
31
  "test:ember": "ember test",
29
32
  "test:ember-compatibility": "ember try:each"
30
33
  },
@@ -35,65 +38,76 @@
35
38
  ]
36
39
  },
37
40
  "dependencies": {
38
- "ember-auto-import": "^1.11.2",
39
- "ember-cli-babel": "^7.26.3",
41
+ "ember-auto-import": "^2.2.0",
42
+ "ember-cli-babel": "^7.26.6",
40
43
  "ember-cli-htmlbars": "^5.7.1",
41
44
  "ember-one-way-select": "^4.0.1",
42
- "ember-truth-helpers": "^3.0.0",
43
- "uuid": "^8.3.2"
45
+ "ember-truth-helpers": "^3.0.0"
44
46
  },
45
47
  "devDependencies": {
46
- "@adfinis-sygroup/eslint-config": "1.3.2",
47
- "@adfinis-sygroup/semantic-release-config": "3.1.0",
48
- "@babel/core": "7.13.15",
48
+ "@adfinis-sygroup/eslint-config": "1.4.2",
49
+ "@adfinis-sygroup/semantic-release-config": "3.2.0",
50
+ "@babel/core": "7.15.8",
49
51
  "@ember/optional-features": "2.0.0",
52
+ "@ember/test-helpers": "2.5.0",
53
+ "@embroider/test-setup": "0.45.0",
50
54
  "@fortawesome/ember-fontawesome": "0.2.3",
51
- "@fortawesome/free-solid-svg-icons": "5.15.3",
55
+ "@fortawesome/free-solid-svg-icons": "5.15.4",
52
56
  "@glimmer/component": "1.0.4",
53
57
  "@glimmer/tracking": "1.0.4",
54
58
  "babel-eslint": "10.1.0",
55
59
  "broccoli-asset-rev": "3.0.0",
56
- "ember-changeset": "3.13.3",
57
- "ember-changeset-validations": "3.14.2",
58
- "ember-cli": "3.26.0",
59
- "ember-cli-addon-docs": "1.0.0",
60
+ "ember-changeset": "3.15.0",
61
+ "ember-changeset-validations": "3.16.0",
62
+ "ember-cli": "3.28.1",
63
+ "ember-cli-addon-docs": "4.0.3",
60
64
  "ember-cli-dependency-checker": "3.2.0",
61
65
  "ember-cli-deploy": "1.0.2",
62
66
  "ember-cli-deploy-build": "2.0.0",
63
67
  "ember-cli-deploy-git": "1.3.4",
64
68
  "ember-cli-deploy-git-ci": "1.0.1",
65
- "ember-cli-inject-live-reload": "2.0.2",
69
+ "ember-cli-inject-live-reload": "2.1.0",
66
70
  "ember-cli-release": "1.0.0-beta.2",
67
71
  "ember-cli-sri": "2.1.1",
68
- "ember-cli-terser": "4.0.1",
72
+ "ember-cli-terser": "4.0.2",
69
73
  "ember-cli-test-loader": "3.0.0",
70
- "ember-concurrency": "2.0.3",
71
- "ember-data": "3.26.0",
74
+ "ember-concurrency": "2.1.2",
75
+ "ember-data": "3.28.3",
72
76
  "ember-disable-prototype-extensions": "1.1.3",
73
77
  "ember-load-initializers": "2.1.2",
74
- "ember-maybe-import-regenerator": "0.1.6",
75
- "ember-power-select": "4.1.4",
76
- "ember-qunit": "4.6.0",
77
- "ember-resolver": "8.0.2",
78
- "ember-source": "3.26.1",
78
+ "ember-maybe-import-regenerator": "1.0.0",
79
+ "ember-power-select": "4.1.6",
80
+ "ember-qunit": "5.1.5",
81
+ "ember-resolver": "8.0.3",
82
+ "ember-source": "3.28.1",
79
83
  "ember-source-channel-url": "3.0.0",
80
- "ember-template-lint": "2.21.0",
84
+ "ember-template-lint": "3.9.0",
85
+ "ember-template-lint-plugin-prettier": "2.0.1",
81
86
  "ember-try": "1.4.0",
82
- "eslint": "7.24.0",
83
- "eslint-config-prettier": "8.2.0",
84
- "eslint-plugin-ember": "9.6.0",
85
- "eslint-plugin-import": "2.22.1",
87
+ "eslint": "7.32.0",
88
+ "eslint-config-prettier": "8.3.0",
89
+ "eslint-plugin-ember": "10.5.5",
90
+ "eslint-plugin-import": "2.24.2",
86
91
  "eslint-plugin-node": "11.1.0",
87
- "eslint-plugin-prettier": "3.4.0",
88
- "husky": "6.0.0",
89
- "lint-staged": "10.5.4",
92
+ "eslint-plugin-prettier": "4.0.0",
93
+ "eslint-plugin-qunit": "6.2.0",
94
+ "husky": "7.0.2",
95
+ "lint-staged": "11.2.0",
90
96
  "loader.js": "4.7.0",
91
97
  "npm-run-all": "4.1.5",
92
- "prettier": "2.2.1",
93
- "qunit-dom": "1.6.0"
98
+ "prettier": "2.4.1",
99
+ "qunit": "2.17.2",
100
+ "qunit-dom": "2.0.0",
101
+ "webpack": "5.58.0"
102
+ },
103
+ "resolutions": {
104
+ "graceful-fs": ">=4.2.0"
94
105
  },
95
106
  "engines": {
96
- "node": "10.* || >= 12"
107
+ "node": "12.* || 14.* || >= 16"
108
+ },
109
+ "ember": {
110
+ "edition": "octane"
97
111
  },
98
112
  "ember-addon": {
99
113
  "configPath": "tests/dummy/config",
@@ -1,14 +0,0 @@
1
- version: 1
2
- update_configs:
3
- - package_manager: "javascript"
4
- directory: "/"
5
- update_schedule: "live"
6
- version_requirement_updates: "increase_versions"
7
- automerged_updates:
8
- - match:
9
- dependency_type: "development"
10
- update_type: "semver:minor"
11
- commit_message:
12
- prefix: "fix"
13
- prefix_development: "chore"
14
- include_scope: true
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- package.json
@@ -1 +0,0 @@
1
- {{#if hasBlock}}{{~yield~}}{{else}}{{~label~}}{{/if}}
@@ -1,7 +0,0 @@
1
- {{#with (component buttonComponent onclick=action disabled=disabled label=label type=type class=class) as |button|}}
2
- {{#if hasBlock}}
3
- {{#component button}}{{yield}}{{/component}}
4
- {{else}}
5
- {{component button}}
6
- {{/if}}
7
- {{/with}}
@@ -1,15 +0,0 @@
1
- {{yield (hash
2
- model=model
3
- loading=loading
4
- input=(component "validated-input"
5
- model=model
6
- submitted=submitted
7
- validateBeforeSubmit=validateBeforeSubmit
8
- )
9
- submit=(component "validated-button"
10
- class=submitClass
11
- type="submit"
12
- loading=loading
13
- label="Save"
14
- )
15
- )}}