From 710b47d03f39b4e6a56a7cd567909d929a8ecbb1 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Thu, 30 Sep 2021 16:24:23 +0200 Subject: [PATCH] build: prepare for v2 a latest --- README.md | 8 +- packages/pinia/README.md | 168 --------------------------------------- scripts/release.mjs | 8 +- 3 files changed, 5 insertions(+), 179 deletions(-) diff --git a/README.md b/README.md index d3468aa2..13560518 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@


- npm package + npm package build status code coverage

@@ -117,15 +117,15 @@ A few notes about the project and possible questions: ## Installation ```bash -yarn add pinia@next +yarn add pinia # or with npm -npm install pinia@next +npm install pinia ``` If you are using Vue 2, make sure to install `@vue/composition-api` version `1.1.0` (or greater): ```bash -npm install pinia@next @vue/composition-api +npm install pinia @vue/composition-api ``` ## Usage diff --git a/packages/pinia/README.md b/packages/pinia/README.md index b47ebc40..7f1a367f 100644 --- a/packages/pinia/README.md +++ b/packages/pinia/README.md @@ -3,29 +3,11 @@ Pinia logo

-
-

- npm package - build status - code coverage -

-
# Pinia > Intuitive, type safe and flexible Store for Vue -- 💡 Intuitive -- 🔑 Type Safe -- ⚙️ Devtools support -- 🔌 Extensible -- 🏗 Modular by design -- 📦 Extremely light - -Pinia works both for Vue 2.x and Vue 3.x. It requires Vue 2 with `@vue/composition-api` `^1.1.0-0` or Vue `^3.2.0-0`. - -Pinia is is the most similar English pronunciation of the word _pineapple_ in Spanish: _piña_. A pineapple is in reality a group of individual flowers that join together to create a multiple fruit. Similar to stores, each one is born individually, but they are all connected at the end. It's also a delicious tropical fruit indigenous to South America. - ## 👉 [Demo on CodeSandbox](https://y4dfi.csb.app) ## Help me keep working on this project 💚 @@ -33,156 +15,6 @@ Pinia is is the most similar English pronunciation of the word _pineapple_ in Sp - [Become a Sponsor on GitHub](https://github.com/sponsors/posva) - [One-time donation via PayPal](https://paypal.me/posva) - - - -

Gold Sponsors

- -

- - Passionate People - - - - VueJobs - -

- -

Silver Sponsors

- -

- - Vue Mastery - - - - Vuetify - - - - CodeStream - - - - Bird Eats bug - -

- -

Bronze Sponsors

- -

- - Storyblok - - - - NuxtJS - -

- ---- - -## FAQ - -A few notes about the project and possible questions: - -**Q**: _Does this replace Vuex, is it its successor?_ - -**A**: No, or at least that's not the main intention - -**Q**: _What about dynamic modules?_ - -**A**: Dynamic modules are not type safe, so instead [we allow creating different stores](#composing-stores) that can be imported anywhere - -## Roadmap / Ideas - -- [x] Should the state be merged at the same level as actions and getters? -- [ ] ~~Allow grouping stores together into a similar structure and allow defining new getters (`pinia`)~~ - You can directly call `useOtherStore()` inside of a getter or action. -- [ ] Getter with params that act like computed properties (@ktsn) - -## Installation - -```bash -yarn add pinia@next -# or with npm -npm install pinia@next -``` - -If you are using Vue 2, make sure to install `@vue/composition-api` version `1.1.0` (or greater): - -```bash -npm install pinia@next @vue/composition-api -``` - -## Usage - -### Install the plugin - -Create a pinia (the root store) and pass it to app: - -```js -import { createPinia } from 'pinia' - -app.use(createPinia()) -``` - -### Create a Store - -You can create as many stores as you want, and they should each exist in different files: - -```ts -import { defineStore } from 'pinia' - -// main is the name of the store. It is unique across your application -// and will appear in devtools -export const useMainStore = defineStore('main', { - // a function that returns a fresh state - state: () => ({ - counter: 0, - name: 'Eduardo', - }), - // optional getters - getters: { - doubleCount() { - return this.counter * 2 - }, - // use getters in other getters - doubleCountPlusOne() { - return this.doubleCount * 2 + 1 - }, - }, - // optional actions - actions: { - reset() { - // `this` is the store instance - this.counter = 0 - }, - }, -}) -``` - -`defineStore` returns a function that has to be called to get access to the store: - -```ts -import { useMainStore } from '@/stores/main' - -export default defineComponent({ - setup() { - const main = useMainStore() - - return { - // gives access to the whole store - main, - // gives access only to specific state - state: computed(() => main.counter), - // gives access to specific getter; like `computed` properties - doubleCount: computed(() => main.doubleCount), - } - }, -}) -``` - ## Documentation To learn more about Pinia, check [its documentation](https://pinia.esm.dev). diff --git a/scripts/release.mjs b/scripts/release.mjs index a404617d..67068e5d 100644 --- a/scripts/release.mjs +++ b/scripts/release.mjs @@ -22,8 +22,6 @@ let { dry: isDryRun, skipCleanCheck: skipCleanGitCheck, } = args -// TODO: remove on stable -optionTag = optionTag || 'next' // const preId = // args.preid || @@ -273,10 +271,6 @@ function updateDeps(pkg, depType, updatedPackages) { async function publishPackage(pkg) { step(`Publishing ${pkg.name}...`) - // TODO: remove on stable - // apply all @pinia/* packages to the latest dist tag on npm - const tag = pkg.name !== 'pinia' && optionTag === 'next' ? null : optionTag - try { await runIfNotDry( 'yarn', @@ -286,7 +280,7 @@ async function publishPackage(pkg) { pkg.version, '--no-commit-hooks', '--no-git-tag-version', - ...(tag ? ['--tag', tag] : []), + ...(optionTag ? ['--tag', optionTag] : []), '--access', 'public', ], -- 2.47.3