@fortawesome/vue-fontawesome 3.0.0-3 → 3.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 (40) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +18 -28
  3. package/index.d.ts +1 -1
  4. package/index.es.js +366 -247
  5. package/index.js +651 -532
  6. package/package.json +46 -23
  7. package/src/components/FontAwesomeIcon.js +65 -24
  8. package/src/components/FontAwesomeLayers.js +4 -4
  9. package/src/components/FontAwesomeLayersText.js +14 -11
  10. package/src/converter.js +15 -18
  11. package/src/utils.js +10 -1
  12. package/.babelrc +0 -3
  13. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -24
  14. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  15. package/.github/workflows/ci.yml +0 -29
  16. package/.tool-versions +0 -2
  17. package/CODE_OF_CONDUCT.md +0 -74
  18. package/CONTRIBUTING.md +0 -57
  19. package/DEVELOPMENT.md +0 -46
  20. package/bin/dev +0 -3
  21. package/bin/setup +0 -8
  22. package/examples/vue-awesome-example/.browserslistrc +0 -3
  23. package/examples/vue-awesome-example/.editorconfig +0 -7
  24. package/examples/vue-awesome-example/.eslintrc.js +0 -18
  25. package/examples/vue-awesome-example/babel.config.js +0 -5
  26. package/examples/vue-awesome-example/package-lock.json +0 -20468
  27. package/examples/vue-awesome-example/package.json +0 -38
  28. package/examples/vue-awesome-example/public/favicon.ico +0 -0
  29. package/examples/vue-awesome-example/public/index.html +0 -18
  30. package/examples/vue-awesome-example/src/App.vue +0 -74
  31. package/examples/vue-awesome-example/src/main.ts +0 -19
  32. package/examples/vue-awesome-example/src/shims-vue.d.ts +0 -5
  33. package/examples/vue-awesome-example/tsconfig.json +0 -39
  34. package/examples/vue-awesome-example/vue.config.js +0 -3
  35. package/rollup.config.js +0 -55
  36. package/src/components/__fixtures__/helpers.js +0 -10
  37. package/src/components/__fixtures__/icons.js +0 -23
  38. package/src/components/__tests__/FontAwesomeIcon.test.js +0 -285
  39. package/src/components/__tests__/FontAwesomeLayers.test.js +0 -66
  40. package/src/components/__tests__/FontAwesomeLayersText.test.js +0 -77
package/package.json CHANGED
@@ -1,8 +1,22 @@
1
1
  {
2
2
  "name": "@fortawesome/vue-fontawesome",
3
- "description": "Official Vue component for Font Awesome 5",
4
- "version": "3.0.0-3",
3
+ "description": "Official Vue component for Font Awesome 6",
4
+ "version": "3.0.0",
5
5
  "main": "index.js",
6
+ "files": [
7
+ "README.md",
8
+ "LICENSE.txt",
9
+ "UPGRADING.md",
10
+ "CHANGELOG.md",
11
+ "index.d.ts",
12
+ "index.es.js",
13
+ "index.js",
14
+ "src/components/**.js",
15
+ "src/**.js"
16
+ ],
17
+ "jest": {
18
+ "verbose": true
19
+ },
6
20
  "module": "index.es.js",
7
21
  "jsnext:main": "index.es.js",
8
22
  "types": "index.d.ts",
@@ -21,13 +35,16 @@
21
35
  "btaens <github.com/btaens>",
22
36
  "David Driscoll <github.com/david-driscoll>",
23
37
  "Tyranteon <github.com/tyranteon>",
24
- "Vinicius Rangel <github.com/viniciuslrangel>"
38
+ "Vinicius Rangel <github.com/viniciuslrangel>",
39
+ "Okke Tijhuis <github.com/otijhuis>"
25
40
  ],
26
41
  "license": "MIT",
27
42
  "scripts": {
28
43
  "build": "rollup -c rollup.config.js",
29
44
  "dist": "cross-env NODE_ENV=production npm run build",
30
- "test": "jest --silent",
45
+ "test": "npm run test.5 && npm run test.6",
46
+ "test.5": "npm --no-save install @fortawesome/fontawesome-svg-core@1.2.x @fortawesome/free-solid-svg-icons@5.x && jest --silent",
47
+ "test.6": "npm --no-save install @fortawesome/fontawesome-svg-core@6.x @fortawesome/free-solid-svg-icons@6.x && jest --silent",
31
48
  "prepack": "npm run dist"
32
49
  },
