The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В JavaScript-платформе Deno обеспечена совместимость с модулями NPM

14.11.2022 20:34

Представлен выпуск Deno 1.28, платформы для обособленного выполнения приложений на языках JavaScript и TypeScript, которая может быть использована для создания обработчиков, работающих на сервере. Платформу развивает Райан Даль (Ryan Dahl), создатель Node.js. Как и в Node.js в Deno используется JavaScript-движок V8, который также применяется в браузерах на основе Chromium. При этом Deno не является ответвлением от Node.js, а представляет собой созданный с нуля новый проект. Код проекта распространяется под лицензией MIT. Сборки подготовлены для Linux, Windows и macOS.

Проект Deno был создан для предоставления пользователям более защищённого окружения и устранения концептуальных ошибок, допущенных в архитектуре Node.js. Для повышения безопасности обвязка вокруг движка V8 написана на языке Rust, позволяющем избежать многих уязвимостей, возникающих из-за низкоуровневой работы с памятью. Для обработки запросов в неблокирующем режиме применяется платформа Tokio, также написанная на языке Rust. Tokio позволяет создавать высокопроизводительные приложения на основе событийно-ориентированной архитектуры (Event-driven), поддерживающие многопоточность и обработку сетевых запросов в асинхронном режиме.

Ключевым изменением в новом выпуске является стабилизация совместимости с пакетами, размещёнными в репозитории NPM, что позволяет использовать в Deno более 1.3 млн модулей, созданных для платформы Node.js. Например, в приложениях на базе Deno теперь можно использовать такие модули для организации постоянного доступа к данным, как Prisma, Mongoose и MySQL, а также фреймворки для обеспечения работы фронтэндов, такие как React и Vue. Некоторые NPM-модули пока остаются несовместимыми с Deno, например, из-за привязок к специфичным для Node.js элементам окружения, таким как файл package.json. Также пока невозможно использовать команду "deno compile" с модулями NPM. В будущих выпусках планируется устранить подобные несовместимости и ограничения.

Поддержка ранее применяемой в Deno модели на основе системы модулей ECMAScript и Web API сохранена на том же уровне и для импорта модулей NPM используется привычная для Deno схема загрузки на основе URL. Для обращения к модулям NPM предусмотрен специальный URL-префикс "npm:", который может использоваться по аналогии с обычными модулями Deno. Например, для импорта NPM-модуля можно указать 'import { chalk } from "npm:chalk@5";', а для запуска NPM-скрипта из командной строки - "deno run --allow-env --allow-read npm:create-vite-extra".

Использование NPM-пакетов в Deno значительно проще, чем в Node.js, так как нет необходимости предварительной установки модулей (модули устанавливаются при первом запуске приложения), не используется файл package.json, а также не используется по умолчанию каталог node_modules (модули кэшируются в общем каталоге, но есть возможность возвращения старого поведения при помощи опции "--node-modules-dir").

В приложениях на базе NPM сохраняется возможность использования предоставляемых в Deno механизмов разграничения доступа, изоляции и активации влияющих на безопасность расширенных возможностей. Для противодействия проведению атак через сомнительные зависимости Deno блокирует по умолчанию все попытки получения доступа к системе из зависимостей и выводит предупреждение о выявленных проблемах. Например, при попытке модуля получения доступа на запись в /usr/bin/ будет выведен запрос подтверждения данной операции:


   deno run npm:install-malware
   ⚠️  ┌ Deno requests write access to /usr/bin/.
       ├ Requested by `install-malware`
       ├ Run again with --allow-write to bypass this prompt.
       └ Allow? [y/n] (y = yes, allow; n = no, deny) >

Из не связанных в NPM улучшений в новой версии упоминается обновление движка V8 до выпуска 10.9, автоматическое определение файлов с блокировками, стабилизация API Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() и Deno.uid(), добавление нового нестабильного API Deno.Command() для запуска команд (универсальная замена Deno.spawn, Deno.spawnSync и Deno.spawnChild).


