Monorepo missing features (#1273)

* fix tauri config

* fix package patch

* regen pnpm lock

* use new workflow

* New GH actions

* Update lockfile

* update scripts

* Fix build script

* Fix missing deps

* Fix assets eslint

* Update libraries lint

* Fix all lint configs

* update lockfile

* add fmt + clippy fails

* Separate App Tauri portion

* fix app features

* Fix lints

* install tauri cli

* update lockfile

* corepack, fix lints

* add store path

* fix unused import

* Fix tests

* Issue templates + port over tauri release

* fix actions

* fix before build command

* Add X86 target

* Update build matrix

* finalize actions

* make debug build smaller

* Use debug build to make cache smaller

* dummy commit

* change proj name

* update file name

* Use release builds for less space use

* Remove rust cache

* Readd for app build

* add merge queue trigger
This commit is contained in:
Geometrically
2024-07-09 15:17:38 -07:00
committed by GitHub
parent dab284f339
commit d1bc65c266
265 changed files with 1810 additions and 1871 deletions

View File

@@ -1,5 +1,5 @@
<template>
<span :class="'badge flex items-center gap-2 ' + color + ' type--' + type">
<span :class="'badge flex items-center gap-1 ' + color + ' type--' + type">
<template v-if="color"> <span class="circle" /> {{ $capitalizeString(type) }}</template>
<!-- User roles -->

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useAuth = async (oldToken = null) => {
const auth = useState("auth", () => ({
user: null,

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
export const scopeMessages = defineMessages({
userReadEmailLabel: {
id: "scopes.userReadEmail.label",

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useCosmetics = () =>
useState("cosmetics", () => {
const cosmetics = useCookie("cosmetics", {

View File

@@ -1,8 +1,7 @@
/* eslint-disable no-undef */
import dayjs from "dayjs";
import relativeTime from "dayjs/plugin/relativeTime";
dayjs.extend(relativeTime);
dayjs.extend(relativeTime); // eslint-disable-line import/no-named-as-default-member
export const useCurrentDate = () => useState("currentDate", () => Date.now());

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useBaseFetch = async (url, options = {}, skipAuth = false) => {
const config = useRuntimeConfig();
let base = process.server ? config.apiBaseUrl : config.public.apiBaseUrl;

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useLoading = () => useState("loading", () => false);
export const startLoading = () => {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useNotifications = () => useState("notifications", () => []);
export const addNotification = (notification) => {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
/**
* Extracts the [id] from the route params and returns it as a ref.
*

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
import tags from "~/generated/state.json";
export const useTags = () =>

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useTheme = () =>
useState("theme", () => {
const colorMode = useCookie("color-mode", {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const useUser = async (force = false) => {
const user = useState("user", () => {});

View File

@@ -97,7 +97,7 @@ export const inferVersionInfo = async function (rawFile, project, gameVersions)
const inferFunctions = {
// Forge 1.13+ and NeoForge
"META-INF/mods.toml": async (file, zip) => {
const metadata = TOML.parse(file, { joiner: "\n" });
const metadata = TOML.parse(file, { joiner: "\n" }); // eslint-disable-line import/no-named-as-default-member
if (metadata.mods && metadata.mods.length > 0) {
let versionNum = metadata.mods[0].version;

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
import { useNuxtApp } from "#imports";
async function getBulk(type, ids, apiVersion = 2) {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
import JSZip from "jszip";
import TOML from "@ltd/j-toml";
@@ -132,7 +131,7 @@ export const createDataPackVersion = async function (
primaryZipReader.file("quilt.mod.json", JSON.stringify(quiltModJson));
}
if (loaders.includes("forge")) {
primaryZipReader.file("META-INF/mods.toml", TOML.stringify(forgeModsToml, { newline: "\n" }));
primaryZipReader.file("META-INF/mods.toml", TOML.stringify(forgeModsToml, { newline: "\n" })); // eslint-disable-line import/no-named-as-default-member
}
if (!newForge && loaders.includes("forge")) {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const getProjectTypeForUrl = (type, categories) => {
return getProjectTypeForUrlShorthand(type, categories);
};

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export const acceptTeamInvite = async (teamId) => {
await useBaseFetch(`team/${teamId}/join`, {
apiVersion: 3,

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
const whitelistedParams = ["flow", "error"];
export default defineNuxtRouteMiddleware(async (_to, from) => {

View File

@@ -94,10 +94,9 @@
</div>
</template>
<script setup>
import { DropdownSelect } from "@modrinth/ui";
import { XIcon, PayPalIcon, UnknownIcon } from "@modrinth/assets";
import { capitalizeString } from "@modrinth/utils";
import { Badge, Breadcrumbs } from "@modrinth/ui";
import { Badge, Breadcrumbs, DropdownSelect } from "@modrinth/ui";
import dayjs from "dayjs";
import TremendousIcon from "~/assets/images/external/tremendous.svg?component";
import VenmoIcon from "~/assets/images/external/venmo-small.svg?component";

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export default defineNuxtPlugin(async (nuxtApp) => {
await useAuth();
await useUser();

View File

@@ -1,6 +1,5 @@
import dayjs from "dayjs";
// eslint-disable-next-line no-undef
export default defineNuxtPlugin(() => {
return {
provide: {

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
export default defineNuxtPlugin(() => {
const nuxtApp = useNuxtApp();

View File

@@ -1,4 +1,3 @@
/* eslint-disable no-undef */
import { getProjectTypeForUrlShorthand } from "~/helpers/projects.js";
export default defineNuxtPlugin((nuxtApp) => {

View File

@@ -1,7 +1,6 @@
import FloatingVue from "floating-vue";
import "floating-vue/dist/style.css";
// eslint-disable-next-line no-undef
export default defineNuxtPlugin(({ vueApp }) => {
vueApp.use(FloatingVue);
});

View File

@@ -1,8 +1,6 @@
// eslint-disable-next-line no-undef
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook("render:html", (html, { event }) => {
try {
// eslint-disable-next-line no-undef
const cookies = parseCookies(event);
if (cookies && cookies["color-mode"]) {
@@ -24,15 +22,12 @@ export default defineNitroPlugin((nitroApp) => {
};
if (cookies["auth-token"]) {
// eslint-disable-next-line no-undef
setCookie(event, "auth-token", cookies["auth-token"], opts);
}
if (cookies["color-mode"]) {
// eslint-disable-next-line no-undef
setCookie(event, "color-mode", cookies["color-mode"], opts);
}
if (cookies.cosmetics) {
// eslint-disable-next-line no-undef
setCookie(event, "cosmetics", cookies.cosmetics, opts);
}
}

View File

@@ -5,11 +5,10 @@ import { ref, watch, computed } from "vue";
// note: build step can miss unix import for some reason, so
// we have to import it like this
const { unix } = dayjs;
const { unix } = dayjs; // eslint-disable-line import/no-named-as-default-member
export function useCountryNames(style = "long") {
const formattingOptions = { type: "region", style };
// eslint-disable-next-line no-undef
const { formats } = useVIntl();
return function formatCountryName(code) {
return formats.displayName(code, formattingOptions);
@@ -220,7 +219,6 @@ export const processAnalytics = (category, projects, labelFn, sortFn, mapFn, cha
},
],
colors: projectData.map((_, i) => {
// eslint-disable-next-line no-undef
const theme = useTheme();
const project = chartData[i];
@@ -279,7 +277,6 @@ export const processAnalyticsByCountry = (category, projects, sortFn) => {
};
};
// eslint-disable-next-line no-unused-vars
const sortCount = ([_a, a], [_b, b]) => b - a;
const sortTimestamp = ([a], [b]) => a - b;
const roundValue = ([ts, value]) => [ts, Math.round(parseFloat(value) * 100) / 100];
@@ -296,7 +293,6 @@ const useFetchAnalytics = (
apiVersion: 3,
},
) => {
// eslint-disable-next-line no-undef
return useBaseFetch(url, baseOptions);
};