Search
    Preparing search index...

    Настройка окружения

    Чтобы начать разработку необходимо создать проект со следующей структурой файлов и каталогов:

    1. Обязательные файлы проекта:

      • tsconfig.json - конфигурационный файл TypeScript

        {
        "extends": ["@universe-ee/sdk/tsconfig.recommended.json"],
        "compilerOptions": {
        "moduleResolution": "bundler",
        "strict": true,
        "skipLibCheck": true
        },
        "include": [
        "@universe-ee/sdk"
        ],
        "files": [
        "src/index.ts"
        ]
        }
      • vite.config.js - конфигурация сборки проекта

        import {defineConfig} from "vite";
        import checker from 'vite-plugin-checker';

        export default defineConfig({
        plugins: [
        checker({typescript: true}),
        ],
        build: {
        lib: {
        entry: 'src/index.ts',
        formats: ['es'],
        fileName: 'index'
        }
        }
        });
      • package.json — описание зависимостей и скриптов проекта.

        npm init -y
        
    2. Установка зависимостей:

      • Авторизоваться в репозитории

        npm login --scope=universe-ee --registry=https:%{NPM_REGISTRY}%
        

        Если при вводе логина вы получаете ошибку npm warn Name must be lowercase, следует создать файл .npmrc

        Cоздайте токен авторизации следующей командой, подставив вместо username и password свои данные авторизации:

        echo -n 'username:password' | openssl base64
        

        Отредактируйте файл .npmrc, подставив вместо your-token созданный токен авторизации.

        universe-ee:registry=https:%{NPM_REGISTRY}%
        %{NPM_REGISTRY}%:_auth="your-token"
      • Установить зависимости

        npm i -DE @universe-ee/sdk@ vite vite-plugin-checker
        
    3. Каталог ./src:

      В проекте должен быть создан каталог src, в котором размещается основной исходный код. Внутри этого каталога должен находиться файл index.ts — точка входа в приложение

      import {Universe} from '@universe-ee/sdk';

      export default {
      userExits: [],
      } satisfies Universe.Platform.UserExit.ExternalModuleDefault;