Основные особенности Deno:

  • Ориентация на безопасность в конфигурации по умолчанию. Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения. Приложения по умолчанию запускаются в изолированных sandbox-окружениях и не могут получить доступ к системным возможностям без предоставления явных полномочий;
  • Встроенная поддержка языка TypeScript помимо JavaScript. Для проверки типов и генерации JavaScript задействован штатный компилятор TypeScript, что приводит к проседанию производительности по сравнению с разбором JavaScript в V8;
  • Runtime поставляется в форме одного самодостаточного исполняемого файла ("deno"). Для запуска приложений при помощи Deno достаточно загрузить для своей платформы один исполняемый файл, размером около 30 МБ, не имеющий внешних зависимостей и не требующий какой-то особой установки в систему. При этом deno не является монолитным приложением, а представляет собой коллекцию crate-пакетов на Rust (deno_core, rusty_v8), которые могут использоваться по отдельности;
  • При запуске программы, а также для загрузки модулей можно использовать адресацию через URL. Например, для запуска программы welcome.js можно использовать команду "deno https://deno.land/std/examples/welcome.js". Код с внешних ресурсов загружается и кэшируется на локальной системе, но никогда автоматически не обновляется (для обновления требуется явно запустить приложение с флагом "--reload");
  • Эффективная обработка в приложениях сетевых запросов по HTTP, платформа рассчитана на создание высокопроизводительных сетевых приложений;
  • Возможность создания универсальных web-приложений, которые могут выполниться как в Deno, так и в обычном web-браузере;
  • Наличие стандартного набора модулей, использование которых не требует привязки к внешним зависимостям. Модули из стандартной коллекции прошли дополнительный аудит и проверку на совместимость;
  • Кроме runtime платформа Deno также выполняет роль пакетного менеджера и позволяет внутри кода обращаться к модулям по URL. Например, для загрузки модуля можно указать в коде "import * as log from "https://deno.land/std/log/mod.ts". Файлы, загруженные с внешних серверов по URL, кэшируются. Привязка к версиям модулей определяются через указания номеров версий внутри URL, например, "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
  • В состав интегрирована система инспектирования зависимостей (команда "deno info") и утилита для форматирования кода (deno fmt);
  • Все скрипты приложения могут быть объединены в один JavaScript файл.


  1. Главная ссылка к новости (https://deno.com/blog/v1.28...)
  2. OpenNews: Доступна серверная JavaScript-платформа Node.js 19.0
  3. OpenNews: Атака на Node.js через манипуляции с прототипами объектов JavaScript
  4. OpenNews: Релиз Tokio 1.13.0, платформы для создания асинхронных приложений на языке Rust
  5. OpenNews: Проект Deno развивает защищённую JavaScript-платформу, похожую на Node.js
  6. OpenNews: Автор Node.js представил защищённую JavaScript-платформу Deno 1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58113-deno
Ключевые слова: deno, node.js
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (67) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 20:53, 14/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    А в чём смысл вообще, если оно всё равно на плюсах? Быстрее работать будет чи що?
     
     
  • 2.3, kusb (?), 21:03, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не поверишь...
     
  • 2.5, Анонн (?), 21:20, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    М... ты так уверенно пишешь что оно на плюсах... что это даже немного странно))
     
     
  • 3.8, Аноним (1), 21:37, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А на чём же ещё оно написано? https://v8.dev/
     
     
  • 4.16, Анонн (?), 22:15, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А причем тут v8 если он используется и там и так?
    А сравнивают Deno и Node.js
     
     
  • 5.18, Аноним (1), 22:27, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    > А причем тут v8 если он используется и там и так?
    > А сравнивают Deno и Node.js

    О чём и речь. Смысл всех этих перестановок кроватей как-то теряется сразу, логично ведь писать на том же языке, на котором основной компонент. А раст просто наименее подходит для таких задач из-за статической линковки.

     
     
  • 6.53, Аноним (53), 12:55, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На ассемблере
     
  • 2.58, Аноним (58), 21:18, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мы поняли Вы не читатель Слабая глупая попытка потроллить растоманов А в чё... большой текст свёрнут, показать
     
     
  • 3.61, Аноним (1), 21:33, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У типичного растафанатика довольно типично аналитика, как и вообще умение понимать написанное, просто от бога. Никто тут не собирается писать вебню на расте, это тупо обёртки над плюсовыми либами, применяемые для исполнения скриптов. Ну а критика вполне уместна, это платформа для запуска ПО, но при этом раст линкуется СТАТИЧЕСКИ, это означает, что у каждого дополнительного инстанса будет не хилый такой оверхед. Это относительно работает исключительно в ситуациях, когда 1 инстанс на ноду утилизирует все доступные ресурсы. Если возникает необходимость поднять дополнительный инстанс рядом в одном адресном пространстве, оверхед на пустом месте начинает множиться. Кроме того, разработка и сопровождение проектов, написанных на смеси изотерических ЯП с обычными, обходятся значительно дороже.
     
     
  • 4.63, Аноним (58), 21:52, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Никто тут не собирается писать вебню на расте

    " - Дядя, ты <чудак>"? (ц) С чего ты мне эту галиматью приписываешь? Где ты это там увидел? Сам додумал? Завязывай, глупо выглядишь. В каментах строчки выборочно читаешь, как и саму статью? Кроме слова "раст" там еще были слова "яваскрипт, тайпскрипт" (на которых и писАть вебню) и ты их старательно пропустил? Я же тебе говорю - прочти статью. Там написано, что там на расте написано.

    > это означает, что у каждого дополнительного инстанса будет не хилый такой оверхед

    Какие дополнительные инстансы, окстись! Или ты думаешь, что чтобы на растовском фреймворке tokio обработать 1000 входящих запросов тебе надо 1000 инстансов поднять? Это тебе не древний сервер 1995 года с форками процесса на каждый запрос.

     
  • 4.64, Аноним (58), 21:58, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Никто тут не собирается писать вебню на расте

    Вдогонку. Отучайся говорить за всех. Про вебню на расте. Открой для себя Actix ("если звёзды зажигают значит это кому-нибудь нужно?"):

    https://actix.rs/

     
     
  • 5.65, Аноним (1), 22:00, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Оно не построено поверх в8 для запуска браузерного кода на локалхосте. Как я и сказал, выраженные проблемы с восприятием и пониманием информации.
     
     
  • 6.66, Аноним (58), 22:06, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Как я и сказал, выраженные проблемы с восприятием и пониманием информации.

    У тебя. Причем очевидно. Начиная с первого поста.

     
     
  • 7.67, Аноним (1), 22:10, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты стрелки не переводи, в 1 посте вполне логичный и закономерный вопрос, на который ты выдал полный желчи и довольно оторванный от реальности ответ.
     
     
  • 8.69, Аноним (58), 22:28, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Очень спорное утверждение Именно в этом и проблема Больше на троллинг похоже ... текст свёрнут, показать
     
     
  • 9.72, Аноним (1), 22:45, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да Если я беру какую-то либу, я могу написать для неё обвязку на баше, жс, п... текст свёрнут, показать
     
  • 2.68, Аноним (58), 22:17, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, а если бы v8 был написан на паскале, все остальные (сишники, гошники, питонщики, явисты) обязаны были бы писать обвязку на паскале? Даже не зная его, но только из-за того "ну библиотека же на нем написана"? Ядро линукса на Си, но ведь находятся нехорошие люди, которые на плюсах библиотеки и прикладухи пишут или создают питоновские скрипты и баш-портянки, не зная этого Си - да как посмели?
     
     
  • 3.71, Аноним (1), 22:40, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Паскаль довольно неплохой язык так-то, хоть генерируемые его компиляторами бинар... большой текст свёрнут, показать
     
  • 2.73, Я (??), 04:36, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну был же какой-то смысл в оригинальной ноде использовать смесь из C,C++ и JavaScript вместо того чтобы на чём-то одном православном всё писать.. может есть другие критерии кроме скорости работы? может они описаны прямым текстом даже в этой новости? как жаль что мы никогда не найдём ответов на эти вопросы..
     

  • 1.2, Аноним (2), 20:54, 14/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > --allow-env --allow-read

    Чем это лучше namespace-изоляции?

     
     
  • 2.20, Апрем (?), 22:32, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Кроссплатформенностью.
     
     
  • 3.22, Вы забыли заполнить поле Name (?), 22:41, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Деплоишь на винде? Один фиг сейчас в докер все заворачивают.
     
     
  • 4.27, Апрем (?), 00:28, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.30, Вы забыли заполнить поле Name (?), 00:56, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.36, Апрем (?), 03:56, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
     
  • 7.37, Вы забыли заполнить поле Name (?), 04:28, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 8.47, Апрем (?), 09:46, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.57, Вы забыли заполнить поле Name (?), 20:57, 15/11/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (8)

  • 1.4, Аноним (2), 21:13, 14/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    смотрю щас стандартную библиотеку: https://deno.land/api@v1.28.0?s=Deno.open

    все функции по работе с файлами принимают string в качестве пути к файлу. А на самом деле путь к файлу должен мочь быть буфером, набором байт с потенциально невалидной UTF-* последовательностью. В ноде модуль fs принимает буфер в качестве пути, в питоне тоже есть path-like object (is either a str or bytes). А тут такой косяк.

     
     
  • 2.6, Аноним (6), 21:22, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А есть пример где это нужно? В какой оси путь может быть невалидной utf-последовательностью (из тех что поддерживает deno разумеется)?
     
     
  • 3.7, Аноним (2), 21:32, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это зависит не от оси, а от файловой системы.

    https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits

    Смотри столбец "Allowable characters in directory entries". Для ext4 и btrfs это например "Any byte except '/' and NUL", причем не гарантируется, что имя файла будет валидной UTF-* последовательностью. Поэтому например в GIO для одного и того же имени файла различают "просто name", "edit name" и "display name". https://docs.gtk.org/gio/class.FileInfo.html

     
     
  • 4.12, Аноним (6), 21:43, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Понятно, спасибо.
    Забавно, но саджешн на улучшение этого уже есть https://github.com/denoland/deno/issues/627 (хотя думаю он там будет еще долго)
     
  • 3.9, Аноним (9), 21:38, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А есть пример где это нужно?

    Сомневаюсь. Так или иначе, там внутри либо строка в байты преобразовывается, либо байты в строку. Тому анону выше, наверное, лень самому преобразования делать.

    > В какой оси путь может быть невалидной utf-последовательностью (из тех что поддерживает deno разумеется)?

    В любой. И дело не в OS даже. Программист может ошибиться, пользователь ерунду прислать, шальной нейтрино об микросхему памяти стукнуться и флипнуть пару бит.

     
     
  • 4.26, Анонн (?), 00:27, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не, если пользователь пришлет ерунду, то string просто не создастся и вы не сможете вызвать эту функцию (т.к. она принимает non-optional string).
    Ну а от нейтрино ничего не защитит и аппа скорее всего упадет где-то в процессе.
     
  • 3.10, Аноним (1), 21:40, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В венде может, десяточка от этого в бсод вылетала. Вообще забавно как юникод в диалоге сохранения файла в блокноте, а бсод в ядре.
     
     
  • 4.74, Я (??), 04:38, 16/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    зато на си написано.. без этих ваших проверок сахарных которые нормальный програмист без компилятора может сделать..
     
  • 2.28, Аноним (28), 00:33, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очевидно что джава-кодеры до невалидной utf строки, не додумались.
    Не зря же их на опеннет называют "макакамм"
     
     
  • 3.29, Аноним (29), 00:45, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Причем тут джава-кодеры? Deno пишет автор node.js, который написал на с++.
     
  • 3.39, Аноним (39), 05:33, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Шёл 2022 год, старые пердуны с опеннета так и не научились отличать Java от JavaScript
     

  • 1.11, Аноним (11), 21:42, 14/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда перепишут V8 на Rust?
     
     
  • 2.13, Аноним (13), 21:46, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала нужна возможность запускать rust вместо javascript, зачем это слабое звено.
     
     
  • 3.14, kusb (?), 22:11, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    rustscript
     
     
  • 4.19, Аноним (19), 22:28, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше совсем избавиться от всяких скриптов и оставить только голый текст. А то и свистелки им подавай и пеpделки.
     
     
  • 5.40, Аноним (40), 08:05, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты реально так думаешь? Возьми, попользуйся Netsurf хотя бы пару дней. Йотыбчыки в нём посмотри, на любой сайт залогинься. А потом отпишешся насколько удобно "без скриптов" пользоваться инетом.
     
     
  • 6.45, Аноним (45), 08:49, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    До прихода Google Chrome все пользовались и всем норм было, это потом google стало навязывать идею, что жирносайты - это норально и все так делайте
     
  • 6.46, kusb (?), 09:25, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тут во многом прикол, что эти сайты завязаны на скрипты - тот же ютуб в паралельной вселенной мог вообще без них обойтись и выглядеть почти так же. Полностью избавиться от скриптов могла бы помочь (но мне не кажется, что это правильно) команда браузеру по http, что страница чистично изменилась. Ага, и держать соединение.
     
     
  • 7.51, Аноним (51), 11:14, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Большинство страниц Youtube даже не потребовали бы такого хака, т.к. не меняются после загрузки, поэтому могли бы обойтись средствами CSS и HTML5
     
  • 3.21, Аноним (21), 22:35, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Rust компилируется в WebAssembly :) Как и Go, C, C++ и другие языки.
     
  • 2.15, Аноним (15), 22:14, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    сразу после сервы, брошенной в 2019-ом
     
  • 2.24, Вы забыли заполнить поле Name (?), 22:53, 14/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Когда перепишут V8 на Rust?

    Там люди работают, а не играют в переписывалки как растоманы.

     
     
  • 3.44, Парень твоего папы (?), 08:42, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Действительно, если на расте перепишешь всё, то могут и на мороз выгнать, ибо ошибок при работе с памятью не будет, соответственно и те кто чинить могут не потребуются.
     
     
  • 4.55, Аноним (55), 13:47, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ибо ошибок при работе с памятью не будет

    Главное не переставать это повторять

     
     
  • 5.59, Аноним (58), 21:24, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так 30% ошибок никуда не денутся. Жить можно, хоть и не жирно. Зато по оппе получать от начальства будешь меньше
     

  • 1.23, Аноним (23), 22:50, 14/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > модули устанавливаются при первом запуске приложения
    > не используется файл package.json
    > модули кэшируются в общем каталоге

    ужас...

     
  • 1.31, Аноним (-), 01:08, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И зачем это когда есть bun.sh?
     
     
  • 2.34, Аноним (34), 01:31, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    он уже готов?
    пробовал как-то запустить на нем экспресс, а bun выругался и рухнул
     

  • 1.33, Аноним (34), 01:29, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Пора добавлять поддержку TypeScript в ядро
     
  • 1.41, Аноним (41), 08:38, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Deno - JavaScript здорового человека?
     
     
  • 2.49, Аноним (49), 11:01, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Deno — это сон разума порождающий чудовищ.
     

  • 1.42, Аноним (42), 08:41, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > deno run npm:install-malware

    в голос

     
  • 1.43, Аноним (43), 08:41, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот это поворот!
     
  • 1.48, Аноним (49), 11:00, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Так долго стучал в грудь что npm не нужен, а надо делать как в го. А тут на тебе оказалось что без npm deno ненужен.
     
     
  • 2.50, Аноним (50), 11:03, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем отличие го?
     
  • 2.60, Аноним (58), 21:28, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Ключевым изменением в новом выпуске является стабилизация совместимости с пакетами, размещёнными в репозитории NPM, что позволяет использовать в Deno более 1.3 млн модулей, созданных для платформы Node.js

    1.3 млн модулей - это тебе не морковка собачья. Кто угодно смирится, уймёт свою гордыню, грустно взглянув на свои 2,5 модуля.

     

  • 1.52, Аноним (52), 12:36, 15/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ещё одна нода.жс от автора ноды.жс? это такой аутоиммунный NIH-синдром?
     
     
  • 2.62, Аноним (58), 21:33, 15/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Это твоё незнание всей этой истории. В свое время изначальный автор рассказывал почему он забросил проект, что именно в nodejs было сделано не так, какие там родовые травмы и кривые костыли, которые или уже невозможно исправить или никто не желает исправлять.
     

  • 1.75, Аноним (75), 12:35, 17/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    стоп, по сути же это капитуляция?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру