Open kikuomax opened 10 months ago
Would this mean that we would need to use Typescript to use Buefy with Vue.js 3?
Would this mean that we would need to use Typescript to use Buefy with Vue.js 3?
@grantmcconnaughey No, we will continue providing JS bundles but with comprehensive type declarations for TypeScript.
Awesome, thank you for clarifying!
@kikuomax I assume the task packages/docs
has yet to be populated with sub tasks. Is that correct?
@kikuomax I assume the task
packages/docs
has yet to be populated with sub tasks. Is that correct?
@wesdevpro Right. I have added items I can anticipate.
@wesdevpro Buefy for Vue2 has changes including important bug fixes not merged to Buefy-next yet. I anticipate massive changes will be introduced by rewriting code in TypeScript. So merging the latest changes on Buefy for Vue2 should happen before actually rewriting things in TypeScript.
I will continue working on this issue after finishing #159.
I am working on migration in migrate-to-typescript
branch. Unfortunately, the process is incremental and will take weeks months. If someone could contribute to migration, it would be greatly appreciated.
Please:
See the progress in the following issues:
Claim which component (group) you are going to work on in this thread to avoid overlap
Migrate the component to TypeScript
Make a PR to migrate-to-typescript
branch
Include one component group per PR; e.g., components related to Table
are grouped in packages/buefy-next/src/components/table
Include updates on relevant specs and docs in the PR
Focus on TypeScript migration. Do not try to fix bugs (some minor bug fixes may be unavoidable for migration)
Stick to Options API. I know Composition API is recommended, but it is too different and will make review impossible.
Except you substitute a missing <script>
section in components under packages/docs
, Options API is recommended because of its simplicity.
Add the name of the component group you worked on to the TS_COMPONENTS
array in packages/buefy-next/rollup.config.mjs
.
Run type-check both in packages/buefy-next
and packages/docs
before making a PR:
cd packages/buefy-next
npm run type-check
cd ../docs
npm run type-check
Run vitest
before making a PR:
cd packages/buefy-next
npx vitest
The above command runs all the tests in TypeScript, you can also run a specific test. For instance:
npx vitest src/components/input/Input.spec.ts
Run lint
both in packages/buefy-next
and packages/docs
before making a PR:
cd packages/buefy-next
npm run lint
cd ../docs
npm run lint
Ignore errors in files you did not touch.
Be prepare for massive rebase
I occasionally rebase migrate-to-typescript
branch to reorganize sporadic changes on the same files, because it is difficult to anticipate all the type errors and may have to fix errors tens of commits later. If rebase happens, you have to cherry-pick your commits onto the new migrate-to-typescript
.
Please review my commit history in migrate-to-typescript
branch for more details about actual changes and how to comment your changes.
I am currently working on autocomplete
.
I claim taginput
.
I claim modal
.
I claim switch
.
I claim dialog
.
I claim toast
.
I claim notification
.
I claim snackbar
.
I will rebase the migrate-to-typescript
branch on top of the dev
branch after we release 0.1.3.
I claim image
.
@wesdevpro I have updated the contribution guide.
- Add the name of the component group you worked on to the
TS_COMPONENTS
array inpackages/buefy-next/rollup.config.mjs
.
I claim the Upload
component
I started rebase
ing the migrate-to-typescript
branch on top of v0.1.4. Please expect massive changes in the commit history.
I started
rebase
ing themigrate-to-typescript
branch on top of v0.1.4. Please expect massive changes in the commit history.
@wesdevpro I force-pushed the rebase
d migrate-to-typescript
branch. When you make a PR to the migrate-to-typescript
branch, please cherry-pick
your latest commits onto the new migrate-to-typescript
. I tagged the last commit of the migrate-to-typescript
before rebase
ing as migrate-to-typescript-pre-0.1.4
. So you can list the commits to cherry-pick
with:
git log migrate-to-typescript-pre-0.1.4..
I claim table
.
I also claim select
, because table
depends on it.
I claim pagination
which table
also depends on.
I claim loading
, because table
depends on it.
Hello how are you? I'm a student from Brazil, I'm studying computer science in high school, and I'm in the second year, and I need to move the styling from a project in vue 2, which uses scss, bulma and buefy, to a project in vue 3, but some variables are not declared, such as "$dropdown-item-hover-background-color", "$dropdown-item-hover-color", or even some mixins such as "include control-small, medium and large"; I would like to know if I need to use some specific version of bulma for this, or if the buefy package for vue 3 is still in development in the scss part, I would like to know, so I don't look for error where there is no solution. Something that I would really like, if necessary, is to be able to help in the development of the package or something I need, I believe that for my learning it would be very important, not for recognition, just knowledge. If possible, contact me, so we can talk, even by email if necessary. Thank you very much :); Sorry if there are some English mistakes, I'm still not 100% fluent;
I claim Rate
I claim RadioButton and Radio
@AnthonyLoche I hid your comment because it was off-topic. Please post your question to the discussions page.
Hey @kikuomax and @wesdevpro! How is the migration going? I'm still very much interested in testing out the Buefy Vue 3 update once it is to a point where it is ready. We still haven't migrated Postpone over to Vue 3 yet. 😅
I claim BNumberInput
I claim tabs
. The documentation for table
produces type errors until we finish the migration of tabs
to TS.
Hey @kikuomax and @wesdevpro! How is the migration going? I'm still very much interested in testing out the Buefy Vue 3 update once it is to a point where it is ready. We still haven't migrated Postpone over to Vue 3 yet. 😅
@grantmcconnaughey Thanks for your attention to Buefy. The migration process is incremental but actually progressing. You can monitor the progress in this issue (#172). They look remaining a lot, but difficulty is not uniform. I just took down table
and tabs
which are two of the toughest components.
I claim dropdown
.
I claim timepicker
.
I will be pushing more changes tomorrow night
I claim menu
.
I claim datepicker
.
I claim navbar
.
I claim colorpicker
.
I claim tooltip
. I found colorpicker
depends on it.
I claim carousel
.
I claim message
and progress
🚀
I claim clockpicker
.
I claim steps
.
I claim
message
andprogress
🚀
@kikuomax I also claim ProgressBar
I claim numberinput
.
Sounds good
I claim datetimepicker
.
jestVitest*.d.ts
) and rollup (buefy.d.ts
)for development that directly includesrunningpackages/buefy-next/src
vite
does not seem to requiretsconfig.json
. Vite clearly states that it won't perform typechecking.dev
branch (Download the tier analysis results as JSON)dev
branch (Download the tier analysis results as JSON)