diff --git a/LICENSE b/LICENSE index 3a3b99f..d6407ce 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 zoton2 +Copyright (c) 2025 Pandipipas Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index bdf71b0..ddef6da 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,26 @@ -# nodecg-vue-ts-template +# scoreko-dev -Template for NodeCG bundles that use Vue.js and TypeScript. +Bundle de NodeCG para producción de overlays de fighting games. +## Proyecto -## Technical Details +- Repositorio: https://github.com/Pandipipas/scoreko-dev +- Stack: NodeCG, Vue 3, TypeScript, Quasar y Vite. -- Tested with Node.js v22.11.0 and above (as of writing, latest LTS properly tested and supported with NodeCG). -- Extension uses TypeScript. -- Browser uses Vue.js (v3), with TypeScript for the scripting. - - Includes the [nodecg-vue-composable](https://github.com/Dan-Shields/nodecg-vue-composable) helper composable to help with using replicants; I advise you check it's README for more information. - - Dashboard also includes Quasar, for easy styling of UI. - - If you wish to configure Quasar differently, check [the quasar vite-plugin documentation](https://quasar.dev/start/vite-plugin#using-quasar). - - Builds using Vite, using the [vite-plugin-nodecg](https://github.com/nodecg/vite-plugin-nodecg) plugin. - - The bundle also overrides `vite` to v6 (dependency asks for v5) as it is tested working. -- ESLint is included for extension/browser/typings. - - Extends some other recommended configurations. -- I personally use Visual Studio Code with some appropriate extensions so have made sure it works well in that editor. - - Includes a `.vscode/extensions.json` that will suggest you appropriate extensions. - - Includes a `.vscode/settings.json` that has some settings that you may find useful. -- The extension/browser files have some example code scattered about that should help in how to use things. +## Requisitos -## Limitations +- Node.js 22+ +- NodeCG 2.3+ -- I don't use any JSON schema specs higher than `draft-07` due to Visual Studio Code not supporting them correctly; see [this issue](https://github.com/microsoft/vscode/issues/98724). +## Scripts -## Package Commands +- `npm run autofix`: corrige errores de lint automáticamente. +- `npm run build`: compila dashboard/graphics y extensión. +- `npm run lint`: valida linting del proyecto. +- `npm run schema-types`: genera tipos desde schemas. +- `npm run start`: inicia NodeCG. +- `npm run watch`: modo desarrollo con watch. -- `autofix`: Automatically fix any possible linting errors using ESLint. -- `prebuild`: Clean up all built/watched files; will automatically run before `build` if called. -- `build`: Build written code for use in production. -- `clean`: Clean up all built/watched files. -- `lint`: Finds any possible linting errors using ESLint, but does not fix them. -- `schema-types`: Create TypeScript typings for schemas/`Configschema.json` using `nodecg` CLI. -- `start`: Start NodeCG. -- `watch`: Build code and watch for changes, for use in development. +## Versión -## Changelogs - -All changes onwards from v3.0.0 are available on the [releases](../../releases) section. Other changelogs are available below. - -### Differences between template v2 and v3... - -This is a "brief" list of changes, although in relality it was mostly rewritten from the ground up, so there are probably more. - -If you want to see all of the changes, check out the [original PR](https://github.com/zoton2/nodecg-vue-ts-template/pull/24). - -- Switched Vite config file to TypeScript (`vite.config.mjs` > `vite.config.ts`). -- Updated how the extension code is built and how it is run in a Node.js context: - - It now runs using the `module` type. - - It is built targetting more modern standards (based on `@tsconfig/node22`). -- All updates needed for NodeCG v2, which isn't too many but is still some (mainly type related). -- Bumped `package.json`s `nodecg.compatibleRange` to `^2.3.0`, as that's the first NodeCG version that properly supported Node.js v22.11.0 LTS. -- Use NodeCG types from official dependency. -- Replaced [@vueuse/head](https://github.com/vueuse/head) with [@unhead/vue](https://github.com/unjs/unhead), due to the former's sunsetting. -- ESLint overhaul: - - Upgraded from ESLint v9 from v8. - - Switched to using flat configs. - - A lot was stripped out that I don't think was needed (feel free to report any issues you may have). - - No longer extends the configuration from airbnb-typescript, as it isn't available for ESLint v9 yet, and I wanted to try without it. -- Reduced the amount of `package.json` scripts/commands by combining some of them and removing the extension/browser/etc. splits. -- Added a `./src/browser_shared` folder with a shared `replicant.ts` helper file for browser contexts. -- Removed MDI CSS being imported by default on dashboard panels. -- Removed the `module-alias` parts as I felt they may have made things too confusing. -- Moved browser `*.ts` entry files into the the respective sub-directories for better organisation. - -### Differences between template v1 and v2... - -- Upgraded Vue to v3 from v2. -- Uses Vite to build browser code instead of Webpack. -- Uses Quasar for material design styling help instead of Vuetify. -- No TypeScript decorators used in the browser code now as they aren't needed. -- Adds [nodecg-vue-composable](https://github.com/Dan-Shields/nodecg-vue-composable) to help with using/modifying replicants in browser. -- No longer includes any Vue state plugins by default (as no longer needed for replicants), but you can add one if needed (I'd suggest [pinia](https://pinia.vuejs.org/)). -- Includes [@vueuse/head](https://github.com/vueuse/head), in the example code just used to help change the title of each page. -- Uses the [nodecg-types](https://github.com/codeoverflow-org/nodecg-types) package instead of directly referencing the installed NodeCG instance. +Versión inicial del proyecto: `0.1.0`. diff --git a/package-lock.json b/package-lock.json index ddba3c0..e13c633 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "scoreko-dev", - "version": "3.0.0", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "scoreko-dev", - "version": "3.0.0", + "version": "0.1.0", "license": "MIT", "dependencies": { "country-list": "^2.4.1", diff --git a/package.json b/package.json index 7468b42..8211c02 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { "name": "scoreko-dev", - "version": "3.0.0", - "description": "Template for NodeCG bundles that use Vue.js and TypeScript.", - "homepage": "https://github.com/zoton2/nodecg-vue-ts-template#readme", + "version": "0.1.0", + "description": "Bundle de NodeCG para overlays de fighting games.", + "homepage": "https://github.com/Pandipipas/scoreko-dev#readme", "bugs": { - "url": "https://github.com/zoton2/nodecg-vue-ts-template/issues" + "url": "https://github.com/Pandipipas/scoreko-dev/issues" }, "repository": { "type": "git", - "url": "git+https://github.com/zoton2/nodecg-vue-ts-template.git" + "url": "git+https://github.com/Pandipipas/scoreko-dev.git" }, "license": "MIT", - "author": "zoton2", + "author": "Pandipipas", "type": "module", "scripts": { "autofix": "eslint --fix", diff --git a/src/dashboard/scoreko-dev/views/About.vue b/src/dashboard/scoreko-dev/views/About.vue index d351d38..7d08377 100644 --- a/src/dashboard/scoreko-dev/views/About.vue +++ b/src/dashboard/scoreko-dev/views/About.vue @@ -24,9 +24,9 @@ const latestRelease = ref(null); const collaborators = [ { - name: 'zoton2', - role: 'Template base (NodeCG + Vue + TS)', - url: 'https://github.com/zoton2/nodecg-vue-ts-template' + name: 'Pandipipas', + role: 'Desarrollo y mantenimiento de Scoreko-dev', + url: 'https://github.com/Pandipipas/scoreko-dev' }, { name: 'Dan Shields',