33
50
  "lint-staged": {
@@ -37,29 +54,35 @@
37
54
  ]
38
55
  },
39
56
  "peerDependencies": {
40
- "@fortawesome/fontawesome-svg-core": ">= 1.2.0 < 1.3",
41
- "vue": "3.x"
57
+ "@fortawesome/fontawesome-svg-core": "~1 || ~6",
58
+ "vue": ">= 3.0.0 < 4"
42
59
  },
43
60
  "devDependencies": {
44
- "@fortawesome/fontawesome-svg-core": "^1.2.0",
45
- "@vue/test-utils": "^2.0.0-beta.2",
46
- "babel-core": "^6.26.0",
47
- "babel-jest": "^23.6.0",
48
- "babel-plugin-external-helpers": "^6.22.0",
49
- "babel-preset-env": "^1.6.1",
50
- "babel-preset-stage-3": "^6.24.1",
51
- "concurrently": "^4.1.0",
52
- "cross-env": "^5.1.1",
61
+ "@babel/core": "^7.18.2",
62
+ "@babel/plugin-external-helpers": "^7.17.12",
63
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
64
+ "@babel/plugin-proposal-json-strings": "^7.17.12",
65
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
66
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
67
+ "@babel/preset-env": "^7.18.2",
68
+ "@fortawesome/fontawesome-svg-core": "~6",
69
+ "@fortawesome/free-solid-svg-icons": "^6",
70
+ "babel-core": "^7.0.0-bridge.0",
71
+ "babel-jest": "^28.1.1",
72
+ "concurrently": "^7.2.1",
73
+ "cross-env": "^7.0.3",
53
74
  "humps": "^2.0.1",
54
- "husky": "^1.1.2",
55
- "jest": "^23.6.0",
56
- "lint-staged": "^8.1.0",
75
+ "husky": "^8.0.1",
76
+ "jest": "^28.1.1",
77
+ "jest-environment-jsdom": "^28.1.1",
78
+ "lint-staged": "^13.0.0",
57
79
  "markdown-toc": "^1.2.0",
58
- "rollup": "^0.57.1",
59
- "rollup-plugin-babel": "^3.0.2",
60
- "rollup-plugin-commonjs": "^9.1.0",
61
- "rollup-plugin-node-resolve": "^3.0.0",
62
- "vue": "3.0.0-rc.6"
80
+ "rollup": "^2.75.6",
81
+ "@rollup/plugin-babel": "^5.3.1",
82
+ "@rollup/plugin-commonjs": "^22.0.0",
83
+ "@rollup/plugin-node-resolve": "^13.3.0",
84
+ "@vue/test-utils": "^2.0.0-beta.2",
85
+ "vue": "^3"
63
86
  },
64
87
  "dependencies": {},
