npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@lindentech/somon-script

v0.3.60

Published

A programming language that compiles to JavaScript, written in Tajik Cyrillic

Readme

СомонСкрипт

Забони барномарезии синфи истеҳсолот бо синтаксиси тоҷикӣ

Версия Васеъшавии VS Code Ҳолати Сохтан Пӯшиши Тест Муваффақияти Намунаҳо Иҷозатнома

Ҳолати Quality Gate Хатоҳо Мушкилоти Код Рейтинги Бехатарӣ Рейтинги Нигоҳдорӣ

Забони барномарезии пурра бо хусусиятҳои муосири бехатарии навъ ва синтаксиси кирилликаи тоҷикӣ, ки ба JavaScript-и беҳинашуда компил мешавад. Лоиҳа фаъолона рушд меёбад, бо маҷмӯи автоматии тестҳо ва ҳуҷҷатгузории муфассал дастгирӣ мешавад.

🗣️ Забонҳои дигар

  • 🇺🇸 English - Забони асосӣ
  • 🇹🇯 Тоҷикӣ - Забони модарӣ
  • 🇷🇺 Русский - Забони русӣ

Нест кардани монеаҳои забонӣ дар рушди нармафзор

СомонСкрипт махсусан барои нест кардани монеаи забонӣ сохта шудааст, ки бисёре аз барномарезони истеъдоднокро аз ифода кардани пурраи қобилиятҳои барномарезии онҳо боздоштааст. Бо таъмини муҳити пурраи барномарезӣ дар хати кирилликаи тоҷикӣ, СомонСкрипт ба барномарезон имкон медиҳад, ки дар забони модариашон фикр кунанд, код нависанд ва ҳамкорӣ намоянд ва дар айни ҳол аз қувваи пурраи парадигмаҳои муосири барномарезӣ истифода баранд.

Ин муносибати инноватсионӣ на танҳо фаҳмиши кодро беҳтар мекунад ва боркунии когнитивиро кам мекунад, балки дарвозаҳоро барои насли навини барномарезон мекушояд, ки акнун метавонанд ба экосистемаи ҷаҳонии нармафзор саҳм гузоранд, бе он ки аз синтаксиси забони хориҷӣ маҳдуд шаванд.


✨ Чаро СомонСкриптро интихоб кунед?

🌍 Нест кардани монеаҳои забонӣ дар барномарезӣ

Тавонманд кардани рушди забони модарӣ

СомонСкрипт рушди нармафзорро инқилоб мекунад бо нест кардани монеаи асосии забонӣ:

  • Табиӣ фикр кардан: Алгоритмҳо ва мантиқи мураккабро дар шаклҳои забони модарӣ ифода кунед
  • Кам кардани боркунии когнитивӣ: Қабати тарҷумаи ақлиро байни концепсия ва код нест кунед
  • Беҳтар кардани фаҳмиши код: Коди худмуаррифшударо нависед, ки барои дастаҳои тоҷикзабон фавран хондашаванда аст
  • Суръат додан ба омӯхтан: Барномарезони нав метавонанд ба консепсияҳои барномарезӣ тамаркуз кунанд, на ба синтаксиси хориҷӣ

🔒 Бехатарии навъи синфи касбӣ

Системи пешрафтаи таҳлили статикӣ бо хусусиятҳои бехатарии сатҳи TypeScript:

  • Навъҳои иттиҳод ва буриш
  • Навъҳои tuple бо хулосаи дарозӣ
  • Мерос ва таркиби интерфейс
  • Параметрҳои навъи умумӣ
  • Ифодаҳои навъи шартӣ

Манзараи рушди ҷорӣ

  • Аудити худкори намунаҳоnpm run audit:examples барномаҳои намунавиро пеш аз нашр санҷида мебарояд.
  • Маҷмӯи васеи тестҳо – зиёда аз 300 тест марҳилаҳои лексер, парсер, санҷиши навъ ва CLI-ро мепӯшонад. Ҳисоботҳои пӯшиш бо дархост дастрасанд.
  • Услуб ва формати ягона – ESLint ва Prettier покии кодро нигоҳ медоранд.
  • Меъмории қабатӣ – Компилятор, CLI ва системаи модулӣ ҳамчун қисмҳои ҷудогона нигоҳ дошта мешаванд.
  • Рушди фаъол – Барои арзёбӣ ва лоиҳаҳои пилотӣ мувофиқ аст; дар бораи мушкилоти дар муҳитҳои истеҳсолӣ дучоршуда хабар диҳед.

