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 🙏

© 2026 – Pkg Stats / Ryan Hefner

go_core_query

v0.2.3

Published

The package allows you to connect to the GoCore core via socket or regular http (s) requests. Works in various environments where there is javascript.

Downloads

824

Readme

ccs.go_core_query

Пакет для подключения к ядру GoCore через сокеты или обычные HTTP(S) запросы. Работает в различных средах: браузер (современный и устаревший), Node.js (CommonJS и ESM).

Установка

npm i go_core_query --save

Поддерживаемые среды и форматы

Библиотека поставляется в нескольких форматах для обеспечения максимальной совместимости:

| Формат | Файл | Среда использования | Метод подключения | | :--- | :--- | :--- | :--- | | ESM (Browser) | dist/index.js | Современные браузеры, React, Vue, Vite, Webpack | import { initGoCoreQuery } from 'go_core_query' | | Node.js (CJS) | dist/index.node.js | Node.js (стандартный) | const { initGoCoreQuery } = require('go_core_query') | | Node.js (ESM) | dist/index.js | Современный Node.js | import { initGoCoreQuery } from 'go_core_query' | | ES5 Legacy | dist/indexES5.js | Устаревшие браузеры (IE11+), прямой импорт через <script> | <script src=".../indexES5.js"></script> |


Использование

1. Современные браузеры (ESM / TypeScript / Bundlers)

Если вы используете Webpack, Vite, React или другой современный инструмент сборки:

import { initGoCoreQuery } from 'go_core_query';

const params = {
    host: 'localhost',
    port: 8080,
    https: true,
    // ... остальные параметры
};

const goCoreQueryObj = initGoCoreQuery(params);
const { api, instance } = goCoreQueryObj; // В goCoreQueryObj также содержится instance

// Пример асинхронного вызова (api теперь async)
const res = await api({ command: 'ping' });
console.log('Response:', res);

2. Node.js

CommonJS (require)

const { initGoCoreQuery } = require('go_core_query');
// ... использование аналогично браузерному (через async/await или .then())

ESM (import)

В package.json вашего проекта должен быть указан "type": "module".

import { initGoCoreQuery } from 'go_core_query';
// ... использование аналогично браузерному (через async/await)

3. Использование через <script> (Legacy / ES5)

Для подключения напрямую в HTML-файл без сборщика:

<!-- Подключаем бандл. Он экспортирует глобальную функцию initGoCoreQuery -->
<script src="node_modules/go_core_query/dist/indexES5.js"></script>

<script>
    const params = {
        host: 'localhost',
        port: 8080,
        https: false,
        afterInitConnect: (socket) => {
            console.log('Connected!');
        }
    };

    const goCoreQueryObj = initGoCoreQuery(params); // В goCoreQueryObj также содержится instance
    const api = goCoreQueryObj.api;
    
    // Теперь можно делать запросы (поддерживается как Promise, так и Callback)
    api({ command: 'ping' }).then(function(res) {
        console.log('Response (Promise):', res);
    });

    // Или старый способ через callback
    api({ command: 'ping' }, function(res) {
        console.log('Response (Callback):', res);
    });
</script>

Параметры инициализации (QueryParams)

Минимальный набор параметров

Для базового подключения достаточно указать только хост. Остальные параметры имеют значения по умолчанию, подходящие для большинства случаев.

const params = {
    host: 'your-server.com', // Хост без протокола
    // По умолчанию: port: 443, https: true
};

Полный список параметров

Ниже приведен полный список всех поддерживаемых параметров:

