Skip to content

Commit 5ee9248

Browse files
committed
feat(*): replace with vue composition api
close #52 BREAKING CHANGE: replace to [`@vue/composition-api`](https://github.com/vuejs/composition-api)
1 parent 2c0a6a4 commit 5ee9248

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+79
-88
lines changed

.storybook/config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { configure, addParameters } from '@storybook/vue';
22
import { themes } from '@storybook/theming';
3-
import { plugin } from 'vue-function-api';
43
import Vue from 'vue';
54
import Vuex from 'vuex';
65
import VueRouter from 'vue-router';
6+
import VueCompositionAPI from '@vue/composition-api';
77
import hooks from '../src';
88
import 'github-markdown-css';
99
import 'prismjs/themes/prism-tomorrow.css';
@@ -18,10 +18,10 @@ addParameters({
1818
},
1919
});
2020

21-
Vue.use(hooks);
22-
Vue.use(plugin);
2321
Vue.use(Vuex);
2422
Vue.use(VueRouter);
23+
Vue.use(VueCompositionAPI);
24+
Vue.use(hooks);
2525

2626
function loadStories() {
2727
const req = require.context('../src', true, /\.story\.tsx$/);

.vscode/docs.code-snippets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"import 'vue-tsx-support/enable-check';",
88
"import Vue from 'vue';",
99
"import { storiesOf } from '@storybook/vue';",
10-
"import { createComponent } from 'vue-function-api';",
10+
"import { createComponent } from '@vue/composition-api';",
1111
"import { use${1:Hook} } from '..';",
1212
"import { ShowDocs } from './components';",
1313
"",
@@ -48,7 +48,7 @@
4848
"## Usage",
4949
"",
5050
"```jsx {6,11}",
51-
"import { createComponent } from 'vue-function-api';",
51+
"import { createComponent } from '@vue/composition-api';",
5252
"import { use${1:Hook} } from '@u3u/vue-hooks';",
5353
"",
5454
"const Demo = createComponent({",

.vscode/hook.code-snippets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"scope": "typescript",
44
"prefix": "use",
55
"body": [
6-
"import { $1 } from 'vue-function-api';",
6+
"import { $1 } from '@vue/composition-api';",
77
"",
88
"export default function use${2:Hook}() {",
99
" $3",

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ Docs are available at <https://vue-hooks.netlify.com>
2121

2222
```js
2323
import Vue from 'vue';
24-
import { plugin } from 'vue-function-api';
24+
import VueCompositionAPI from '@vue/composition-api';
2525
import hooks from '@u3u/vue-hooks';
2626

2727
Vue.use(hooks);
28-
Vue.use(plugin); // Don't forget to use the plugin!
28+
Vue.use(VueCompositionAPI); // Don't forget to use the plugin!
2929
```
3030

3131
```jsx
32-
import { createComponent } from 'vue-function-api';
32+
import { createComponent } from '@vue/composition-api';
3333
import { useWindowSize } from '@u3u/vue-hooks';
3434

3535
export default createComponent({

docs/useActions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [`mapActions`](https://vuex.vuejs.org/api/#mapactions).
77
## Usage
88

99
```jsx {17,18,24,29,36,37}
10-
import { createComponent } from 'vue-function-api';
10+
import { createComponent } from '@vue/composition-api';
1111
import { useState, useGetters, useActions } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/useCounter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Vue hook that tracks a numeric value.
55
## Usage
66

77
```jsx {6,17}
8-
import { createComponent } from 'vue-function-api';
8+
import { createComponent } from '@vue/composition-api';
99
import { useCounter } from '@u3u/vue-hooks';
1010

1111
const Demo = createComponent({

docs/useDate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Vue hook that process date via [`dayjs`](https://github.com/iamkun/dayjs).
55
## Usage
66

77
```jsx {6,11}
8-
import { createComponent } from 'vue-function-api';
8+
import { createComponent } from '@vue/composition-api';
99
import { useDate } from '@u3u/vue-hooks';
1010

1111
const Demo = createComponent({

docs/useGetters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [`mapGetters`](https://vuex.vuejs.org/api/#mapgetters).
77
## Usage
88

99
```jsx {8,9,15,19}
10-
import { createComponent } from 'vue-function-api';
10+
import { createComponent } from '@vue/composition-api';
1111
import { useStore, useGetters } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/useMutations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [`mapMutations`](https://vuex.vuejs.org/api/#mapmutations).
77
## Usage
88

99
```jsx {17,18,24,29,36,37}
10-
import { createComponent } from 'vue-function-api';
10+
import { createComponent } from '@vue/composition-api';
1111
import { useState, useGetters, useMutations } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/usePrevious.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Vue hook that returns the previous value.
55
## Usage
66

77
```jsx {7,12,16}
8-
import { createComponent, value } from 'vue-function-api';
8+
import { createComponent, value } from '@vue/composition-api';
99
import { usePrevious } from '@u3u/vue-hooks';
1010

1111
const Demo = createComponent({

docs/useRouter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [vue-router](https://router.vuejs.org).
77
## Usage
88

99
```jsx {6,11,19,23}
10-
import { createComponent, onMounted, onUnmounted } from 'vue-function-api';
10+
import { createComponent, onMounted, onUnmounted } from '@vue/composition-api';
1111
import { useRouter } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/useState.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [`mapState`](https://vuex.vuejs.org/api/#mapstate).
77
## Usage
88

99
```jsx {7,8,14,18}
10-
import { createComponent, computed } from 'vue-function-api';
10+
import { createComponent, computed } from '@vue/composition-api';
1111
import { useState } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/useStore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Vue hook for [vuex](https://vuex.vuejs.org).
77
## Usage
88

99
```jsx {6,12,16}
10-
import { createComponent, computed } from 'vue-function-api';
10+
import { createComponent, computed } from '@vue/composition-api';
1111
import { useStore } from '@u3u/vue-hooks';
1212

1313
const Demo = createComponent({

docs/useWindowSize.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Vue hook that tracks dimensions of the browser window.
55
## Usage
66

77
```jsx {6,11}
8-
import { createComponent } from 'vue-function-api';
8+
import { createComponent } from '@vue/composition-api';
99
import { useWindowSize } from '@u3u/vue-hooks';
1010

1111
const Demo = createComponent({

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"@types/storybook__vue": "^5.0.2",
7474
"@typescript-eslint/parser": "^2.0.0",
7575
"@vue/babel-preset-jsx": "^1.1.0",
76+
"@vue/composition-api": "^0.2.0",
7677
"@vue/test-utils": "^1.0.0-beta.29",
7778
"all-contributors-cli": "^6.8.1",
7879
"babel-loader": "^8.0.6",
@@ -97,7 +98,6 @@
9798
"semantic-release": "^15.13.21",
9899
"typescript": "^3.5.3",
99100
"vue": "^2.6.10",
100-
"vue-function-api": "^2.2.0",
101101
"vue-loader": "^15.7.1",
102102
"vue-router": "^3.1.2",
103103
"vue-template-compiler": "^2.6.10",

src/__stories__/useActions.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useState, useGetters, useActions } from '..';
77
import { ShowDocs } from './components';
88
import { createStore } from '../mocks';

src/__stories__/useCounter.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useCounter } from '..';
77
import { ShowDocs } from './components';
88

src/__stories__/useDate.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useDate, dayjs } from '..';
77
import { ShowDocs } from './components';
88

src/__stories__/useGetters.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useStore, useGetters } from '..';
77
import { ShowDocs } from './components';
88
import { createStore } from '../mocks';

src/__stories__/useMutations.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useState, useGetters, useMutations } from '..';
77
import { ShowDocs } from './components';
88
import { createStore } from '../mocks';

src/__stories__/usePrevious.story.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent, value } from 'vue-function-api';
5+
import { createComponent, ref } from '@vue/composition-api';
66
import { usePrevious } from '..';
77
import { ShowDocs } from './components';
88

@@ -17,7 +17,7 @@ const Docs = () => <ShowDocs md={require('../../docs/usePrevious.md')} />;
1717

1818
const Demo = createComponent({
1919
setup() {
20-
const count = value(0);
20+
const count = ref(0);
2121
const prevCount = usePrevious(count);
2222

2323
const increment = () => count.value++;

src/__stories__/useRouter.story.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import VueRouter, { Route } from 'vue-router';
66
import { storiesOf } from '@storybook/vue';
77
import {
88
createComponent,
9-
value,
9+
ref,
1010
watch,
1111
onMounted,
1212
onUnmounted,
13-
} from 'vue-function-api';
13+
} from '@vue/composition-api';
1414
import { useRouter } from '..';
1515
import { ShowDocs } from './components';
1616

@@ -77,7 +77,7 @@ const Demo = createComponent({
7777

7878
setup() {
7979
const { route, router } = useRouter();
80-
const time = value(5);
80+
const time = ref(5);
8181
let timerId;
8282

8383
watch(route, () => {

src/__stories__/useState.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent, computed } from 'vue-function-api';
5+
import { createComponent, computed } from '@vue/composition-api';
66
import { useStore, useState } from '..';
77
import { ShowDocs } from './components';
88
import { createStore } from '../mocks';

src/__stories__/useStore.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { Store } from 'vuex';
55
import { storiesOf } from '@storybook/vue';
6-
import { createComponent, computed } from 'vue-function-api';
6+
import { createComponent, computed } from '@vue/composition-api';
77
import { useStore } from '..';
88
import { ShowDocs } from './components';
99
import { createStore } from '../mocks';

src/__stories__/useWindowSize.story.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import 'vue-tsx-support/enable-check';
33
import Vue from 'vue';
44
import { storiesOf } from '@storybook/vue';
5-
import { createComponent } from 'vue-function-api';
5+
import { createComponent } from '@vue/composition-api';
66
import { useWindowSize } from '..';
77
import { ShowDocs } from './components';
88

src/__tests__/useDate.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { onMounted, onUnmounted } from 'vue-function-api';
1+
import { onMounted, onUnmounted } from '@vue/composition-api';
22
import { useDate, dayjs } from '..';
33
import renderHook from '../util/renderHook';
44

src/__tests__/useMedia.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { onMounted, onUnmounted } from 'vue-function-api';
1+
import { onMounted, onUnmounted } from '@vue/composition-api';
22
import { useMedia } from '..';
33
import renderHook from '../util/renderHook';
44

src/__tests__/useMountedState.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Vue from 'vue';
2-
import { onMounted } from 'vue-function-api';
2+
import { onMounted } from '@vue/composition-api';
33
import { useMountedState } from '..';
44
import renderHook from '../util/renderHook';
55

src/__tests__/usePrevious.test.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Vue from 'vue';
2-
import { value, state } from 'vue-function-api';
2+
import { ref, reactive } from '@vue/composition-api';
33
import { usePrevious } from '..';
44
import renderHook from '../util/renderHook';
55

@@ -10,7 +10,7 @@ describe('usePrevious', () => {
1010

1111
it('should be previous wrapper count', () => {
1212
renderHook(async () => {
13-
const count = value(0);
13+
const count = ref(0);
1414
const prevCount = usePrevious(count);
1515

1616
expect(count.value).toBe(0);
@@ -32,22 +32,22 @@ describe('usePrevious', () => {
3232

3333
it('should be previous state count', () => {
3434
renderHook(async () => {
35-
const store = state({ count: 0 });
36-
const prevCount = usePrevious(() => store.count);
35+
const state = reactive({ count: 0 });
36+
const prevCount = usePrevious(() => state.count);
3737

38-
expect(store.count).toBe(0);
38+
expect(state.count).toBe(0);
3939
expect(prevCount.value).toBeUndefined();
4040

41-
store.count += 1;
41+
state.count += 1;
4242

4343
await Vue.nextTick();
44-
expect(store.count).toBe(1);
44+
expect(state.count).toBe(1);
4545
expect(prevCount.value).toBe(0);
4646

47-
store.count -= 1;
47+
state.count -= 1;
4848

4949
await Vue.nextTick();
50-
expect(store.count).toBe(0);
50+
expect(state.count).toBe(0);
5151
expect(prevCount.value).toBe(1);
5252
});
5353
});

src/__tests__/useTimeout.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { onMounted, onUnmounted } from 'vue-function-api';
1+
import { onMounted, onUnmounted } from '@vue/composition-api';
22
import { useTimeout } from '..';
33
import renderHook from '../util/renderHook';
44

src/helpers/vuex/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { computed } from 'vue-function-api';
1+
import { computed } from '@vue/composition-api';
22
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex';
33
import { useState, useGetters, useMutations, useActions } from './interface';
44
import { getRuntimeVM } from '../../util/runtime';

src/helpers/vuex/interface.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import Vue from 'vue';
22
import { Dispatch, Commit } from 'vuex';
3-
import { Wrapper } from 'vue-function-api';
3+
import { Ref } from '@vue/composition-api';
44

55
type Dictionary<T> = { [key: string]: T };
6-
type Computed = Wrapper<any>;
6+
type Computed = Ref<any>;
77
type MutationMethod = (...args: any[]) => void;
88
type ActionMethod = (...args: any[]) => Promise<any>;
99
type CustomVue = Vue & Dictionary<any>;

src/useCounter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/* eslint no-return-assign: off */
2-
import { value } from 'vue-function-api';
2+
import { ref } from '@vue/composition-api';
33

44
export default function useCounter(initialValue = 0) {
5-
const count = value(initialValue);
5+
const count = ref(initialValue);
66
const inc = (delta = 1) => (count.value += delta);
77
const dec = (delta = 1) => (count.value -= delta);
88
const get = () => count.value;

0 commit comments

Comments
 (0)