🎨 Васеъшавии VS Code

Дастгирии пурраи IDE бо рӯшноии синтаксис, IntelliSense ва фрагментҳои код:

  • Насб аз Бозори VS Code: "SomonScript"-ро ҷустуҷӯ кунед ё бевосита насб кунед
  • Хусусиятҳо: Рӯшноии синтаксис, толеби худшиносъанд-намуд, 30+ фрагмент, вазнданиҳои ҳам-замон
  • Маълумоти Hovering: Ҳуҷҷатгузории кунҷи тоҷикӣ бо эквивалентҳои JavaScript-ро бубинед

🚀 Шурӯъи зуд

Насб

# NPM (тавсияшуда барои аксари корбарон)
npm install -g @lindentech/somon-script

# JSR (тавсияшуда барои лоиҳаҳои TypeScript)
npx jsr add @lindentechde/somon-script

# Ё дар лоиҳа истифода баред
npm install @lindentech/somon-script --save-dev

Интерфейси бисёрзабонаи CLI

CLI СомонСкрипт акнун се забонро дастгирӣ мекунад: Англисӣ, Тоҷикӣ ва Русӣ. Ин ба барномарезон имкон медиҳад, ки компиляторро дар забони дӯстдоштаашон истифода баранд.

Танзими забон

# Истифодаи интерфейси тоҷикӣ
somon --lang tj компайл app.som

# Истифодаи интерфейси русӣ
somon --lang ru компилировать app.som

# Истифодаи интерфейси англисӣ (бо нобаёнӣ)
somon --lang en compile app.som

Муайян кардани худкори забон

CLI забони системаи шуморо аз тағйирёбандаҳои муҳитӣ худкор муайян мекунад:

# Танзими забони дӯстдошта тавассути муҳит
export SOMON_LANG=tj  # Тоҷикӣ
export SOMON_LANG=ru  # Русӣ
export SOMON_LANG=en  # Англисӣ

# Ё истифодаи забони системавӣ
export LANG=tg_TJ.UTF-8  # Худкор тоҷикиро истифода мебарад
export LANG=ru_RU.UTF-8  # Худкор русиро истифода мебарад

Фармонҳои дастрас дар ҳар забон

compile app.som
run app.som
init my-project
bundle src/main.som
module-info src/main.som
resolve "./utils"
serve --port 8080
компайл app.som
иҷро app.som
оғоз лоиҳаи-ман
баста src/main.som
маълумоти-модул src/main.som
ҳал "./utils"
хидмат --port 8080
компилировать app.som
запустить app.som
инициализация мой-проект
пакет src/main.som
информация-модуля src/main.som
разрешить "./utils"
сервер --port 8080

Намунаҳои истифода

# Бо забони тоҷикӣ
somon --lang tj компайл файли-ман.som -o dist/файл.js
somon --lang tj иҷро барнома.som
somon --lang tj баста src/асосӣ.som --minify

# Паёмҳо ҳам дар забони интихобшуда нишон дода мешаванд:
# ✅ 'app.som' ба 'app.js' компайл шуд
# 📦 src/main.som-ро баста мекунем...
# 🔍 src/main.som-ро таҳлил мекунем...

Барномаи аввалини шумо

# Намунаи Салом ҷаҳон
echo 'чоп.сабт("Салом, ҷаҳон!");' > hello.som
somon run hello.som

# Мантиқи тиҷоратӣ бо бехатарии навъ
cat > calculator.som << 'EOF'
функсия ҷамъ(а: рақам, б: рақам): рақам {
    бозгашт а + б;
}

тағ натиҷа = ҷамъ(5, 3);
чоп.сабт("Натиҷа: " + натиҷа);
EOF

somon run calculator.som

Бандлинг (Системаи модул)

  • SomonScript бастаҳои CommonJS-и омода ба иҷро месозад.
somon bundle src/main.som -o dist/bundle.js

Барои дебаг --source-map-ро истифода баред, то харитаи манбаъҳоро гиред:

somon bundle src/main.som -o dist/bundle.js --source-map

Харитаҳо акнун роҳҳои модулро нисбат ба феҳристи файли асосӣ нигоҳ медоранд, аз ин рӯ роҳҳои мутлақ ифшо намешаванд. Флаги --inline-sourcesinlineSources: true дар конфиг) матни SomonScript-ро ба .map замим мекунад, агар ба шумо ниёз бошад, ки манбаъ дар артефакт мавҷуд бошад.

Омодагӣ барои истеҳсолот

СомонСкрипт барои истеҳсолот омода аст бо хусусиятҳои амалиётии ҳамаҷониба:

  • Татбиқи пурраи забон - Ҳамаи хусусиятҳои синтаксиси тоҷикӣ кор мекунанд
  • Коркарди хатоҳо - Деградатсияи боадаб ва гузоришдиҳии ҳамаҷониба
  • Мониторинг ва мушоҳида - Санҷишҳои саломатӣ, метрикаҳо, логгинги сохторӣ
  • Идораи захираҳо - Маҳдудиятҳои хотира, таймаутҳо, хомӯшкунии боадаб
  • Тоқат ба хатоҳо - Circuit breaker-ҳо, барқарорсозӣ аз хатоҳо
  • Дастгирии ҷойгиркунӣ - Docker, Kubernetes, systemd, PM2

📖 Тафсилот: PRODUCTION-READINESS.md


🎯 Хусусиятҳои забон

Қобилиятҳои асосии забон

// Тағйирёбандаҳо бо хулосаи навъ
тағ ном = "Дониёр";
собит МАКС_СИННУ_СОЛ: рақам = 120;

// Функсияҳо бо аннотсияҳои навъ
функсия ҳисоб_кардан(а: рақам, б: рақам): рақам {
    бозгашт а + б;
}

Воситаҳои барномарезии объекторавона

синф Ҳайвон {
    хосусӣ ном: сатр;

    конструктор(ном: сатр) {
        ин.ном = ном;
    }

    ҷамъиятӣ овоз_додан(): сатр {
        бозгашт "Садои умумӣ";
    }
}

🚀 Ҷойгиркунӣ барои истеҳсолот

Режими истеҳсолот

СомонСкрипт дорои хусусиятҳои ҳамаҷонибаи истеҳсолот аст, ки бо флаги --production фаъол мешаванд:

# Компилятсия дар режими истеҳсолот
somon compile app.som --production

# Иҷро дар режими истеҳсолот
somon run app.som --production

# Бандл дар режими истеҳсолот
somon bundle app.som --production

# Ё тавассути тағйирёбандаи муҳит
NODE_ENV=production somon compile app.som

Режими истеҳсолот худкор фаъол мекунад:

  • ✅ Санҷиши муҳит (версияи Node, иҷозатҳо)
  • ✅ Circuit breaker-ҳо барои тоқат ба хатоҳо
  • ✅ Маҳдудиятҳои захираҳо (хотира, дастгираҳои файл)
  • ✅ Логгинги сохтории JSON
  • ✅ Ҷамъоварии метрикаҳо
  • ✅ Коркарди хомӯшкунии боадаб

Вариантҳои ҷойгиркунӣ

Docker

docker run -d \
  --name somon \
  -p 8080:8080 \
  -e NODE_ENV=production \
  somon-script:latest

Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: somon-script
spec:
  replicas: 3
  template:
    spec:
      containers:
        - name: somon
          image: somon-script:latest
          env:
            - name: NODE_ENV
              value: production

Systemd

# Насби хидмат
sudo cp somon-script.service /etc/systemd/system/
sudo systemctl enable somon-script
sudo systemctl start somon-script

📖 Дастури пурра: DEPLOYMENT.md


📊 Санҷишҳои сифат

Лоиҳа дорои санҷишҳои автоматиест, ки шумо метавонед маҳалли иҷро кунед:

| Санҷиш | Фармон | Мақсад | | ---------------------- | ------------------------ | ----------------------------------------------------------- | | Аудити намунаҳо | npm run audit:examples | Мутмаин мешавад, ки барномаҳои намунавӣ ҳамоно кор мекунанд | | Маҷмӯи тестҳо | npm test | Фазаҳои компилятор, CLI ва рафтори иҷроиро месанҷад | | Linting ва формат | npm run lint | Қоидаҳои услуб ва таҳлили статикӣ-ро месанҷад | | Сохтани TypeScript | npm run build | Пеш аз нашр манбаи TypeScript-ро компил мекунад |


🛠️ Рушд ва саҳмгузорӣ

Талаботи пешакӣ

  • Node.js 20.x, 22.x, 23.x ё 24.x
  • npm 8.x ё баландтар
  • Дониши TypeScript (барои рушди дохилӣ)

Танзимот

# Клон кардани репозиторий
git clone https://github.com/lindentechde/Somon-Script.git
cd Somon-Script

# Насби вобастагиҳо
npm install

# Сохтани компилятор
npm run build

# Иҷрои тестҳо
npm test

# Режими рушд (назорат барои тағйирот)
npm run dev

Тестгузаронӣ

# Маҷмӯи пурраи тестҳо
npm test

# Бо пӯшиш
npm run test:coverage

# Категорияҳои мушаххаси тест
npm run test:unit
npm run test:integration
npm run audit:examples

📚 Захираҳои омӯзишӣ

Барои дастаҳои тиҷоратӣ

Барои дастаҳои техникӣ

Барои дастаҳои рушд

Функсияҳои ворид ва API-ҳо


🌍 Дастгирии касбӣ

Хидматҳои техникӣ

Хидматҳои касбӣ

LindenTech IT Consulting хидматҳои касбии рушдро пешниҳод мекунад:

  1. Рушди асосӣ: Беҳтар кардани қобилиятҳо ва самаранокии компилятор
  2. Ҳуҷҷатгузорӣ: Беҳтар кардани ҳуҷҷатҳо ва дастурҳои техникӣ
  3. Тестгузаронӣ: Васеъ кардани пӯшиши тест ва таъмини сифат
  4. Ҳамгироӣ: Сохтани асбобҳо ва дастгирии IDE
  5. Самаранокӣ: Оптимизатсияи компилятсия ва иҷрои вақти кор

🚀 Нав: Раванди нашри автоматӣ

СомонСкрипт акнун semantic-release-ро барои нашрҳои автоматӣ истифода мебарад:

  • Conventional Commits: Дар паёмҳои commit feat:, fix:, docs: ва ғайраро истифода баред
  • Версияи автоматӣ: Версияи семантикӣ дар асоси навъҳои commit
  • Нашр дар чанд регистр: Нашри автоматӣ дар NPM, JSR ва GitHub Packages
  • Нашрҳои дастӣ лозим нестанд: Танҳо commit ва push кунед - система худ кор мекунад!

📖 Ҳуҷҷатгузорӣ:


📄 Иҷозатнома

SomonScript таҳти иҷозатномаи MIT паҳн мешавад. Матни пурра дар файли LICENSE дастрас аст.


🏢 Шарикии корхона

Дар ҳамкорӣ бо LindenTech IT Consulting сохта шудааст

СомонСкрипт дар ҳамкорӣ бо LindenTech IT Consulting сохта шудааст - консалтинги пешбари технологияи корхона.

Веб-сайт: lindentech.de
Тамос: [email protected]


🌟 Олии техникӣ

Дар асоси принсипҳои исботшудаи муҳандисии нармафзор ва технологияи муосири компилятор сохта шудааст:

  • Системаи пешрафтаи навъ - Дар асоси тадқиқоти исботшудаи назарияи навъ
  • Меъмории тоза - Тарроҳии модулӣ бо принсипҳои SOLID
  • Стандартҳои саноатӣ - Мувофиқ бо экосистемаи JavaScript-и мавҷуда
  • Оптимизатсияи самаранокӣ - Компилятсия ва иҷрои самараноки вақти кор

Стеки технология

  • Татбиқи асосии TypeScript барои эътимод
  • Мувофиқати экосистемаи Node.js
  • Компилятсияи мақсадноки JavaScript-и муосир
  • Чаҳорчӯбаи ҳамаҷонибаи тестгузаронӣ

СомонСкрипт - Барномарезии касбӣ бо синтаксиси маҳаллӣ

Ҳалли касбии рушди нармафзор

Веб-сайт (дар рушд)GitHubҲуҷҷатгузорӣДастгирӣ