From 42b9be2a119f75f29361ad468c0417f3622a8945 Mon Sep 17 00:00:00 2001 From: Greg Westneat Date: Tue, 31 Jan 2023 09:27:19 -0800 Subject: [PATCH] feat(expo): add option for skipPackageJson for expo generators (#14570) --- docs/generated/packages/expo/generators/application.json | 5 +++++ docs/generated/packages/expo/generators/init.json | 5 +++++ docs/generated/packages/expo/generators/library.json | 5 +++++ packages/expo/src/generators/application/schema.d.ts | 1 + packages/expo/src/generators/application/schema.json | 5 +++++ packages/expo/src/generators/init/init.ts | 7 ++++++- packages/expo/src/generators/init/schema.d.ts | 1 + packages/expo/src/generators/init/schema.json | 5 +++++ packages/expo/src/generators/library/schema.d.ts | 1 + packages/expo/src/generators/library/schema.json | 5 +++++ 10 files changed, 39 insertions(+), 1 deletion(-) diff --git a/docs/generated/packages/expo/generators/application.json b/docs/generated/packages/expo/generators/application.json index edea53d57d..94ae26f44b 100644 --- a/docs/generated/packages/expo/generators/application.json +++ b/docs/generated/packages/expo/generators/application.json @@ -77,6 +77,11 @@ "type": "boolean", "default": true, "x-deprecated": "Nx only supports standaloneConfig" + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": ["name"], diff --git a/docs/generated/packages/expo/generators/init.json b/docs/generated/packages/expo/generators/init.json index 9c81f1a151..2adc4901b2 100644 --- a/docs/generated/packages/expo/generators/init.json +++ b/docs/generated/packages/expo/generators/init.json @@ -25,6 +25,11 @@ "type": "string", "enum": ["detox", "none"], "default": "detox" + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": [], diff --git a/docs/generated/packages/expo/generators/library.json b/docs/generated/packages/expo/generators/library.json index dff937e868..b3976b6ae0 100644 --- a/docs/generated/packages/expo/generators/library.json +++ b/docs/generated/packages/expo/generators/library.json @@ -88,6 +88,11 @@ "type": "boolean", "description": "Whether or not to configure the ESLint \"parserOptions.project\" option. We do not do this by default for lint performance reasons.", "default": false + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": ["name"], diff --git a/packages/expo/src/generators/application/schema.d.ts b/packages/expo/src/generators/application/schema.d.ts index ece0671bfc..279927eb60 100644 --- a/packages/expo/src/generators/application/schema.d.ts +++ b/packages/expo/src/generators/application/schema.d.ts @@ -15,4 +15,5 @@ export interface Schema { setParserOptionsProject?: boolean; // default is false e2eTestRunner: 'detox' | 'none'; // default is detox standaloneConfig?: boolean; + skipPackageJson?: boolean; // default is false } diff --git a/packages/expo/src/generators/application/schema.json b/packages/expo/src/generators/application/schema.json index f72db96dd3..c507bcc6af 100644 --- a/packages/expo/src/generators/application/schema.json +++ b/packages/expo/src/generators/application/schema.json @@ -77,6 +77,11 @@ "type": "boolean", "default": true, "x-deprecated": "Nx only supports standaloneConfig" + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": ["name"] diff --git a/packages/expo/src/generators/init/init.ts b/packages/expo/src/generators/init/init.ts index 7499540472..486c51e62e 100644 --- a/packages/expo/src/generators/init/init.ts +++ b/packages/expo/src/generators/init/init.ts @@ -42,7 +42,12 @@ export async function expoInitGenerator(host: Tree, schema: Schema) { addGitIgnoreEntry(host); initRootBabelConfig(host); - const tasks = [moveDependency(host), updateDependencies(host)]; + const tasks = []; + + if (!schema.skipPackageJson) { + tasks.push(moveDependency(host)); + tasks.push(updateDependencies(host)); + } if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') { const jestTask = jestInitGenerator(host, {}); diff --git a/packages/expo/src/generators/init/schema.d.ts b/packages/expo/src/generators/init/schema.d.ts index 11ea540ee8..a09789f88a 100644 --- a/packages/expo/src/generators/init/schema.d.ts +++ b/packages/expo/src/generators/init/schema.d.ts @@ -2,4 +2,5 @@ export interface Schema { unitTestRunner?: 'jest' | 'none'; skipFormat?: boolean; e2eTestRunner?: 'detox' | 'none'; + skipPackageJson?: boolean; // default is false } diff --git a/packages/expo/src/generators/init/schema.json b/packages/expo/src/generators/init/schema.json index 9ed34d7703..e3b7a15800 100644 --- a/packages/expo/src/generators/init/schema.json +++ b/packages/expo/src/generators/init/schema.json @@ -22,6 +22,11 @@ "type": "string", "enum": ["detox", "none"], "default": "detox" + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": [] diff --git a/packages/expo/src/generators/library/schema.d.ts b/packages/expo/src/generators/library/schema.d.ts index fa0f2eb797..1a0afcea78 100644 --- a/packages/expo/src/generators/library/schema.d.ts +++ b/packages/expo/src/generators/library/schema.d.ts @@ -18,4 +18,5 @@ export interface Schema { js: boolean; // default is false strict: boolean; // default is true setParserOptionsProject?: boolean; + skipPackageJson?: boolean; // default is false } diff --git a/packages/expo/src/generators/library/schema.json b/packages/expo/src/generators/library/schema.json index eb08ead77d..0961290da0 100644 --- a/packages/expo/src/generators/library/schema.json +++ b/packages/expo/src/generators/library/schema.json @@ -88,6 +88,11 @@ "type": "boolean", "description": "Whether or not to configure the ESLint \"parserOptions.project\" option. We do not do this by default for lint performance reasons.", "default": false + }, + "skipPackageJson": { + "type": "boolean", + "description": "Do not add dependencies to `package.json`.", + "default": false } }, "required": ["name"]