65
88
  "husky": {
@@ -1,10 +1,18 @@
1
1
  import { parse as faParse, icon as faIcon } from '@fortawesome/fontawesome-svg-core'
2
- import { defineComponent } from 'vue'
2
+ import { defineComponent, computed, watch } from 'vue'
3
3
  import convert from '../converter'
4
4
  import log from '../logger'
5
5
  import { objectWithKey, classList } from '../utils'
6
6
 
7
7
  function normalizeIconArgs (icon) {
8
+ if (icon && typeof icon === 'object' && icon.prefix && icon.iconName && icon.icon) {
9
+ return icon
10
+ }
11
+
12
+ if (faParse.icon) {
13
+ return faParse.icon(icon)
14
+ }
15
+
8
16
  if (icon === null) {
9
17
  return null
10
18
  }
@@ -35,9 +43,9 @@ export default defineComponent({
35
43
  default: false
36
44
  },
37
45
  flip: {
38
- type: String,
39
- default: null,
40
- validator: (value) => ['horizontal', 'vertical', 'both'].indexOf(value) > -1
46
+ type: [Boolean, String],
47
+ default: false,
48
+ validator: (value) => [true, false, 'horizontal', 'vertical', 'both'].indexOf(value) > -1
41
49
  },
42
50
  icon: {
43
51
  type: [Object, Array, String],
@@ -72,7 +80,7 @@ export default defineComponent({
72
80
  size: {
73
81
  type: String,
74
82
  default: null,
75
- validator: (value) => ['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1
83
+ validator: (value) => ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x'].indexOf(value) > -1
76
84
  },
77
85
  spin: {
78
86
  type: Boolean,
@@ -93,34 +101,67 @@ export default defineComponent({
93
101
  inverse: {
94
102
  type: Boolean,
95
103
  default: false
96
- }
104
+ },
105
+ bounce: {
106
+ type: Boolean,
107
+ default: false
108
+ },
109
+ shake: {
110
+ type: Boolean,
111
+ default: false
112
+ },
113
+ beat: {
114
+ type: Boolean,
115
+ default: false
116
+ },
117
+ fade: {
118
+ type: Boolean,
119
+ default: false
120
+ },
121
+ beatFade: {
122
+ type: Boolean,
123
+ default: false
124
+ },
125
+ flash: {
126
+ type: Boolean,
127
+ default: false
128
+ },
129
+ spinPulse: {
130
+ type: Boolean,
131
+ default: false
132
+ },
133
+ spinReverse: {
134
+ type: Boolean,
135
+ default: false
136
+ },
97
137
  },
98
138
 
99
139
  setup (props, { attrs }) {
100
- const { symbol, title } = props
101
- const icon = normalizeIconArgs(props.icon)
102
- const classes = objectWithKey('classes', classList(props))
103
- const transform = objectWithKey(
140
+ const icon = computed(() => normalizeIconArgs(props.icon))
141
+ const classes = computed(() => objectWithKey('classes', classList(props)))
142
+ const transform = computed(() => objectWithKey(
104
143
  'transform',
105
144
  (typeof props.transform === 'string')
106
145
  ? faParse.transform(props.transform)
107
146
  : props.transform
108
- )
109
- const mask = objectWithKey('mask', normalizeIconArgs(props.mask))
147
+ ))
148
+ const mask = computed(() => objectWithKey('mask', normalizeIconArgs(props.mask)))
110
149
 
111
- const renderedIcon = faIcon(icon, {
112
- ...classes,
113
- ...transform,
114
- ...mask,
115
- symbol,
116
- title
117
- })
150
+ const renderedIcon = computed(() => faIcon(icon.value, {
151
+ ...classes.value,
152
+ ...transform.value,
153
+ ...mask.value,
154
+ symbol: props.symbol,
155
+ title: props.title
156
+ }))
118
157
 
119
- if (!renderedIcon) {
120
- return log('Could not find one or more icon(s)', icon, mask)
121
- }
158
+ watch(renderedIcon, (value) => {
159
+ if (!value) {
160
+ return log('Could not find one or more icon(s)', icon.value, mask.value)
161
+ }
162
+ }, { immediate: true })
122
163
 
123
- const abstractElement = renderedIcon.abstract[0]
124
- return convert(abstractElement, {}, attrs)
164
+ const vnode = computed(() => renderedIcon.value ? convert(renderedIcon.value.abstract[0], {}, attrs) : null)
165
+ return () => vnode.value
125
166
  }
126
167
  })
@@ -1,5 +1,5 @@
1
1
  import { config } from '@fortawesome/fontawesome-svg-core'
2
- import { defineComponent, h } from 'vue'
2
+ import { defineComponent, h, computed } from 'vue'
3
3
 
4
4
  export default defineComponent({
5
5
  name: 'FontAwesomeLayers',
@@ -14,11 +14,11 @@ export default defineComponent({
14
14
  setup (props, { slots }) {
15
15
  const { familyPrefix } = config
16
16
 
17
- const className = [
17
+ const className = computed(() => [
18
18
  `${familyPrefix}-layers`,
19
19
  ...(props.fixedWidth ? [`${familyPrefix}-fw`] : [])
20
- ]
20
+ ])
21
21
 
22
- return () => h('div', { class: className }, slots.default ? slots.default() : [])
22
+ return () => h('div', { class: className.value }, slots.default ? slots.default() : [])
23
23
  }
24
24
  })
@@ -1,5 +1,5 @@
1
1
  import { config, parse, text } from '@fortawesome/fontawesome-svg-core'
2
- import { defineComponent } from 'vue'
2
+ import { defineComponent, computed } from 'vue'
3
3
  import convert from '../converter'
4
4
  import { objectWithKey } from '../utils'
5
5
 
@@ -29,18 +29,21 @@ export default defineComponent({
29
29
  setup (props, { attrs }) {
30
30
  const { familyPrefix } = config
31
31
 
32
- const classes = objectWithKey('classes', [
32
+ const classes = computed(() => objectWithKey('classes', [
33
33
  ...(props.counter ? [`${familyPrefix}-layers-counter`] : []),
34
34
  ...(props.position ? [`${familyPrefix}-layers-${props.position}`] : [])
35
- ])
36
- const transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform)
37
- const renderedText = text(props.value.toString(), { ...transform, ...classes })
35
+ ]))
36
+ const transform = computed(() => objectWithKey('transform',
37
+ typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform))
38
+ const abstractElement = computed(() => {
39
+ const { abstract } = text(props.value.toString(), { ...transform.value, ...classes.value })
40
+ if (props.counter) {
41
+ abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '')
42
+ }
43
+ return abstract[0]
44
+ })
38
45
 
39
- const { abstract } = renderedText
40
- if (props.counter) {
41
- abstract[0].attributes.class = abstract[0].attributes.class.replace('fa-layers-text', '')
42
- }
43
-
44
- return convert(abstract[0], {}, attrs)
46
+ const vnode = computed(() => convert(abstractElement.value, {}, attrs))
47
+ return () => vnode.value
45
48
  }
46
49
  })
package/src/converter.js CHANGED
@@ -59,11 +59,11 @@ function combineClassObjects (...collections) {
59
59
  }
60
60
 
61
61
  /**
62
- * Converts a FontAwesome abstract element of an icon into a Vue render function.
62
+ * Converts a FontAwesome abstract element of an icon into a Vue VNode.
63
63
  * @param {AbstractElement | String} abstractElement The element to convert.
64
64
  * @param {Object} props The user-defined props.
65
65
  * @param {Object} attrs The user-defined native HTML attributes.
66
- * @returns {Function | String}
66
+ * @returns {VNode}
67
67
  */
68
68
  export default function convert (abstractElement, props = {}, attrs = {}) {
69
69
  // If the abstract element is a string, we'll just return a string render function
@@ -71,11 +71,9 @@ export default function convert (abstractElement, props = {}, attrs = {}) {
71
71
  return abstractElement
72
72
  }
73
73
 
74
- // Converting abstract element children into Vue render functions, then we'll execute
75
- // them to retrieve VDOM elements
74
+ // Converting abstract element children into Vue VNodes
76
75
  const children = (abstractElement.children || [])
77
76
  .map(child => convert(child))
78
- .map(renderFn => typeof renderFn === 'string' ? renderFn : renderFn())
79
77
 
80
78
  // Converting abstract element attributes into valid Vue format
81
79
  const mixins = Object.keys(abstractElement.attributes || {})
@@ -103,19 +101,18 @@ export default function convert (abstractElement, props = {}, attrs = {}) {
103
101
  }
104
102
  )
105
103
 
106
- // Now, we'll return the render function of the
104
+ // Now, we'll return the VNode
107
105
  const { class: _aClass = {}, style: aStyle = {}, ...otherAttrs } = attrs
108
106
 
109
- return () =>
110
- h(
111
- abstractElement.tag,
112
- {
113
- ...props,
114
- class: mixins.class,
115
- style: { ...mixins.style, ...aStyle },
116
- ...mixins.attrs,
117
- ...otherAttrs
118
- },
119
- children
120
- )
107
+ return h(
108
+ abstractElement.tag,
109
+ {
110
+ ...props,
111
+ class: mixins.class,
112
+ style: { ...mixins.style, ...aStyle },
113
+ ...mixins.attrs,
114
+ ...otherAttrs
115
+ },
116
+ children
117
+ )
121
118
  }
package/src/utils.js CHANGED
@@ -10,12 +10,21 @@ export function classList (props) {
10
10
  'fa-border': props.border,
11
11
  'fa-li': props.listItem,
12
12
  'fa-inverse': props.inverse,
13
+ 'fa-flip': props.flip === true,
13
14
  'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',
14
15
  'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both',
15
16
  [`fa-${props.size}`]: props.size !== null,
16
17
  [`fa-rotate-${props.rotation}`]: props.rotation !== null,
17
18
  [`fa-pull-${props.pull}`]: props.pull !== null,
18
- 'fa-swap-opacity': props.swapOpacity
19
+ 'fa-swap-opacity': props.swapOpacity,
20
+ 'fa-bounce': props.bounce,
21
+ 'fa-shake': props.shake,
22
+ 'fa-beat': props.beat,
23
+ 'fa-fade': props.fade,
24
+ 'fa-beat-fade': props.beatFade,
25
+ 'fa-flash': props.flash,
26
+ 'fa-spin-pulse': props.spinPulse,
27
+ 'fa-spin-reverse': props.spinReverse
19
28
  }
20
29
 
21
30
  return Object.keys(classes)
package/.babelrc DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "presets": ["env", "stage-3"]
3
- }
@@ -1,24 +0,0 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Describe the bug**
11
- A clear and concise description of what the bug is.
12
-
13
- **Reproducible test case**
14
- Include a URL (codepen.io, jsfiddle.net, Git repository, codesandbox.io, stackblitz.com, etc.) that demonstrates the problem.
15
-
16
- **Expected behavior**
17
- A clear and concise description of what you expected to happen.
18
-
19
- **Desktop (please complete the following information):**
20
- - Browser [e.g. chrome, safari]
21
- - Version
22
-
23
- **Additional context**
24
- Add any other context about the problem here.
@@ -1,20 +0,0 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- title: ''
5
- labels: ''
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Is your feature request related to a problem? Please describe.**
11
- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
-
13
- **Describe the solution you'd like**
14
- A clear and concise description of what you want to happen.
15
-
16
- **Describe alternatives you've considered**
17
- A clear and concise description of any alternative solutions or features you've considered.
18
-
19
- **Additional context**
20
- Add any other context or screenshots about the feature request here.
@@ -1,29 +0,0 @@
1
- name: CI
2
-
3
- on: [push]
4
-
5
- jobs:
6
- build:
7
-
8
- runs-on: ubuntu-latest
9
-
10
- strategy:
11
- matrix:
12
- node-version: [8.x, 10.x, 12.x]
13
-
14
- steps:
15
- - uses: actions/checkout@v1
16
- - name: Use Node.js ${{ matrix.node-version }}
17
- uses: actions/setup-node@v1
18
- with:
19
- node-version: ${{ matrix.node-version }}
20
- - name: install, build, and test
21
- run: |
22
- npm install
23
- npm run build
24
- npm run test
25
- env:
26
- CI: true
27
- - name: dist
28
- run: |
29
- npm run dist
package/.tool-versions DELETED
@@ -1,2 +0,0 @@
1
- nodejs 10.16.2
2
- python 3.7.5
@@ -1,74 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at <hello@fontawesome.com>. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [https://contributor-covenant.org/version/1/4][version]
72
-
73
- [homepage]: https://contributor-covenant.org
74
- [version]: https://contributor-covenant.org/version/1/4/
package/CONTRIBUTING.md DELETED
@@ -1,57 +0,0 @@
1
- This is the repository for the _official_ Font Awesome Angular component, _initialized_ by the team behind Font Awesome,
2
- but intended to evolve over time with _community_ contributions.
3
-
4
- # Ways to Contribute
5
-
6
- ## Ask a Question
7
-
8
- Trying to figure out how to make it work? Or how to use it in your scenario?
9
-
10
- 1. Review the [README](README.md)
11
- 1. Get familiar with the documentation for the [SVG with JavaScript](https://fontawesome.com/how-to-use/svg-with-js) implementation,
12
- the framework upon which this component is built. Sometimes the answers you need may be there.
13
- 1. Post any remaining questions on [StackOverflow](https://stackoverflow.com/questions/tagged/vue-fontawesome) with the tag `vue-fontawesome`.
14
-
15
- ## Report a Bug
16
-
17
- 1. Create a test case that reproduces the unexpected behavior using [codesandbox.io](https://codesandbox.io)
18
- 1. [Open a new issue with this template](https://github.com/FortAwesome/vue-fontawesome/issues/new?template=bug-report.md),
19
- and be sure to include a link to the reproduction you made with StackBlitz.
20
-
21
- ## Submit a Pull Request
22
-
23
- Add tests if you add code.
24
-
25
- ## Everything Else
26
-
27
- * [Request a feature](https://github.com/FortAwesome/vue-fontawesome/issues/new??title=Feature%20request:feature-name&template=feature-request.md)
28
- * [Request a new icon](https://github.com/FortAwesome/Font-Awesome/issues/new?title=Icon%20request:%20icon-name&template=icon-request.md)
29
-
30
- # Project Goals
31
-
32
- 1. Achieve and maintain feature parity with Font Awesome's [SVG with JavaScript](https://fontawesome.com/how-to-use/svg-with-js) method.
33
-
34
- 1. Keep with best practices in the Angular development community.
35
-
36
- 1. Stay current with major developments in Angular and Angular-CLI
37
-
38
- 1. Maintain a reasonable level of consistency between this component and the other Font Awesome official JavaScript
39
- framework components ([Vue](https://github.com/FortAwesome/angular-fontawesome), [React](https://github.com/FortAwesome/react-fontawesome), [Ember](https://github.com/FortAwesome/ember-fontawesome))
40
-
41
- 1. Sharing responsibility: The Font Awesome team will continue to be involved in ongoing development, hoping to _propel_
42
- the project's momentum as we make _our_ contributions, while minimizing any bottle-necking that may happen as we balance
43
- our own priorities across various projects. Ideally, members of the community will enjoy lending a hand to help keep
44
- the project moving forward by responding to issues, answering questions on StackOverflow, reviewing and merging pull
45
- requests, and publishing npm updates.
46
-
47
- # Code of Conduct
48
-
49
- We'll contribute according to the [Code of Conduct](CODE_OF_CONDUCT.md).
50
-
51
- # Wanted: Core Contributors
52
-
53
- We're seeking core contributors to help drive this project. Core contributors:
54
- 1. Share these goals
55
- 1. Demonstrate competence through contributions
56
- 1. Contribute with conduct fitting with our code of conduct
57
- 1. Want to make this project awesome
package/DEVELOPMENT.md DELETED
@@ -1,46 +0,0 @@
1
- # Developing vue-fontawesome
2
-
3
- ## Tasks
4
-
5
- The following commands are available through `npm run` or `yarn`:
6
-
7
- Command | Purpose
8
- --- | ---
9
- build | Build a development version of the library using Rollup
10
- dist | Build a production version of the library using Rollup
11
- test | Execute unit tests
12
-
13
- ## Release this project
14
- <a name="release"></a>
15
-
16
- **During pre release, make sure and use `--tag` and `--npm-dist-tag`**
17
-
18
- 1. Update `package.json` and change `version`
19
- 1. Update `README.md` and `package.json`; adding any contributors
20
- 1. Update the `CHANGELOG.md`
21
- 1. `npm publish --tag prerelease`
22
- 1. `npm publish --registry --tag prerelease https://npm.fontawesome.com`
23
- 1. `git add .`
24
- 1. `git commit -a -m 'Release VERSION'`
25
- 1. `git push`
26
- 1. Create a [new release](https://github.com/FortAwesome/vue-fontawesome/releases/new) with CHANGELOG details
27
-
28
- ## Authenticating with the npm.fontawesome.com registry
29
-
30
- Contributors with authorization to publish to npm.fontawesome.com will receive an invite
31
- from a Font Awesome project owner.
32
-
33
- 1. Respond to the invite in your email
34
- 1. Let the owner know when you've setup your account
35
- 1. Owner will add you to the team
36
-
37
- You can then run:
38
-
39
- ```
40
- npm login --registry https://npm.fontawesome.com
41
- ```
42
-
43
- - The username is the "slug" for your Cloudsmith account. For example mine is "rob-madole".
44
- - Enter the password that you setup just a few minutes ago.
45
- - It says the your email is PUBLIC. Pretty sure that's false since the auth is through Cloudsmith.
46
- - This doesn't overwrite your standard login, just adds to your `~/.npmrc`
package/bin/dev DELETED
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- yarn watch
package/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/bin/bash
2
-
3
- cd example/webpack
4
- yarn install
5
- cd -
6
-
7
- yarn install
8
- yarn build
@@ -1,3 +0,0 @@
1
- > 1%
2
- last 2 versions
3
- not dead
@@ -1,7 +0,0 @@
1
- [*.{js,jsx,ts,tsx,vue}]
2
- charset = utf-8
3
- indent_style = space
4
- indent_size = 2
5
- end_of_line = lf
6
- trim_trailing_whitespace = true
7
- insert_final_newline = true