Telegram Web Link
С момента последней публикации, не увидел интересного контента связаного с Deno, достойного вашего внимания, но увидел много заблуждений и вопросов вокруг него.
На некоторые из них отвечаю в чате @denoland
Так же эти ответы дублирую в отдельный FAQ.
Если у вас есть вопросы, свои проекты, статьи связанные с Deno, которые остались без должного внимания, смело делитесь об этом в чате/личке/FAQ
Готовится большой рефакторинг внутреннего устройства Deno.
Много жарких дискуссии вызвал один из пунктов, по поводу переноса части TS на js. (Design Docs).

Ранее же был проведен эксперимент по переносу c TS на js . Результаты следующие:
incremental build time:
1m 50s -> 1m 0s

release exe size (mac):
42mb -> 41mb


Раян заверил что это касается только внутреннего устройства Deno, и будет охватывать максимум 5-10 разработчиков.
Для Deno Core Api будут отдельные d.ts.
Вышел Deno v1.1.0

из интересного и ожидаемого:
- deno eval -p, флаг для выполнения ts/js кода немедленно, без экранирования
- deno lint , rules как в eslint но скорости выше в 1000раз (?)
- deno fmt --check (дополнительно добавлен вывод diff )
- Deno.mainModule - вывод url начального запуска, deno run
- Deno.env.set("key", "value"); - Deno.env.delete("key");

deno/std обновлен до 0.57.0

Подробнее:
https://github.com/denoland/deno/releases/tag/v1.1.0
Состоялся официальный релиз jspm cdn.

jspm предоставляет из себя CDN, позволяющий напрямую загружать любой пакет из npm в браузере и других средах JS как полностью оптимизированный и нативный модуль JavaScript.

Очень рад что пользователи Deno дали мотивацию Guy Bedford на продолжение этого проекта.
Ну а jspm cli, все.

Подробнее:
https://jspm.org/jspm-dev-release
Forwarded from Angular Fanatic (Rustam I)
В Deno сообществе почему то решили что для SSR удобнее всего брать React, и конечно внедрили JSX как часть Deno.core. И даже появились фреймворки на этой основе. Angular остался немного в сторонке в очередной раз =)

Поэтому решил совместить deno + angular: Angular Deno Renderer Engine.
Сейчас он больше готов для использования как любой другой template engine, например как тот же Handlebars, ejs и тд.

Сравнение Angular Uiversal на NodeJS и Deno по времени рендеринга (хотя это практически ничего и не значит):

Deno 1.1.2 Angular JIT: 3-8ms
Node 12.18.2 Angular JIT: 15-24ms
Node 12.18.2 Angular AOT: 5-13ms

Если у сообщества Angular будет достаточный интерес к этому проекту, то далее буду внедрять:
- Transfer State, (чтобы был прям настоящий SSR)
- Compiler на Deno, для AOT
- Поддержка различных препроцессоров
- Пререндер как в Scully
- HMR

https://github.com/alosaur/angular_deno
Вышел Deno v1.2.0

из интересного:
- deno test наконец то с regex filter флагом
- новый флаг --no-check сомнительно, но дает x2 в compiler
- Deno.ppid (Parent Proccess ID)
- Deno.consoleSize (stdout columns and rows)
- поддержка performance user-timing API

Подробнее:
https://github.com/denoland/deno/releases/tag/v1.2.0
Forwarded from Denoland (Evgenii Karagodin)
Неделю назад выкатили большое обновление для Deno Registry. Если раньше это был просто прокси для гитхаба, то теперь это уже становится похоже на настоящий реестр пакетов:

- версии пакетов становятся иммутабельными: код кешируется на стороне реестра и забирается с гитхаба только один раз для версии.
- удалить пакет из реестра нельзя.
- версиями считаются только теги из гита, больше нельзя сослаться на произвольный коммит или ветку. Если вам это нужно, то вы по-прежнему можете делать это напрямую с гитхаба или использовать другие сервисы.
- чтобы добавить свой пакет в реестр больше не нужно делать пулл реквест для файла database.json, теперь это работает автоматически через гитхаб вебхуки (это значит нужно добавить в свой пакет соответствующий вебхук, инструкция есть на странице https://deno.land/x).
- данные для фронтенда https://deno.land/x теперь отдаются самим реестром, а не фетчатся на лету с гитхаба.

На бекенде у них S3, MongoDB и лямбды с Deno. Кажется, что это первый публичный продакшен веб сервис написанный на Deno, так что может быть интересно посмотреть в исходники https://github.com/denoland/deno_registry2.

Дальше у них большие планы: считать и показывать количество скачиваний, показывать дерево зависимостей, запускать форматтер и линтер и т.д. За роадмапом можно следить тут https://github.com/denoland/deno_registry2/issues/35.
По плану, каждое 13 число месяца, вышел релиз Deno. v.1.3.0

Добавились дополнительные флаги
deno lint --ignore --json.
deno install --no-check
--reload
для deno bundle и deno info

Добавлена поддержка FileReader API (https://w3c.github.io/FileAPI/)

Поддержка Deno.run по url
Deno.run({ cmd: [new URL("temp.sh", import.meta.url), "foo", "bar"] });
Очередное обновление Deno v.1.4
deno [email protected]

Довольно много измений в этом релизе.

- Web Standard WebSocket API (unstable)
- Automatic restarts on file change (unstable)
deno run --watch

- Integrated test coverage
de
no test --coverage

- std: 3 breaking changing

Подробнее в посте:
https://deno.land/posts/v1.4
Forwarded from Вебня (Sergey Rubanov)
Вышел Deno 1.5

Основные нововведения:
- в бандлинг добавлен tree shaking, а также в 15 раз увеличена скорость бандлинга
- добавлены API alert, confirm и prompt, аналогичные соответствующим браузерным глобальным функциям
- улучшения REPL: автодополнения по нажатию tab, подсветка синтаксиса, top level await

https://deno.land/posts/v1.5
Тут есть интересный bench фреймов на ноде и deno, ежедневно обновляемый.

интересен, тем что Alosaur оказался быстрее Deno 😃

Но тем не менее, Alosaur не позиционирует себя самым быстрым фреймворком и самым лучшим, как другие, (но согласно результатам этого bench, он является быстрым среди фреймов на deno)
Forwarded from Denoland (Stanislav)
https://github.com/denoland/deno/pull/8539

Закинули PR который (если будет влит) добавит в Deno возможность собирать скрипты в исполняемые файлы, пример из PR:

deno compile https://deno.land/std/http/file_server.ts

./file_server

HTTP server listening on http://0.0.0.0:4507/
Вышел Deno v1.6

Фичи:

- Deno compile (https://www.tg-me.com/denoFanatic/29) под --unstable конечно же
Не будут работать: web workers, dynamic import, V8 flags. Возможно появится кросс компиляция с использованием флага -target (пока compile только на текущей платформе). Размер исполняемого файла стремятся уменьшить в итоге до 20мб.

- Deno LSP, для того чтоб поддержать стандартный language-server-protocol
пока расширение vscode не переведено на него. Интересно что будет делать команда WebStorm, юзать его или оставят старый deno language server из npm. Кстати сейчас в WebStorm очень даже ок работают Deno definitions.

- "isolatedModules": true. Все сильнее strict type. + убрали из config, кстати, скоро совсем нельзя будет переопределить что либо из tsconfig. Вопрос как я помню застыл на декораторах.

- TypeScript 4.1

- Ввели понятие canary.
Теперь можно не дожидаться оф релиза версии, а попробоавать фичи прям то что в мастере deno.
deno upgrade --canary --version hash комита

- Experimental support for Mac Arm64


По поводу deno/std 0.80.0 и вообщем по Standard Library Working Group

Как и ранее все фичи приносит сообщество, и теперь std WG их корректирует. Запланированы встречи на ближайшие полгода, по их улучшению, и конечно я попытаюсь в них поучавствовать. Наиболее интересные мне это: encoding, http, log, mime, permissions,
signal

Кстати, можете почитать заметки прошлой встречи: (По типу давайте запихнем топ 500 либ npm в std и так далее)


https://deno.land/posts/v1.6

>deno upgrade
Forwarded from Denoland (Stanislav)
Был опубликован роадмап Deno на первый квартал 2021 года.

Из интересного в планах:
- Легкие бинарники на выходе из deno compile
- Поддержка Web Crypto API
- Поддержка WebGPU

Возможно:
- Поддержка HTTP/2
- Поддержка QUIC
Визуализация зависимостей ES модулей в Deno:

https://deno-visualizer.danopia.net/dependencies-of/https/deno.land/x/alosaur/mod.ts
В среду прошел очередной STD WG #4, сегодня залили видео

На повестке были 3 вопроса:
- http
- io
- log

По std/http прошли быстро, так как там всего 3 модуля, все остается как и было.

std/io - Довольно большое обсуждение, так как большинство методов было перенесено из Go std, и описания соответсвенно те же. Было принято решение некоторые функции переименовать + добавить к каждому описание + пример.

std/log - решили перенести как отдельный пакет в deno.land/x так как код очень спецефичен и сложен для понимания, напомню такое уже происходило с media_types, сейчас он в репозитории oak.
2024/06/01 08:56:44
Back to Top
HTML Embed Code: