From 9da62d7db0220467e9a25a4358f98564472c2a68 Mon Sep 17 00:00:00 2001 From: Tommy Nguyen <4123478+tido64@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:11:01 +0200 Subject: [PATCH] chore(yarn): use `ignore:` protocol --- .yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs | 153 ++++++++++++++++++ .yarnrc.yml | 3 + nx.json | 7 +- package.json | 4 +- packages/null/index.js | 1 - packages/null/package.json | 21 --- yarn.lock | 8 +- 7 files changed, 164 insertions(+), 33 deletions(-) create mode 100644 .yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs delete mode 100644 packages/null/index.js delete mode 100644 packages/null/package.json diff --git a/.yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs b/.yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs new file mode 100644 index 000000000..0c752c44e --- /dev/null +++ b/.yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs @@ -0,0 +1,153 @@ +/* eslint-disable */ +//prettier-ignore +module.exports = { +name: "@rnx-kit/yarn-plugin-ignore", +factory: function (require) { +"use strict"; +var plugin = (() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { + get: (a, b) => (typeof require !== "undefined" ? require : a)[b] + }) : x)(function(x) { + if (typeof require !== "undefined") return require.apply(this, arguments); + throw Error('Dynamic require of "' + x + '" is not supported'); + }); + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + + // src/index.ts + var index_exports = {}; + __export(index_exports, { + IgnoreFetcher: () => IgnoreFetcher, + IgnoreResolver: () => IgnoreResolver, + default: () => index_default + }); + + // src/IgnoreFetcher.ts + var import_fslib = __require("@yarnpkg/fslib"); + var fs = __toESM(__require("fs"), 1); + + // src/constants.ts + var IGNORE_PROTOCOL = "ignore:"; + var STUB_MODULE = `module.exports = {}; +`; + var STUB_PACKAGE = `{ + "name": "@rnx-kit/yarn-plugin-ignore/stub", + "version": "0.0.0", + "description": "Stub package for '@rnx-kit/yarn-plugin-ignore'", + "main": "index.js" +} +`; + + // src/IgnoreFetcher.ts + var IgnoreFetcher = class { + supports(locator) { + return locator.reference.startsWith(IGNORE_PROTOCOL); + } + getLocalPath() { + return null; + } + async fetch(_locator, opts) { + const base = opts.project.cwd; + const sourceFs = new import_fslib.CwdFS(base); + const localPath = import_fslib.ppath.resolve( + base, + "node_modules", + ".generated", + "@rnx-kit", + "yarn-plugin-ignore-stub" + ); + const nativePath = import_fslib.npath.fromPortablePath(localPath); + if (!fs.existsSync(nativePath)) { + fs.mkdirSync(nativePath, { recursive: true, mode: 493 }); + fs.writeFileSync(import_fslib.npath.join(nativePath, "package.json"), STUB_PACKAGE); + fs.writeFileSync(import_fslib.npath.join(nativePath, "index.js"), STUB_MODULE); + } + return { + packageFs: new import_fslib.CwdFS(localPath, { baseFs: sourceFs }), + prefixPath: import_fslib.PortablePath.dot, + discardFromLookup: true, + localPath + }; + } + }; + + // src/IgnoreResolver.ts + var import_core = __require("@yarnpkg/core"); + var import_node_assert = __require("assert"); + var IgnoreResolver = class { + supportsDescriptor(descriptor) { + return descriptor.range.startsWith(IGNORE_PROTOCOL); + } + supportsLocator(locator) { + return locator.reference.startsWith(IGNORE_PROTOCOL); + } + shouldPersistResolution() { + return false; + } + bindDescriptor(descriptor, _fromLocator) { + return descriptor; + } + getResolutionDependencies() { + return {}; + } + async getCandidates(descriptor, _dependencies, _opts) { + return [import_core.structUtils.makeLocator(descriptor, IGNORE_PROTOCOL)]; + } + async getSatisfying(_descriptor, _dependencies, locators, _opts) { + (0, import_node_assert.equal)(locators.length, 1, "Expected a single locator candidate"); + return { locators, sorted: true }; + } + async resolve(locator, opts) { + const manifest = new import_core.Manifest(); + return { + ...locator, + version: "0.0.0", + languageName: opts.project.configuration.get("defaultLanguageName"), + linkType: import_core.LinkType.SOFT, + conditions: null, + dependencies: manifest.dependencies, + peerDependencies: manifest.peerDependencies, + dependenciesMeta: manifest.dependenciesMeta, + peerDependenciesMeta: manifest.peerDependenciesMeta, + bin: manifest.bin + }; + } + }; + + // src/index.ts + var plugin = { + fetchers: [IgnoreFetcher], + resolvers: [IgnoreResolver] + }; + var index_default = plugin; + return __toCommonJS(index_exports); +})(); +return plugin; +} +}; +//# sourceMappingURL=yarn-plugin-ignore.cjs.map diff --git a/.yarnrc.yml b/.yarnrc.yml index 538fcf092..d54ae8229 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -25,5 +25,8 @@ plugins: - path: .yarn/plugins/clean.cjs - path: .yarn/plugins/npm-workaround.cjs - path: .yarn/plugins/undo-bin-sorting.cjs + - checksum: 8d8252c376e41a67ca509b2778f3fb92164aa91828459ae8a6aa0e13f1b6f9843586d0983ba9a200f6d813d37efc171474c8dbc85b0dff01df56c0d476c238ce + path: .yarn/plugins/@rnx-kit/yarn-plugin-ignore.cjs + spec: "https://raw.githubusercontent.com/microsoft/rnx-kit/main/incubator/yarn-plugin-ignore/dist/yarn-plugin-ignore.cjs" tsEnableAutoTypes: false yarnPath: .yarn/releases/yarn-4.13.0.cjs diff --git a/nx.json b/nx.json index ae3549fb4..252437c84 100644 --- a/nx.json +++ b/nx.json @@ -1,5 +1,6 @@ { "$schema": "./node_modules/nx/schemas/nx-schema.json", + "extends": "nx/presets/npm.json", "defaultBase": "trunk", "targetDefaults": { "format:js": { @@ -36,9 +37,5 @@ "tui": { "enabled": false }, - "pluginsConfig": { - "@nx/js": { - "analyzeSourceFiles": false - } - } + "analytics": false } diff --git a/package.json b/package.json index 179341af0..757fa1136 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@appium/base-driver/axios": "^1.13.6", "@appium/base-driver/lodash": "^4.17.23", "@appium/base-driver/lru-cache": "^11.2.6", - "@appium/docutils": "link:./packages/null", + "@appium/docutils": "ignore:", "@appium/logger/lodash": "^4.17.23", "@appium/logger/lru-cache": "^11.2.6", "@appium/support/archiver": "~7.0.1", @@ -88,7 +88,7 @@ "appium/ws": "~8.19.0", "appium/yaml": "~2.8.2", "argparse/sprintf-js": "^1.0.2", - "babel-jest": "link:./packages/null", + "babel-jest": "ignore:", "compression/bytes": "^3.1.2", "nx/minimatch": "^10.2.4", "react-native-windows/metro-source-map": "^0.83.1", diff --git a/packages/null/index.js b/packages/null/index.js deleted file mode 100644 index f053ebf79..000000000 --- a/packages/null/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; diff --git a/packages/null/package.json b/packages/null/package.json deleted file mode 100644 index 3d1bf8333..000000000 --- a/packages/null/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@microsoft/null", - "version": "0.0.1-dev", - "private": true, - "description": "Meta package for preventing packages from being installed", - "homepage": "https://github.com/microsoft/react-native-test-app", - "license": "MIT", - "author": { - "name": "Microsoft Open Source", - "email": "microsoftopensource@users.noreply.github.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/microsoft/react-native-test-app.git", - "directory": "packages/null" - }, - "files": [ - "index.js" - ], - "main": "index.js" -} diff --git a/yarn.lock b/yarn.lock index 796fc1de1..3d8cb3daf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,9 +46,9 @@ __metadata: languageName: node linkType: hard -"@appium/docutils@link:./packages/null::locator=%40microsoft%2Froot%40workspace%3A.": +"@appium/docutils@ignore:": version: 0.0.0-use.local - resolution: "@appium/docutils@link:./packages/null::locator=%40microsoft%2Froot%40workspace%3A." + resolution: "@appium/docutils@ignore:" languageName: node linkType: soft @@ -5877,9 +5877,9 @@ __metadata: languageName: node linkType: hard -"babel-jest@link:./packages/null::locator=%40microsoft%2Froot%40workspace%3A.": +"babel-jest@ignore:": version: 0.0.0-use.local - resolution: "babel-jest@link:./packages/null::locator=%40microsoft%2Froot%40workspace%3A." + resolution: "babel-jest@ignore:" languageName: node linkType: soft