| Параметр | Тип | По умолчанию | Описание | | :--- | :--- | :--- |:--------------------------------------------------------------------------------------------------------------------------------------------------| | Основные | | | | | host | string | '' | Адрес сервера GoCore (без протокола, например: localhost) | | port | number \| string | 443 или 80 | Порт сервера. По умолчанию 443 если https: true, иначе 80 | | https | boolean | true | Использовать ли SSL (HTTPS/WSS). Влияет на значение port по умолчанию | | url / path | string | '' | Дополнительный путь к API | | lang | string | 'en' | Язык ответов от сервера (допустимые значения: 'ru', 'en' и др.) | | Авторизация | | | | | autoAuth | boolean | false | Автоматически пытаться авторизоваться при подключении. Использует login и password | | login | string | 'api_test' | Логин для автоматической авторизации (используется при autoAuth: true) | | password | string | 'api_test_password' | Пароль для автоматической авторизации (используется при autoAuth: true) | | token | string | undefined | Предустановленный токен авторизации. Не требуется. Можно установить вручную, но тогда и следить за актуальностью надо самостоятельно | | authFn / authFunction | function | undefined | Callback, вызываемый если требуется авторизация (когда autoAuth: false). Происходит если сервер отправил logout, или очередной запрос вернул -4 | | tokenStorageKey | string | 'CCSGoCoreToken' | Ключ для хранения токена в storage | | skipSetTokenOnLogin| boolean | undefined | Не сохранять токен автоматически после успешного входа | | loginCommand | string | 'login' | Имя команды для выполнения логина | | loginObject | string | 'user' | Объект, к которому относится команда логина | | loginTokenFieldName| string | 'token' | Имя поля в ответе сервера, содержащее токен | | UUID и согласие (GDPR/Cookies) | | | | | useUUID | boolean | undefined | Использовать ли уникальный идентификатор устройства (UUID) | | useUUIDIgnoreAgree | boolean | undefined | Использовать UUID без явного согласия пользователя (игнорируя useUUIDAskAgreeFn) | | useUUIDAskAgreeFn | function | undefined | Функция для запроса согласия пользователя на использование UUID (если useUUIDIgnoreAgree: false) | | uuidStorageKey | string | 'goCoreUUID' | Ключ для хранения UUID в storage | | uuidAgreeStorageKey| string | 'goCoreUUIDAgree' | Ключ для хранения статуса согласия в storage | | useUUIDIgnoreAgreeStorageKey | string | 'goCoreUUIDIgnoreAgree' | Ключ для хранения флага игнорирования согласия в browserStorage | | Настройки сети и Socket.io | | | | | useAJAX | any | undefined | Принудительное использование HTTP запросов вместо сокетов | | extraHeaders | any | undefined | Дополнительные HTTP заголовки | | transports | string[] | undefined | Список транспортов для Socket.io (например ['websocket', 'polling']) | | withCredentials | any | undefined | Передавать ли cookies в CORS запросах | | afterInitConnect | function | undefined | Callback после успешного подключения сокета | | Повторные попытки (Retry logic) | | | | | tryAuthCount | number | 10 | Количество попыток авторизации при неудаче | | tryAuthPause | number | 500 | Пауза между попытками авторизации (мс) | | tryCount | number | 10 | Количество попыток выполнения обычного запроса | | tryPause | number | 500 | Пауза между попытками запроса (мс) | | Хранилище (Storage) | | | | | browserStorage | string | 'cookie' | Тип хранилища в браузере. Допустимые значения: 'cookie', 'localStorage'. Влияет на tokenStorageKey, uuidStorageKey и др. | | storeGetFn | function | undefined | Кастомная функция получения данных (перекрывает стандартный browserStorage) | | storeSetFn | function | undefined | Кастомная функция сохранения данных (перекрывает стандартный browserStorage) | | Отладка и прочее | | | | | debug | boolean | undefined | Включить базовый вывод логов в консоль | | debugFull | boolean | undefined | Включить подробный вывод всех логов (включая сетевой трафик) | | device_type | string | 'WEB' | Тип устройства, передаваемый на сервер (например: 'WEB', 'APP', 'API') | | device_info | any | undefined | Дополнительная информация об устройстве | | env | string | 'browser' | Среда выполнения. Допустимые значения: 'browser', 'node' | | toMainFn / toMainFunction | function | undefined | Callback для перенаправления на главную. Может быть отправлена с сервера. | | doNotDeleteCollapseDataParam | any | undefined | Не удалять параметры сжатия данных из ответа |

Полный пример настройки можно найти в исходном коде или документации к ядру GoCore.

Разработка и сборка

Если вы хотите собрать библиотеку самостоятельно:

  • npm run build:all — собрать все версии (Browser, Node, ES5).
  • npm run build:browser — только современная браузерная версия.
  • npm run build:node — версия для Node.js.
  • npm run build:es5 — версия для старых браузеров с полифиллами.

Contributing

Complex Cloud Solutions LLC

License

ISC