Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,7 @@ jobs:
uses: ./.github/actions/yarn
- name: Verify tarball content
run: |
yarn test test/pack.test.ts
node --test test/pack.test.mts
working-directory: packages/app
- name: Release (dry run)
if: ${{ github.ref != 'refs/heads/trunk' }}
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ If your files are missing, you can modify the `files` section in `package.json`.
Also make sure that you update the test to include the new files:

```sh
node --test test/pack.test.mjs
node --test test/pack.test.mts
```

## Testing Specific React Native Versions
Expand Down
4 changes: 2 additions & 2 deletions packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@
"postpack": "node scripts/internal/pack.mts post",
"set-react-version": "node scripts/internal/set-react-version.mts",
"test": "node scripts/internal/test.mts",
"test:js": "node --no-warnings --test $(git ls-files '*.test.ts')",
"test:js": "node --no-warnings --test $(git ls-files '*.test.mts')",
"test:matrix": "node scripts/testing/test-matrix.mts",
"test:rb": "bundle exec ruby -Ilib:test -e \"Dir.glob('./test/test_*.rb').each { |file| require(file) }\""
},
"dependencies": {
"@isaacs/cliui": "^9.0.0",
"@rnx-kit/react-native-host": "^0.5.15",
"@rnx-kit/tools-react-native": "^2.1.0",
"ajv": "^8.0.0",
"cliui": "^8.0.0",
"fast-xml-parser": "^5.3.4",
"prompts": "^2.4.0",
"semver": "^7.3.5",
Expand Down
2 changes: 1 addition & 1 deletion packages/app/scripts/embed-manifest/validate.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import Ajv from "ajv";
import { Ajv } from "ajv";
import * as nodefs from "node:fs";
import { readJSONFile } from "../helpers.js";
import { generateSchema } from "../schema.mjs";
Expand Down
6 changes: 5 additions & 1 deletion packages/app/scripts/internal/test.mts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ import { spawnSync } from "node:child_process";

type Language = "ruby" | "typescript";

function isTypeScript(file: string): boolean {
return file.endsWith(".mts") || file.endsWith(".ts");
}

function getTarget(files: string[]): Language | undefined {
if (files.some((file) => file.endsWith(".rb"))) {
return "ruby";
} else if (files.some((file) => file.endsWith(".ts"))) {
} else if (files.some(isTypeScript)) {
return "typescript";
} else {
return undefined;
Expand Down
4 changes: 2 additions & 2 deletions packages/app/scripts/utils/parseargs.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import cliui from "cliui";
import { cliui } from "@isaacs/cliui";
import * as fs from "node:fs";
import * as path from "node:path";
import { URL, fileURLToPath } from "node:url";
Expand All @@ -14,7 +14,7 @@ import * as util from "node:util";
* @returns {values is Args<O>}
*/
function coerce(values, _options) {
return Boolean(typeof values === "object" && "help" in values);
return typeof values === "object" && Object.hasOwn(values, "help");
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { gatherConfig, writeAllFiles } from "../../scripts/configure.mjs";
import { findNearest, readJSONFile } from "../../scripts/helpers.js";
import type { ConfigureParams } from "../../scripts/types.ts";
import { rm_r } from "../../scripts/utils/filesystem.mjs";
import { templatePath } from "../template.ts";
import { templatePath } from "../template.mts";

const GRADLE_TEST_TASK = "nodeTest";
const MKDIR_OPTIONS = { recursive: true, mode: 0o755 };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
reactNativeVersion,
removeProject,
runGradleWithProject,
} from "./gradle.ts";
} from "./gradle.mts";

describe("test-app-util.gradle", () => {
const defaultTestProject = "TestAppUtilTest";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { describe, it } from "node:test";
import { gatherConfig as gatherConfigActual } from "../../scripts/configure.mjs";
import { join } from "../../scripts/template.mjs";
import type { Configuration, ConfigureParams } from "../../scripts/types.ts";
import { templatePath } from "../template.ts";
import { mockParams } from "./mockParams.ts";
import { templatePath } from "../template.mts";
import { mockParams } from "./mockParams.mts";

describe("gatherConfig()", () => {
const templateDir = templatePath.substring(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { equal } from "node:assert/strict";
import { afterEach, describe, it } from "node:test";
import { getAppName as getAppNameActual } from "../../scripts/configure.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("getAppName()", () => {
const getAppName: typeof getAppNameActual = (p) => getAppNameActual(p, fs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import {
getPlatformPackage,
} from "../../scripts/configure.mjs";
import type { ConfigureParams, Platform } from "../../scripts/types.ts";
import { templatePath } from "../template.ts";
import { mockParams } from "./mockParams.ts";
import { templatePath } from "../template.mts";
import { mockParams } from "./mockParams.mts";

describe("getConfig()", () => {
const getConfig: typeof getConfigActual = (params, platform) =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { equal, ok } from "node:assert/strict";
import { afterEach, describe, it } from "node:test";
import { isDestructive as isDestructiveActual } from "../../scripts/configure.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("isDestructive()", () => {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { equal, ok } from "node:assert/strict";
import { describe, it } from "node:test";
import { reactNativeConfig as reactNativeConfigActual } from "../../scripts/configure.mjs";
import type { ConfigureParams } from "../../scripts/types.ts";
import { mockParams } from "./mockParams.ts";
import { mockParams } from "./mockParams.mts";

describe("reactNativeConfig()", () => {
const reactNativeConfig = (params: ConfigureParams): string => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ok } from "node:assert/strict";
import { after, beforeEach, describe, it } from "node:test";
import { removeAllFiles as removeAllFilesActual } from "../../scripts/configure.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("removeAllFiles()", () => {
const removeAllFiles: typeof removeAllFilesActual = (files, destination) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { URL } from "node:url";
import { updatePackageManifest as updatePackageManifestActual } from "../../scripts/configure.mjs";
import { readJSONFile } from "../../scripts/helpers.js";
import type { Manifest } from "../../scripts/types.ts";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

function getExampleManifest() {
const p = new URL("../../example/package.json", import.meta.url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as path from "node:path";
import { afterEach, describe, it } from "node:test";
import { writeAllFiles as writeAllFilesActual } from "../../scripts/configure.mjs";
import { readTextFile as readTextFileActual } from "../../scripts/helpers.js";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("writeAllFiles()", () => {
const readTextFile: typeof readTextFileActual = (p) =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { equal } from "node:assert/strict";
import { describe, it } from "node:test";
import { generate as generateActual } from "../../scripts/embed-manifest/cpp.mjs";
import * as fixtures from "./fixtures.ts";
import * as fixtures from "./fixtures.mts";

describe("embed manifest (C++)", () => {
const generate = (json: Record<string, unknown>) => generateActual(json, "0");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { equal } from "node:assert/strict";
import { describe, it } from "node:test";
import { generate as generateActual } from "../../scripts/embed-manifest/kotlin.mjs";
import * as fixtures from "./fixtures.ts";
import * as fixtures from "./fixtures.mts";

describe("embed manifest (Kotlin)", () => {
const generate = (json: Record<string, unknown>) => generateActual(json, "0");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { equal } from "node:assert/strict";
import { describe, it } from "node:test";
import { generate as generateActual } from "../../scripts/embed-manifest/swift.mjs";
import * as fixtures from "./fixtures.ts";
import * as fixtures from "./fixtures.mts";

describe("embed manifest (Swift)", () => {
const generate = (json: Record<string, unknown>) => generateActual(json, "0");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { deepEqual, equal, match, notEqual } from "node:assert/strict";
import { afterEach, describe, it } from "node:test";
import { validate as validateActual } from "../../scripts/embed-manifest/validate.mjs";
import { findFile as findFileActual } from "../../scripts/helpers.js";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("validate()", () => {
const findFile: typeof findFileActual = (file, startDir = undefined) =>
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import type {
JSONObject,
ProjectConfiguration,
} from "../../scripts/types.ts";
import { fs as mockfs, setMockFiles, toJSON } from "../fs.mock.ts";
import { fs as mockfs, setMockFiles, toJSON } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { afterEach, describe, it } from "node:test";
import { fileURLToPath } from "node:url";
import { generateAssetsCatalogs as generateAssetsCatalogsActual } from "../../ios/assetsCatalog.mjs";
import { readTextFile } from "../../scripts/helpers.js";
import { fs as fsMock, setMockFiles, toJSON } from "../fs.mock.ts";
import { fs as fsMock, setMockFiles, toJSON } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { generateEntitlements as generateEntitlementsActual } from "../../ios/en
import { readTextFile } from "../../scripts/helpers.js";
import type { JSONObject } from "../../scripts/types.ts";
import { mkdir_p } from "../../scripts/utils/filesystem.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { generateInfoPlist as generateInfoPlistActual } from "../../ios/infoPlis
import { readTextFile } from "../../scripts/helpers.js";
import type { JSONObject } from "../../scripts/types.ts";
import { mkdir_p } from "../../scripts/utils/filesystem.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
import { projectPath } from "../../ios/utils.mjs";
import { readTextFile } from "../../scripts/helpers.js";
import type { ApplePlatform, JSONObject } from "../../scripts/types.ts";
import { fs, setMockFiles, toJSON } from "../fs.mock.ts";
import { fs, setMockFiles, toJSON } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { generatePrivacyManifest as generatePrivacyManifestActual } from "../../
import { readTextFile } from "../../scripts/helpers.js";
import type { JSONObject } from "../../scripts/types.ts";
import { mkdir_p } from "../../scripts/utils/filesystem.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import type {
JSONValue,
ProjectConfiguration,
} from "../../scripts/types.ts";
import { fs, setMockFiles, toJSON } from "../fs.mock.ts";
import { fs, setMockFiles, toJSON } from "../fs.mock.mts";

const macosOnly = { skip: process.platform === "win32" };

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { equal, fail, match, rejects } from "node:assert/strict";
import { afterEach, describe, it } from "node:test";
import { readTextFile as readTextFileActual } from "../../scripts/helpers.js";
import { copyAndReplace as copyAndReplaceActual } from "../../windows/app.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("copyAndReplace()", () => {
const copyAndReplace: typeof copyAndReplaceActual = (src, dst, r) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { equal } from "node:assert/strict";
import * as path from "node:path";
import { afterEach, beforeEach, describe, it } from "node:test";
import { generateSolution as generateSolutionActual } from "../../windows/app.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("generateSolution()", () => {
const generateSolution: typeof generateSolutionActual = (d, cfg) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { deepEqual, equal, match } from "node:assert/strict";
import * as path from "node:path";
import { afterEach, describe, it } from "node:test";
import { getBundleResources as getBundleResourcesActual } from "../../windows/project.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("getBundleResources()", () => {
const getBundleResources: typeof getBundleResourcesActual = (p) =>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { deepEqual, equal, match } from "node:assert/strict";
import { afterEach, describe, it } from "node:test";
import { parseResources as parseResourcesActual } from "../../windows/project.mjs";
import { fs, setMockFiles } from "../fs.mock.ts";
import { fs, setMockFiles } from "../fs.mock.mts";

describe("parseResources()", () => {
const parseResources: typeof parseResourcesActual = (r, p) =>
Expand Down
6 changes: 2 additions & 4 deletions packages/app/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
{
"extends": "@rnx-kit/tsconfig/tsconfig.esm.node.json",
"extends": "@rnx-kit/tsconfig/tsconfig.node.json",
"compilerOptions": {
"target": "ES2022",
"module": "ES2022",
"target": "esnext",
"allowImportingTsExtensions": true,
"moduleResolution": "Node",
"noEmit": true,
"lib": ["ES2022", "DOM"]
},
Expand Down
Loading
Loading