@arkadykid/test
v0.0.202
Published
Порядок действий: 1) `npm login` = логинимся к npm (bitbucket); 2) `npm version patch` - патчит версию (можно и минорить или мажорить по ситуации); 3) `npm publish --access public` - публикуем версию (или сразу `npm run public` - обьединяет два дейс
Readme
Порядок действий:
npm login= логинимся к npm (bitbucket);npm version patch- патчит версию (можно и минорить или мажорить по ситуации);npm publish --access public- публикуем версию (или сразуnpm run public- обьединяет два действия);- ставим пакет в проекте;
- проекте самом в
nuxt.config.tsдобавляем;
extends: [
process.env.LAYER_PATH || '@test/test'
],- Если не первый раз то обновляем пакет
npm install @test/test@latest, если пакет уже установлен можно в ручную поменять версию иnpm install(если пакет недавно обновился, сразу npm install может не подхватить последнюю версию); npx nuxi prepare- если есть проблемы с runtime запустить в пакете npm run dev он перегенерирует tsconfig и eslint.config.mjs
- и запускаем либо
npm run dev
nuxt.config.ts
import { fileURLToPath } from 'node:url'
import { defineNuxtConfig } from 'nuxt/config'
export default defineNuxtConfig({
modules: ['@nuxt/eslint'],
eslint: {
config: {
// Use the generated ESLint config for lint root project as well
rootDir: fileURLToPath(new URL('..', import.meta.url))
}
},
components: {
dirs: [
{
path: './components',
pathPrefix: false
}
]
}
})package.json - версии nuxt && vue должны быть идентичны проекту
{
"name": "@test/test", // свое
"type": "module",
"version": "0.0.1",
"main": "./nuxt.config.ts",
"types": "./types/index.d.ts",
"exports": {
".": {
"types": "./types/index.d.ts",
"import": "./nuxt.config.ts",
"default": "./nuxt.config.ts"
},
"./types": {
"types": "./types/index.d.ts",
"default": "./types/index.d.ts"
},
"./runtime": {
"import": "./runtime/index.ts",
"default": "./runtime/index.ts"
},
"./*": "./*"
},
"files": [
"components/",
"composables/",
"types/",
"nuxt.config.ts"
],
"devDependencies": {
"@nuxt/eslint": "latest",
"@types/node": "^20.19.19",
"eslint": "^9.37.0",
"nuxt": "3.17.6",
"typescript": "^5.9.3",
"vue": "3.5.17"
}
}Импорт typescript типов осуществляется за счет этих опций
"types": "./types/index.d.ts",
"exports": {
".": {
"types": "./types/index.d.ts",
"import": "./nuxt.config.ts",
"default": "./nuxt.config.ts"
},
"./types": {
"types": "./types/index.d.ts",
"default": "./types/index.d.ts"
},
"./runtime": {
"import": "./runtime/index.ts",
"default": "./runtime/index.ts"
},
"./*": "./*"
},Где:
- "types" указывает TypeScript, где лежит корневой файл с типами;
- "exports" сообщает Node и TS, какие модули доступны для импорта;
- "./types" позволяет писать коротко:
import type { IUser } from '@test/test/types'Типы не импортируются автоматически, каждый тип в свою очередь экспортируется в index.d.ts (обязательно указывать расширение при эскпорте d.ts) общий файл откуда уже и берутся все типы в проект.
tsconfig.json
{
"extends": "./.nuxt/tsconfig.json",
"compilerOptions": {
"types": ["node"]
}
}