diff --git a/CHANGELOG.md b/CHANGELOG.md index 55d72719..cb54d769 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **connected-solid:** Read links from Link header of a Solid resource. (#165) - **vue:** Add [Vue](https://vuejs.org) support with `@ldo/vue` package. ([#171](https://github.com/o-development/ldo/pull/171)) +- **solid-vue:** Add Solid + Vue support with `@ldo/solid-vue` package. It provides `@ldo/vue` integration with Solid dataset and Solid auth session and additional Solid-specific Vue composables. ([#173](https://github.com/o-development/ldo/pull/173)) ### Changed diff --git a/dev/solid-vue-vite-app/README.md b/dev/solid-vue-vite-app/README.md index 493f8a6f..2ddffe8a 100644 --- a/dev/solid-vue-vite-app/README.md +++ b/dev/solid-vue-vite-app/README.md @@ -1,5 +1,9 @@ # solid-vue-vite-app +Testing app for `@ldo/solid-vue`. + +The rest of this file has been generated by `npm create vue@latest`. + This template should help get you started developing with Vue 3 in Vite. ## Recommended IDE Setup diff --git a/dev/solid-vue-vite-app/eslint.config.js b/dev/solid-vue-vite-app/eslint.config.js new file mode 100644 index 00000000..22ddb3a5 --- /dev/null +++ b/dev/solid-vue-vite-app/eslint.config.js @@ -0,0 +1,21 @@ +import { globalIgnores } from "eslint/config"; +import { + defineConfigWithVueTs, + vueTsConfigs, +} from "@vue/eslint-config-typescript"; +import pluginVue from "eslint-plugin-vue"; + +// To allow more languages other than `ts` in `.vue` files, uncomment the following lines: +// import { configureVueProject } from '@vue/eslint-config-typescript' +// configureVueProject({ scriptLangs: ['ts', 'tsx'] }) +// More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup + +export default defineConfigWithVueTs( + { + name: "app/files-to-lint", + files: ["**/*.{vue,ts,mts,tsx}"], + }, + globalIgnores(["**/dist/**", "**/dist-ssr/**", "**/coverage/**"]), + ...pluginVue.configs["flat/essential"], + vueTsConfigs.recommended, +); diff --git a/dev/solid-vue-vite-app/package.json b/dev/solid-vue-vite-app/package.json index 61d255fe..b8eb202f 100644 --- a/dev/solid-vue-vite-app/package.json +++ b/dev/solid-vue-vite-app/package.json @@ -9,13 +9,17 @@ "preview": "vite preview", "build-only": "vite build", "type-check": "vue-tsc --build", - "build:ldo": "ldo build --input src/_shapes --output src/_ldo" + "build:ldo": "ldo build --input src/_shapes --output src/_ldo", + "lint": "eslint ." }, "dependencies": { + "@ldo/connected-nextgraph": "^1.0.0-alpha.50", "@ldo/connected-solid": "^1.0.0-alpha.50", "@ldo/ldo": "^1.0.0-alpha.50", + "@ldo/solid-vue": "^1.0.0-alpha.50", "@ldo/vue": "^1.0.0-alpha.50", - "vue": "^3.5.40" + "vue": "^3.5.40", + "vue-router": "^5.4.0" }, "devDependencies": { "@ldo/cli": "^1.0.0-alpha.50", @@ -24,7 +28,10 @@ "@types/node": "^24.13.3", "@types/shexj": "^2.1.7", "@vitejs/plugin-vue": "^6.0.8", + "@vue/eslint-config-typescript": "^14.9.0", "@vue/tsconfig": "^0.9.1", + "eslint": "^10.12.0", + "eslint-plugin-vue": "^10.11.1", "npm-run-all2": "^9.0.2", "typescript": "~6.0.0", "vite": "^8.1.5", diff --git a/dev/solid-vue-vite-app/src/App.vue b/dev/solid-vue-vite-app/src/App.vue index 6a95f755..a99aab7d 100644 --- a/dev/solid-vue-vite-app/src/App.vue +++ b/dev/solid-vue-vite-app/src/App.vue @@ -1,61 +1,56 @@ - + diff --git a/dev/solid-vue-vite-app/src/LandingPage.vue b/dev/solid-vue-vite-app/src/LandingPage.vue new file mode 100644 index 00000000..b2f64423 --- /dev/null +++ b/dev/solid-vue-vite-app/src/LandingPage.vue @@ -0,0 +1,55 @@ + + + diff --git a/dev/solid-vue-vite-app/src/useMatchSubjectTest.vue b/dev/solid-vue-vite-app/src/UseMatchSubject.vue similarity index 54% rename from dev/solid-vue-vite-app/src/useMatchSubjectTest.vue rename to dev/solid-vue-vite-app/src/UseMatchSubject.vue index a77ee401..bbf0705c 100644 --- a/dev/solid-vue-vite-app/src/useMatchSubjectTest.vue +++ b/dev/solid-vue-vite-app/src/UseMatchSubject.vue @@ -1,8 +1,7 @@