chore: migrate to Yarn Berry (v4) (#2626)
This migrates the jsii-compiler project from Yarn Classic (v1) to Yarn Berry (v4) with the
node-moduleslinker, following the same approach used in jsii-rosetta#3622.The old
common.tsexported hardcoded helper functions (ACTIONS_CHECKOUT,ACTIONS_SETUP_NODE,YARN_INSTALL) that duplicated action versions and flags across all workflows. These have been replaced with a singleworkflowSetup()wrapper around projen’sproject.renderWorkflowSetup(), which automatically generates the correct corepack, setup-node, and install steps based on the package manager configuration. Checkout steps now usegithub.WorkflowSteps.checkout()where possible.Jobs that require custom setup-node configuration (matrix node versions, custom registry URLs) still use inline steps, since the projen primitives don’t support those options.
Additionally, a 3-day cooldown has been added to the dependency upgrade workflow as supply chain protection. This is enforced at two levels:
ncu --cooldown=3filters packages during discovery, andYARN_NPM_MINIMAL_AGE_GATE=4320mblocks them atyarn installtime.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
Overview
jsiiallows code in any language to naturally interact with JavaScript classes. It is the technology that enables the AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!A class library written in TypeScript can be used in projects authored in TypeScript or Javascript (as usual), but also in Python, Java, C# (and other languages from the .NET family), …
Head over to our documentation website!
The jsii toolchain is spread out on multiple repositories:
jsiicompiler is maintained (except releases in the1.xline)jsii-rosettasample code transliteration tool is maintained (except releases in the1.xline)@jsii/spec, the package that defines the.jsiiassembly specificationjsii-config, an interactive tool to help configure your jsii packagejsii-pacmak, the bindings generator for jsii packagesjsii-reflect, a higher-level way to process.jsiiassemblies1.xrelease lines ofjsiiandjsii-rosettaHere’s a collection of blog posts (in chronological order) related to
jsii::gear: Maintenance & Support
The applicable Maintenance & Support policy can be reviewed in SUPPORT.md.
The current status of
jsiicompiler releases is:5.9.x5.8.x🔇 Silencing Warnings
The
--silence-warningsoption allows you to suppress specific warnings from the compiler output. Silenced warnings are still emitted internally (e.g. they are still part of the assembly), but are not printed to the console. When--fail-on-warnings(--Werr) is set, silenced warnings are not treated as errors.Warnings can be identified by JSII code, number, or diagnostic name:
Inline Suppression
Individual warnings can be suppressed directly in source code using the
@jsii suppressdirective. This is useful when you want--fail-on-warningsenabled globally but need to allow specific instances of a warning.Each directive accepts a single warning identifier using the same formats as
--silence-warnings. An optional text after the identifier is treated as an explanation comment. Use multiple directives to suppress multiple warnings:The suppression applies to the annotated declaration and all of its members. For example, a
@jsii suppressdirective on a class will suppress matching warnings on all methods and properties within that class.Only warnings that reference a source code location can be suppressed inline. Warnings not tied to a specific node (e.g.
JSII0003for a missing README) are not affected.:balance_scale: License
jsii is distributed under the Apache License, Version 2.0.
See LICENSE and NOTICE for more information.
:gear: Contributing
See CONTRIBUTING.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Aatman
💻
Aaron Costley
🐛 💻 🤔 👀
Abdallah Hodieb
🐛
Adam Ruka
🐛 💻 🚧 👀
Adrian Dimech
💻
Adrian Hesketh
💻
Alex Pulver
🐛
Amir Szekely
💻
Andi Pabst
🐛
Andrew Wason
🐛 💻
André Fontenele
💻
Andy Slezak
💻
Ansgar Mertens
🚧 💻 🐛
Anshul Guleria
🤔
Anurag Roy
💻
Ari Palo
🤔
Armaan Tobaccowalla
🐛
Bartłomiej Jurek
🐛
Ben Bridts
📖
Ben Chaimberg
📖
Ben Farr
📖
Ben Walters
🤔
Benjamin Macher
📖
Benjamin Maizels
💻 👀
Bervianto Leo Pratama
💻
Bill Cauchois
🤔
Bradley Sherman
💻
Brecht Verhoeve
🤔
Breland Miley
💻
Bryan Moffatt
💻
CaerusKaru
💻 🚧
Calvin Combs
💻 👀
Camilo Bermúdez
🐛
Campion Fellin
💻
Carter Van Deuren
🐛
Chris Garvis
📖
Christian Moore
🐛
Christophe Vico
🐛
Christopher Currie
💻 🤔
Christopher Rybicki
📖 🐛 💻
Colin Francis
💻
CommanderRoot
💻
Cory Hall
🐛
Cristian Măgherușan-Stanciu
🐛
CyrusNajmabadi
🐛 🤔
Damian Silbergleith
💻 🐛
Daniel Dinu
🐛 💻
Daniel Schmidt
🐛 💻
Daniel Schroeder
🐛 💻 📖 🤔 🚧
Dave Slotnick
🐛
David Bell
💻
Donald Stufft
🐛 💻 🤔 👀
Dongie Agnir
💻 👀
Eduardo Rabelo
📖
Eduardo Sena S. Rosa
🐛
Elad Ben-Israel
🐛 💻 🤔 🚧 👀 📢
Eli Polonsky
🐛 💻 🤔 🚧 👀
Eric Carboni
💻
Eric Z. Beard
📆
Erik Karlsson
🐛
Eugene Kozlov
💻
Fabio Gentile
🐛
Florian Eitel
🤔
Glib Shpychka
🐛
Graham Lea
🤔 👀
Greg Lucas
💻
Hamza Assyad
🐛 💻 🤔 👀
Hari Pachuveetil
📝 📖
Hirotaka Tagawa / wafuwafu13
💻
Hogan Bobertz
💻
Hsing-Hui Hsu
💻 📖 🤔 👀
Huy Phan (Harry)
💻
Ikko Ashimine
📖
James
🐛 💻
James Kelley
🐛
James Mead
💻
James Siri
💻 🚧
Jason Del Ponte
🤔 👀
Jason Fulghum
🤔 📆 👀
Jeff Malins
💻
Jerry Kindall
📖 🤔
Jimmy Gaussen
🤔
Johannes Weber
📖
John Pantzlaff
💻
Jon Day
💻
Jon Steinich
🐛 🤔 💻
Joseph Lawson
👀
Joseph Martin
🐛
Junix
🐛
Justin Frahm
🐛
Justin Taylor
🐛
Kaizen Conroy
💻
Kaushik Borra
🐛
Kayo
💻
Kendra Neil
💻
Knut O. Hellan
🐛
Kyle Thomson
💻 👀
Leandro Padua
🐛
Liang Zhou
🐛 💻
Madeline Kusters
💻 🐛
Maja S Bratseth
🐛
Marcos Diez
🐛
Mark Nielsen
💻
Matthew Bonig
🐛 📝
Matthew Pirocchi
💻 🤔 👀
Meng Xin Zhu
🐛
Michael Neil
🚧
Mike Lane
🐛
Mitch Garnaat
🐛 💻 🤔 👀
Mitchell Valine
🐛 💻 🤔 🚧 👀
Mohamad Soufan
📖
Mohamed Elasmar
💻
Momo Kornher
💻
Mykola Mogylenko
🐛
Naumel
👀
Neta Nir
💻 🤔 🚧 👀
Nick Lynch
🐛 💻 🚧 👀
Niranjan Jayakar
🐛 💻 🤔 🚧 👀
Noah Litov
💻 🚧 👀
Otavio Macedo
💻 🐛
PIDZ - Bart
🤔
Pahud Hsieh
💻
Peter Woodworth
🚧
Petr Kacer
🐛
Petra Barus
💻
Philip Cali
🤔
Quentin Loos
🤔
Raphael
🐛
Richard H Boyd
🐛
Rico Huijbers
🐛 💻 🤔 🚧 👀
Romain Marcadier
🐛 💻 🎨 🤔 🚧 👀 📝
Ryan Parker
💻
SADIK KUZU
👀
SK
🤔
Sam Fink
💻 👀
Sam Goodwin
👀
Sebastian Korfmann
🐛 💻 🤔
Sepehr Laal
🐛
Shailja Khurana
💻
Shane Witbeck
🤔
Shiv Lakshminarayan
💻 🚧 👀
Somaya
💻 🤔 🚧 👀
Stephen Kuenzli
📖
Takahiro Sugiura
📖
The Gitter Badger
💻 🚧
Thomas Matecki
💻
Thomas Poignant
🐛
Thomas Steinbach
🐛
Thorsten Hoeger
💻
Tim Wagner
🐛 🤔
Timothy Jones
💻
Tobias Lidskog
💻
Tom Bonner
🐛
Tom Keller
💻
Ty Coghlan
🐛
Tyler van Hensbergen
🤔
Vinayak Kukreja
💻
Vlad Hrybok
🐛
Vladimir Shchur
🐛
Will Bender
💻
Yan Zhulanow
💻
Yathi
💻
Yigong Liu
🐛 🤔
Zach Bienenfeld
🐛
ajnarang
🤔
andyan
💻
aniljava
💻
arnogeurts-sqills
🐛 💻
cn-cit
🐛
deccy-mcc
🐛
dependabot-preview[bot]
🐛 🚧
dependabot[bot]
🚧
dheffx
🐛
gregswdl
🐛
guyroberts21
📖
mattBrzezinski
📖
mergify
🚧
mergify[bot]
🚧
mikewrighton
💻
nathannaveen
🚧
paulhcsun
💻
seiyashima42
🐛 💻 📖
sullis
💻
vaneek
🐛
wendysophie
🐛
ysuzuki19
💻
This project follows the all-contributors specification. Contributions of any kind welcome!