# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit yarn

DESCRIPTION="CLI tool for running Yeoman generators"
HOMEPAGE="http://yeoman.io"
YARN_PKGS=(
	yo-5.1.0
	shebang-command-1.2.0
	make-fetch-happen-13.0.1
	type-fest-0.3.1
	normalize-package-data-2.5.0
	log-symbols-7.0.0
	array-differ-4.0.0
	color-name-1.1.4
	redent-2.0.0
	is-fullwidth-code-point-2.0.0
	textextensions-6.11.0
	signal-exit-4.1.0
	exit-hook-1.1.1
	json-parse-better-errors-1.0.2
	socks-proxy-agent-8.0.5
	yocto-queue-1.1.1
	yallist-4.0.0
	cli-boxes-3.0.0
	detect-node-2.1.0
	rc-1.2.8
	mute-stream-1.0.0
	semver-7.6.3
	@isaacs/string-locale-compare-1.1.0
	map-age-cleaner-0.1.3
	json-parse-even-better-errors-2.3.1
	read-pkg-5.2.0
	string_decoder-1.1.1
	is-supported-regexp-flag-1.0.1
	p-finally-1.0.0
	xregexp-4.0.0
	@types/cacheable-request-6.0.3
	external-editor-1.1.1
	is-fullwidth-code-point-1.0.0
	yeoman-doctor-5.0.0
	p-some-4.1.0
	before-after-hook-2.2.3
	is-plain-obj-1.1.0
	wcwidth-1.0.1
	braces-3.0.3
	clean-stack-2.2.0
	json-schema-0.4.0
	@tufjs/canonical-json-2.0.0
	cssesc-3.0.0
	es-errors-1.3.0
	minipass-3.3.6
	balanced-match-1.0.2
	hasown-2.0.2
	currently-unhandled-0.4.1
	npm-run-path-5.3.0
	encodeurl-1.0.2
	run-async-3.0.0
	path-type-3.0.0
	decamelize-1.2.0
	binaryextensions-6.11.0
	es6-error-4.1.1
	spdx-correct-3.2.0
	@types/keyv-3.1.4
	locate-path-7.2.0
	minipass-flush-1.0.5
	lodash.padend-4.6.1
	@octokit/auth-token-3.0.4
	ora-8.1.1
	open-8.4.2
	readable-stream-3.6.2
	is-plain-object-5.0.0
	p-cancelable-1.1.0
	get-stdin-4.0.1
	package-json-from-dist-1.0.1
	@kwsites/file-exists-1.1.1
	read-pkg-up-7.0.1
	env-paths-3.0.0
	decompress-response-6.0.0
	@sindresorhus/is-0.14.0
	ansi-styles-6.2.1
	proggy-2.0.0
	write-file-atomic-3.0.3
	@yeoman/transform-1.2.0
	dateformat-5.0.3
	brace-expansion-1.1.11
	nopt-7.2.1
	normalize-url-6.1.0
	string-length-4.0.2
	arrify-3.0.0
	mimic-fn-4.0.0
	process-nextick-args-2.0.1
	cli-spinners-2.9.2
	cmd-shim-6.0.3
	is-obj-2.0.0
	which-package-manager-0.0.1
	@nodelib/fs.walk-1.2.8
	@types/lodash-4.17.13
	js-tokens-4.0.0
	jackspeak-3.4.3
	@inquirer/figures-1.0.8
	json-parse-even-better-errors-3.0.2
	wrappy-1.0.2
	crypto-random-string-2.0.0
	strip-ansi-7.1.0
	ip-address-9.0.5
	picomatch-2.3.1
	@octokit/rest-19.0.13
	find-up-6.3.0
	signal-exit-3.0.7
	bin-links-4.0.4
	@yeoman/types-1.5.0
	@sigstore/protobuf-specs-0.3.2
	normalize-package-data-6.0.2
	global-tunnel-ng-2.7.1
	mkdirp-0.5.6
	fs-minipass-2.1.0
	downgrade-root-1.2.2
	isexe-3.1.1
	passwd-user-3.0.0
	package-json-6.5.0
	xdg-basedir-4.0.0
	mem-fs-editor-11.1.4
	execa-1.0.0
	lodash.pad-4.5.1
	p-queue-8.0.1
	p-limit-4.0.0
	is-installed-globally-0.4.0
	human-signals-4.3.1
	object-keys-1.1.1
	ansi-styles-4.3.0
	cacheable-request-6.1.0
	ansi-regex-6.1.0
	@isaacs/cliui-8.0.2
	figures-1.7.0
	string_decoder-1.3.0
	path-exists-4.0.0
	p-timeout-6.1.3
	unique-string-2.0.0
	define-properties-1.2.1
	spawn-sync-1.0.15
	yeoman-environment-4.4.3
	@sigstore/core-1.1.0
	strip-ansi-3.0.1
	text-table-0.2.0
	@babel/code-frame-7.26.2
	make-dir-3.1.0
	npm-bundled-3.0.1
	tr46-0.0.3
	https-proxy-agent-7.0.6
	cross-spawn-7.0.6
	path-key-3.1.1
	deep-extend-0.6.0
	global-agent-2.2.0
	twig-1.17.1
	quick-lru-1.1.0
	mimic-fn-2.1.0
	ini-1.3.8
	@nodelib/fs.scandir-2.1.5
	safer-buffer-2.1.2
	shebang-regex-3.0.0
	is-docker-1.1.0
	is-redirect-1.0.0
	@types/normalize-package-data-2.4.4
	serialize-error-7.0.1
	@npmcli/metavuln-calculator-7.1.1
	@babel/helper-validator-identifier-7.25.9
	has-flag-3.0.0
	locate-path-5.0.0
	tar-6.2.1
	@npmcli/installed-package-contents-2.1.0
	util-deprecate-1.0.2
	wrap-ansi-8.1.0
	yoctocolors-2.1.1
	@sigstore/sign-2.3.2
	got-9.6.0
	@octokit/plugin-request-log-1.0.4
	emoji-regex-10.4.0
	latest-version-3.1.0
	@tufjs/models-2.0.1
	p-locate-6.0.0
	npm-package-arg-11.0.3
	mkdirp-1.0.4
	aggregate-error-3.1.0
	emoji-regex-9.2.2
	cacheable-request-7.0.4
	inquirer-1.2.3
	is-unicode-supported-1.3.0
	events-3.3.0
	ansi-escapes-1.4.0
	duplexer3-0.1.5
	cross-spawn-6.0.6
	validate-npm-package-name-5.0.1
	is-npm-5.0.0
	@npmcli/query-3.1.0
	mem-fs-4.1.2
	@types/through-0.0.33
	parse-json-4.0.0
	onetime-6.0.0
	@sigstore/bundle-2.3.2
	hosted-git-info-2.8.9
	@types/lodash-es-4.17.12
	is-core-module-2.16.0
	string-width-7.2.0
	ms-2.0.0
	lowercase-keys-1.0.1
	editions-6.21.0
	ieee754-1.2.1
	char-regex-1.0.2
	@npmcli/agent-2.2.2
	is-lambda-1.0.1
	just-diff-6.0.2
	agent-base-7.1.3
	path-key-2.0.1
	which-2.0.2
	color-convert-1.9.3
	cli-cursor-5.0.0
	graceful-fs-4.2.11
	binary-extensions-2.3.0
	npm-install-checks-6.3.0
	registry-auth-token-5.0.3
	@sindresorhus/merge-streams-2.3.0
	delegates-1.0.0
	retry-0.12.0
	path-scurry-1.11.1
	keyv-3.1.0
	pinkie-2.0.4
	restore-cursor-5.1.0
	slash-5.1.0
	text-decoder-1.2.3
	p-limit-2.3.0
	color-name-1.1.3
	semver-5.7.2
	registry-auth-token-4.2.2
	is-plain-obj-4.1.0
	rx-4.1.0
	lru-cache-10.4.3
	strip-final-newline-3.0.0
	@types/expect-1.20.4
	clone-2.1.2
	@npmcli/map-workspaces-3.0.6
	is-number-7.0.0
	latest-version-5.1.0
	map-obj-1.0.1
	get-stream-5.2.0
	pretty-bytes-6.1.1
	get-east-asian-width-1.3.0
	minipass-7.1.2
	to-regex-range-5.0.1
	type-fest-4.30.2
	@types/inquirer-9.0.7
	yargs-parser-10.1.0
	cli-width-2.2.1
	@npmcli/node-gyp-3.0.0
	pify-3.0.0
	minimatch-3.1.2
	rxjs-7.8.1
	through-2.3.8
	locate-path-2.0.0
	type-fest-0.21.3
	gopd-1.2.0
	has-ansi-2.0.0
	lowercase-keys-2.0.0
	semver-diff-3.1.1
	@types/responselike-1.0.3
	is-unicode-supported-2.1.0
	p-locate-4.1.0
	fill-range-7.1.1
	globby-14.0.2
	safe-buffer-5.1.2
	cli-cursor-3.1.0
	vinyl-3.0.0
	fast-fifo-1.3.2
	bl-4.1.0
	read-package-up-11.0.0
	readable-stream-2.3.8
	cli-width-3.0.0
	proc-log-4.2.0
	picocolors-1.1.1
	sprintf-js-1.1.3
	p-queue-7.4.1
	which-1.3.1
	parse-conflict-json-3.0.1
	object-assign-4.1.1
	@npmcli/arborist-7.5.4
	json-buffer-3.0.0
	merge2-1.4.1
	minipass-sized-1.0.3
	tslib-2.8.1
	create-error-class-3.0.2
	concat-stream-1.6.2
	undici-types-6.20.0
	chalk-4.1.2
	inquirer-8.2.6
	minimatch-5.1.6
	walk-up-path-3.0.1
	find-versions-3.2.0
	indent-string-3.2.0
	is-fullwidth-code-point-3.0.0
	config-chain-1.1.13
	execa-8.0.1
	jake-10.9.2
	npm-normalize-package-bin-3.0.1
	load-json-file-4.0.0
	registry-url-6.0.1
	sort-on-4.1.1
	os-homedir-1.0.2
	define-data-property-1.1.4
	fullname-4.0.1
	decamelize-2.0.0
	read-package-json-fast-3.0.2
	@octokit/tsconfig-1.0.2
	grouped-queue-2.0.0
	decamelize-keys-1.1.1
	@pkgjs/parseargs-0.11.0
	@yeoman/conflicter-2.3.2
	p-map-4.0.0
	buffer-6.0.3
	is-yarn-global-0.3.0
	read-pkg-9.0.1
	micromatch-4.0.8
	p-try-1.0.0
	readable-stream-4.5.2
	pupa-2.1.1
	@types/vinyl-2.0.12
	env-paths-2.2.1
	function-bind-1.1.2
	meow-12.1.1
	map-obj-2.0.0
	is-stream-3.0.0
	url-parse-lax-3.0.0
	core-js-3.39.0
	strip-bom-3.0.0
	ci-info-2.0.0
	clone-1.0.4
	ansi-styles-2.2.1
	chalk-5.3.0
	minimatch-9.0.5
	p-locate-2.0.0
	exponential-backoff-3.1.1
	colors-1.0.3
	promise-inflight-1.0.1
	supports-color-5.5.0
	remove-trailing-separator-1.1.0
	ansi-regex-2.1.1
	find-up-simple-1.0.0
	to-readable-stream-1.0.0
	cli-width-4.1.0
	request-light-0.8.0
	@sigstore/verify-1.2.1
	@octokit/endpoint-7.0.6
	emoji-regex-8.0.0
	promise-retry-2.0.1
	boxen-5.1.2
	commondir-1.0.1
	yosay-2.0.2
	escape-string-regexp-4.0.0
	inherits-2.0.4
	execall-1.0.0
	is-extglob-2.1.1
	locutus-2.0.32
	meow-5.0.0
	p-is-promise-2.1.0
	ssri-10.0.6
	trim-newlines-2.0.0
	pump-3.0.2
	supports-preserve-symlinks-flag-1.0.0
	strip-ansi-4.0.0
	widest-line-3.1.0
	npmlog-2.0.4
	abbrev-2.0.0
	version-range-4.14.0
	p-any-2.1.0
	registry-auth-token-3.4.0
	@pnpm/npm-conf-2.3.1
	minizlib-2.1.2
	@kwsites/promise-deferred-1.1.1
	which-4.0.0
	roarr-2.15.4
	chalk-2.4.2
	ejs-3.1.10
	parse-help-1.0.0
	configstore-5.0.1
	log-symbols-6.0.0
	shebang-command-2.0.0
	mimic-function-5.0.1
	foreachasync-3.0.0
	registry-url-5.1.0
	strip-json-comments-2.0.1
	fly-import-0.4.1
	first-chunk-stream-5.0.0
	yeoman-generator-7.4.0
	@szmarczak/http-timer-4.0.6
	execa-7.2.0
	brace-expansion-2.0.1
	os-tmpdir-1.0.2
	encoding-0.1.13
	index-to-position-0.1.2
	simple-git-3.27.0
	ansi-0.3.1
	ky-1.7.3
	inquirer-9.3.7
	streamx-2.21.1
	camelcase-4.1.0
	promise-all-reject-late-1.0.1
	universal-user-agent-6.0.1
	semver-truncate-1.1.2
	@yeoman/namespace-1.0.1
	minipass-5.0.0
	node-gyp-10.3.1
	cli-cursor-1.0.2
	ansi-align-3.0.1
	ignore-walk-6.0.5
	npm-pick-manifest-9.1.0
	isbinaryfile-5.0.4
	tuf-js-2.2.1
	@types/http-cache-semantics-4.0.4
	is-ci-2.0.0
	strip-ansi-6.0.1
	defaults-1.0.4
	restore-cursor-3.1.0
	@npmcli/fs-3.1.1
	@npmcli/name-from-folder-2.0.0
	onetime-5.1.2
	arrify-1.0.1
	type-fest-0.20.2
	@octokit/types-9.3.2
	@nodelib/fs.stat-2.0.5
	minipass-fetch-3.0.5
	update-notifier-5.1.0
	@octokit/plugin-rest-endpoint-methods-7.2.3
	minimatch-3.0.8
	safe-buffer-5.2.1
	matcher-3.0.0
	commander-11.1.0
	p-defer-1.0.0
	color-convert-2.0.1
	get-stream-3.0.0
	mem-5.1.1
	supports-color-2.0.0
	got-6.7.1
	minimist-1.2.8
	socks-2.8.3
	@sindresorhus/is-4.6.0
	filter-obj-2.0.2
	indent-string-4.0.0
	isexe-2.0.0
	cacheable-lookup-5.0.4
	typedarray-to-buffer-3.1.5
	global-agent-3.0.0
	read-pkg-up-3.0.0
	dot-prop-5.3.0
	get-stream-8.0.1
	hosted-git-info-7.0.2
	webidl-conversions-3.0.1
	smart-buffer-4.2.0
	lines-and-columns-1.2.4
	global-dirs-3.0.1
	bare-events-2.5.0
	npm-conf-1.1.3
	wrap-ansi-6.2.0
	strip-bom-buf-3.0.1
	@octokit/plugin-paginate-rest-6.1.2
	escape-goat-2.1.1
	has-property-descriptors-1.0.2
	is-stream-1.1.0
	user-home-2.0.0
	@npmcli/git-5.0.8
	fast-plist-0.1.3
	spdx-expression-parse-3.0.1
	cli-list-1.0.0
	type-fest-0.6.0
	parse-json-8.1.0
	err-code-2.0.3
	cli-boxes-2.2.1
	@npmcli/promise-spawn-7.0.2
	onetime-1.1.0
	read-pkg-3.0.0
	eastasianwidth-0.2.0
	@octokit/graphql-5.0.6
	quick-lru-5.1.1
	proto-list-1.2.4
	supports-color-3.2.3
	ini-2.0.0
	restore-cursor-1.0.1
	string-width-4.2.3
	graceful-fs-4.2.10
	@octokit/request-6.2.8
	@npmcli/run-script-8.1.0
	promise-call-limit-3.0.2
	string-width-5.1.2
	glob-parent-5.1.2
	event-target-shim-5.0.1
	pacote-18.0.6
	is-unicode-supported-0.1.0
	buffer-5.7.1
	semver-6.3.1
	strip-eof-1.0.0
	@npmcli/redact-2.0.1
	which-5.0.0
	node-fetch-2.7.0
	path-exists-3.0.0
	tmp-0.0.29
	array-find-index-1.0.2
	array-union-3.0.1
	typedarray-0.0.6
	merge-stream-2.0.0
	log-symbols-2.2.0
	tmp-0.0.33
	latest-version-9.0.0
	loud-rejection-1.6.0
	pinkie-promise-2.0.1
	read-cmd-shim-4.0.0
	github-username-8.0.0
	unicorn-magic-0.1.0
	whatwg-url-5.0.0
	titleize-2.1.0
	treeverse-3.0.0
	@types/node-22.10.2
	p-timeout-5.1.0
	npm-packlist-8.0.2
	mute-stream-0.0.6
	parse-json-5.2.0
	generator-code-1.11.5
	prepend-http-2.0.0
	run-parallel-1.2.0
	chalk-1.1.3
	regenerator-runtime-0.14.1
	bin-version-3.1.0
	deprecation-2.3.1
	is-path-inside-3.0.3
	fs-minipass-3.0.3
	taketalk-1.0.0
	tabtab-1.3.2
	ini-4.1.3
	bin-version-check-4.0.0
	yosay-3.0.0
	validate-npm-package-license-3.0.4
	shebang-regex-1.0.0
	minimist-options-3.0.2
	number-is-nan-1.0.1
	queue-microtask-1.2.3
	boolean-3.2.0
	write-file-atomic-5.0.1
	npm-keyword-6.1.0
	path-type-5.0.0
	wrap-ansi-2.1.0
	concat-map-0.0.1
	p-try-2.2.0
	human-signals-5.0.0
	code-point-at-1.1.0
	resolve-alpn-1.2.1
	json-buffer-3.0.1
	ansi-styles-3.2.1
	has-flag-1.0.0
	is-regexp-1.0.0
	json-stringify-nice-1.1.4
	core-util-is-1.0.3
	reusify-1.0.4
	debug-4.4.0
	log-symbols-4.1.0
	json-stringify-safe-5.0.1
	@pnpm/config.env-replace-1.1.0
	cli-table-0.3.11
	fastq-1.17.1
	strip-bom-stream-5.0.0
	tunnel-0.0.6
	lodash-4.17.21
	package-json-7.0.0
	common-ancestor-path-1.0.1
	end-of-stream-1.4.4
	isbinaryfile-5.0.3
	@npmcli/package-json-5.2.1
	mimic-response-3.1.0
	http-proxy-agent-7.0.2
	defer-to-connect-1.1.3
	jsbn-1.1.0
	teex-1.0.1
	jsonparse-1.3.1
	default-uid-1.0.0
	@szmarczak/http-timer-1.1.2
	async-3.2.6
	mute-stream-0.0.8
	is-arrayish-0.2.1
	string-width-1.0.2
	root-check-1.0.0
	debug-2.6.9
	sort-keys-5.1.0
	gauge-1.2.7
	postcss-selector-parser-6.1.2
	is-glob-4.0.3
	@types/node-16.18.122
	os-shim-0.1.3
	ignore-5.3.2
	abort-controller-3.0.0
	is-root-1.0.0
	has-flag-4.0.0
	foreground-child-3.3.0
	stdin-discarder-0.2.2
	queue-tick-1.0.1
	path-exists-5.0.0
	diff-7.0.0
	type-fest-0.8.1
	es-define-property-1.0.1
	cli-boxes-1.0.0
	type-fest-0.13.1
	normalize-path-3.0.0
	imurmurhash-0.1.4
	@sigstore/tuf-2.3.4
	base64-js-1.5.1
	@octokit/openapi-types-18.1.1
	p-limit-1.3.0
	is-utf8-0.2.1
	has-unicode-2.0.1
	humanize-string-2.1.0
	run-async-2.4.1
	untildify-5.0.0
	iconv-lite-0.4.24
	ansi-escapes-4.3.2
	get-stream-4.1.0
	resolve-1.22.9
	unzip-response-2.0.1
	fast-glob-3.3.2
	@yeoman/adapter-1.6.0
	external-editor-3.1.0
	has-yarn-2.1.0
	onetime-7.0.0
	ms-2.1.3
	replace-ext-2.0.0
	buffer-from-1.1.2
	is-interactive-1.0.0
	semver-regex-2.0.0
	package-json-4.0.1
	extend-3.0.2
	string-width-2.1.1
	@babel/runtime-7.26.0
	negotiator-0.6.4
	p-cancelable-2.1.1
	normalize-url-4.5.1
	got-11.8.6
	package-json-10.0.1
	vinyl-file-5.0.0
	find-up-4.1.0
	sigstore-2.3.1
	spdx-license-ids-3.0.20
	ansi-regex-3.0.1
	error-ex-1.3.2
	globalthis-1.0.4
	is-typedarray-1.0.0
	capture-stack-trace-1.0.2
	http-cache-semantics-4.1.1
	pad-component-0.0.1
	supports-color-7.2.0
	@octokit/request-error-3.0.3
	semver-compare-1.0.0
	camelcase-6.3.0
	responselike-1.0.2
	@pnpm/network.ca-file-1.0.2
	url-parse-lax-1.0.0
	strip-indent-2.0.0
	walk-2.3.15
	wrap-ansi-7.0.0
	yeoman-character-1.1.0
	is-retry-allowed-1.2.0
	eventemitter3-5.0.1
	@types/ejs-3.1.5
	responselike-2.0.1
	multimatch-7.0.0
	process-0.11.10
	escape-string-regexp-1.0.5
	ansi-regex-5.0.1
	just-diff-apply-5.5.0
	timed-out-4.0.1
	prepend-http-1.0.4
	b4a-1.6.7
	clone-response-1.0.3
	keyv-4.5.4
	is-interactive-2.0.0
	@octokit/types-10.0.0
	string-width-6.1.0
	path-key-4.0.0
	defer-to-connect-2.0.1
	chownr-2.0.0
	once-1.4.0
	import-lazy-2.1.0
	npm-run-path-2.0.2
	isarray-1.0.0
	chardet-0.7.0
	sudo-block-1.2.0
	lodash.padstart-4.6.1
	arrify-2.0.1
	lodash-es-4.17.21
	define-lazy-prop-2.0.0
	glob-10.4.5
	spdx-exceptions-2.5.0
	unique-slug-4.0.0
	@octokit/core-4.2.4
	ora-5.4.1
	clone-regexp-1.0.1
	figures-3.2.0
	are-we-there-yet-1.1.7
	registry-url-3.1.0
	minipass-pipeline-1.2.4
	is-docker-2.2.1
	clone-stats-1.0.0
	find-up-2.1.0
	get-stream-6.0.1
	iconv-lite-0.6.3
	filelist-1.0.4
	decompress-response-3.3.0
	npm-registry-fetch-17.1.0
	minipass-collect-2.0.1
	http2-wrapper-1.0.3
	is-wsl-2.2.0
	nice-try-1.0.5
	camelcase-keys-4.2.0
	unique-filename-3.0.0
	path-parse-1.0.7
	mimic-response-1.0.1
	cacache-18.0.4
	p-transform-4.1.6
)
yarn_set_globals
SRC_URI="${YARN_SRC_URI}"

LICENSE="BSD-2 MIT Apache-2 CC0-1.0 0BSD BlueOak-1.0.0 CC-BY-3.0 ISC WTFPL"
KEYWORDS="~amd64"

S="${WORKDIR}"

src_install() {
	yarn_src_install
	fperms 0755 "/usr/$(get_libdir)/${PN}/node_modules/${PN}/lib/cli.js"
	dosym "../$(get_libdir)/${PN}/node_modules/${PN}/lib/cli.js" "/usr/bin/${PN}"
	fperms 0755 "/usr/$(get_libdir)/${PN}/node_modules/${PN}/lib/completion/index.js"
	dosym "../$(get_libdir)/${PN}/node_modules/${PN}/lib/completion/index..js" "/usr/bin/${PN}-complete"
}