Skip to content

Commit 9df493f

Browse files
committed
refactor: Integrations view & Modules APIs
1 parent d11f362 commit 9df493f

File tree

11 files changed

+13039
-21968
lines changed

11 files changed

+13039
-21968
lines changed

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"repository": "https://github.com/nuxtrdev/nuxtr-vscode",
1515
"homepage": "https://nuxtr.com",
1616
"activationEvents": [
17-
"onStartupFinished"
17+
"workspaceContains:**/nuxt.config.{js,ts}",
18+
"workspaceContains:**/package.json"
1819
],
1920
"files": [
2021
"out"
@@ -1062,7 +1063,7 @@
10621063
"@types/vscode": "^1.83.1",
10631064
"@typescript-eslint/eslint-plugin": "^6.9.0",
10641065
"@typescript-eslint/parser": "^6.9.0",
1065-
"@vscode/test-electron": "^2.3.5",
1066+
"@vscode/test-electron": "^2.3.6",
10661067
"changelogen": "^0.5.5",
10671068
"eslint": "^8.52.0",
10681069
"nuxi-edge": "3.9.1-1697113884.a6acb6a",
@@ -1073,7 +1074,7 @@
10731074
},
10741075
"dependencies": {
10751076
"@nuxt/schema": "^3.8.0",
1076-
"destr": "^2.0.1",
1077+
"destr": "^2.0.2",
10771078
"fs-extra": "^11.1.1",
10781079
"jiti": "^1.20.0",
10791080
"magicast": "^0.3.0",

pnpm-lock.yaml

Lines changed: 24 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/build/assets/index.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12-
"@supabase/supabase-js": "^2.38.2",
12+
"@supabase/supabase-js": "^2.38.3",
1313
"@vscode/webview-ui-toolkit": "^1.2.2",
1414
"build": "^0.1.4",
15+
"ofetch": "^1.3.3",
1516
"vue": "^3.3.6",
1617
"vue-router": "4.2.4"
1718
},
@@ -22,7 +23,7 @@
2223
"postcss": "^8.4.31",
2324
"prettier": "^3.0.3",
2425
"prettier-plugin-tailwindcss": "^0.5.6",
25-
"tailwindcss": "^3.3.3",
26+
"tailwindcss": "^3.3.4",
2627
"typescript": "^5.2.2",
2728
"vite": "^4.5.0",
2829
"vue-tsc": "^1.8.20"

ui/src/components/ModuleCard.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
<div class="flex gap-1">
2525
<IconStar class="h-4 w-4" />
2626
<span class="text-xs font-normal">
27-
{{ formatNumber(module.stars) }}
27+
{{ formatNumber(module.stats.stars) }}
2828
</span>
2929
</div>
3030
<div class="flex gap-1">
3131
<IconDownloads class="h-4 w-4" />
3232
<span class="text-xs font-normal">
33-
{{ formatNumber(module.downloads) }}
33+
{{ formatNumber(module.stats.downloads) }}
3434
</span>
3535
</div>
3636
</div>
@@ -63,8 +63,10 @@ import IconStar from "./Icons/Star.vue";
6363
import IconDownloads from "./Icons/Downloads.vue";
6464
import { ref } from "vue";
6565
66+
import { Module } from "./../composables/modules";
67+
6668
const props = defineProps<{
67-
module: any;
69+
module: Module;
6870
installed?: boolean;
6971
}>();
7072

ui/src/components/Modules.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@
3232
</template>
3333

3434
<script setup lang="ts">
35-
import { useModules } from "./../composables/modules";
35+
import { useModules, Module } from "./../composables/modules";
3636
import ModuleCard from "./ModuleCard.vue";
3737
import ModulesFilter from "./ModulesFilter.vue";
3838
import { ref, computed } from "vue";
3939
4040
const searchInput = ref<HTMLElement | null>(null);
4141
42-
const modules = useModules();
42+
const modules: Module[] = useModules();
4343
44-
const nuxtVersions = ref(["3.x", "2.x", "2.x-bridge"]);
44+
const nuxtVersions = ref(["3.0.0", "2.0.0"]);
4545
46-
const selectedVersion = ref("3.x");
46+
const selectedVersion = ref("3.0.0");
4747
const selectedIntegrationType = ref("All");
4848
const selectedCategory = ref("All");
4949
const selectedType = ref("All");
@@ -53,7 +53,7 @@ const showFilter = ref(false);
5353
5454
const types = ref(
5555
modules
56-
.map((m: any) => {
56+
.map((m: Module) => {
5757
return m.type.charAt(0).toUpperCase() + m.type.slice(1);
5858
})
5959
.filter((v: any, i: any, a: any) => a.indexOf(v) === i)
@@ -63,8 +63,8 @@ types.value.unshift("All");
6363
// unique categories from modules with tag 3.x
6464
const categories = computed(() => {
6565
const categories = modules
66-
.filter((m: any) => m.tags.includes(selectedVersion.value))
67-
.map((m: any) => m.category)
66+
.filter((m: Module) => m.compatibility.nuxt.includes(selectedVersion.value))
67+
.map((m: Module) => m.category)
6868
.filter((v: any, i: any, a: any) => a.indexOf(v) === i)
6969
.sort();
7070
categories.unshift("All");
@@ -73,8 +73,8 @@ const categories = computed(() => {
7373
7474
const filteredModules = computed(() => {
7575
// filter by selected version
76-
const filteredByVersion = modules.filter((m: any) =>
77-
m.tags.includes(selectedVersion.value),
76+
const filteredByVersion = modules.filter((m: Module) =>
77+
m.compatibility.nuxt.includes(selectedVersion.value),
7878
);
7979
8080
// filter by selected category
@@ -95,20 +95,20 @@ const filteredModules = computed(() => {
9595
);
9696
9797
// filter by search result
98-
const filteredBySearch = sortedByDownloads.filter((m: any) =>
98+
const filteredBySearch = sortedByDownloads.filter((m: Module) =>
9999
(m.name + " " + m.description)
100100
.toLowerCase()
101101
.includes(searchResult.value.toLowerCase()),
102102
);
103103
104104
// filter by selectedIntegrationType
105105
if (selectedIntegrationType.value === "Layers") {
106-
const filteredByExtends = filteredBySearch.filter((m: any) =>
106+
const filteredByExtends = filteredBySearch.filter((m: Module) =>
107107
m.isLayer ? true : false,
108108
);
109109
return filteredByExtends;
110110
} else if (selectedIntegrationType.value === "Modules") {
111-
const filteredByExtends = filteredBySearch.filter((m: any) =>
111+
const filteredByExtends = filteredBySearch.filter((m: Module) =>
112112
m.isLayer ? false : true,
113113
);
114114
return filteredByExtends;
@@ -118,7 +118,7 @@ const filteredModules = computed(() => {
118118
});
119119
120120
const isModuleInstalled = (module: string) => {
121-
if (installedModules.value?.find((m: any) => m.name === module)) {
121+
if (installedModules.value?.find((m: Module) => m.name === module)) {
122122
return true;
123123
}
124124
return false;

ui/src/components/ModulesFilter.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ const props = defineProps({
6868
},
6969
nuxtVersions: {
7070
type: Array,
71-
default: () => ["3.x", "2.x", "2.x-bridge"],
71+
default: () => ["3.0.0", "2.0.0"],
7272
},
7373
categories: {
7474
type: Array,
@@ -101,7 +101,7 @@ const emit = defineEmits([
101101
102102
const listOpen = ref(props.open || false);
103103
const integrationType = ref("All Integrations");
104-
const selectedVersion = ref("3.x");
104+
const selectedVersion = ref("3.0.0");
105105
const selectedType = ref("Type");
106106
const selectedCategory = ref("Category");
107107

0 commit comments

Comments
 (0)