diff --git a/docs/generated/packages/plugin/generators/create-package.json b/docs/generated/packages/plugin/generators/create-package.json index a6706b8941..d226f73bee 100644 --- a/docs/generated/packages/plugin/generators/create-package.json +++ b/docs/generated/packages/plugin/generators/create-package.json @@ -12,6 +12,7 @@ "name": { "type": "string", "description": "The package name of cli, e.g. `create-framework-package`. Note this must be a valid NPM name to be published.", + "pattern": "create-.+|^@.+/create(?:-.+)?", "$default": { "$source": "argv", "index": 0 }, "x-priority": "important" }, diff --git a/e2e/workspace-create/src/create-nx-plugin.test.ts b/e2e/workspace-create/src/create-nx-plugin.test.ts index 9bf3783e7b..ac46967219 100644 --- a/e2e/workspace-create/src/create-nx-plugin.test.ts +++ b/e2e/workspace-create/src/create-nx-plugin.test.ts @@ -71,6 +71,5 @@ describe('create-nx-plugin', () => { checkFilesExist(`dist/create-${pluginName}-package/bin/index.js`); expect(() => runCLI(`e2e e2e`)).not.toThrow(); - expect(() => runCLI(`e2e create-${pluginName}-package-e2e`)).not.toThrow(); }); }); diff --git a/packages/create-nx-plugin/bin/create-nx-plugin.ts b/packages/create-nx-plugin/bin/create-nx-plugin.ts index 4434b2dbb8..6b8e1a5158 100644 --- a/packages/create-nx-plugin/bin/create-nx-plugin.ts +++ b/packages/create-nx-plugin/bin/create-nx-plugin.ts @@ -133,7 +133,10 @@ async function main(parsedArgs: yargs.Arguments) { ], }); - const workspaceInfo = await createWorkspace('@nx/plugin', populatedArguments); + const workspaceInfo = await createWorkspace( + `@nx/plugin@${nxVersion}`, + populatedArguments + ); showNxWarning(parsedArgs.pluginName); diff --git a/packages/create-nx-workspace/bin/create-nx-workspace.ts b/packages/create-nx-workspace/bin/create-nx-workspace.ts index 644f2a3983..899723404a 100644 --- a/packages/create-nx-workspace/bin/create-nx-workspace.ts +++ b/packages/create-nx-workspace/bin/create-nx-workspace.ts @@ -165,6 +165,10 @@ async function main(parsedArgs: yargs.Arguments) { if (isKnownPreset(parsedArgs.preset)) { pointToTutorialAndCourse(parsedArgs.preset as Preset); + } else { + output.log({ + title: `Successfully applied preset: ${parsedArgs.preset}`, + }); } } diff --git a/packages/create-nx-workspace/src/create-workspace-options.ts b/packages/create-nx-workspace/src/create-workspace-options.ts index 54284061d7..3ada0b0678 100644 --- a/packages/create-nx-workspace/src/create-workspace-options.ts +++ b/packages/create-nx-workspace/src/create-workspace-options.ts @@ -5,7 +5,6 @@ export interface CreateWorkspaceOptions { name: string; // Workspace name (e.g. org name) packageManager: PackageManager; // Package manager to use nxCloud: boolean; // Enable Nx Cloud - presetVersion?: string; // Version of the preset to use /** * @description Enable interactive mode with presets * @default true diff --git a/packages/create-nx-workspace/src/create-workspace.ts b/packages/create-nx-workspace/src/create-workspace.ts index d312213110..125889b930 100644 --- a/packages/create-nx-workspace/src/create-workspace.ts +++ b/packages/create-nx-workspace/src/create-workspace.ts @@ -5,9 +5,7 @@ import { createSandbox } from './create-sandbox'; import { createEmptyWorkspace } from './create-empty-workspace'; import { createPreset } from './create-preset'; import { setupCI } from './utils/ci/setup-ci'; -import { messages, recordStat } from './utils/nx/ab-testing'; import { initializeGitRepo } from './utils/git/git'; -import { nxVersion } from './utils/nx/nx-version'; import { getThirdPartyPreset } from './utils/preset/get-third-party-preset'; import { mapErrorToBodyLines } from './utils/error-utils'; diff --git a/packages/js/src/generators/library/library.spec.ts b/packages/js/src/generators/library/library.spec.ts index 152a45cea1..292ed60fce 100644 --- a/packages/js/src/generators/library/library.spec.ts +++ b/packages/js/src/generators/library/library.spec.ts @@ -957,11 +957,8 @@ describe('lib', () => { const config = readProjectConfiguration(tree, 'my-lib'); expect(config.targets.publish).toEqual({ - executor: 'nx:run-commands', - options: { - command: - 'node tools/scripts/publish.mjs my-lib {args.ver} {args.tag}', - }, + command: + 'node tools/scripts/publish.mjs my-lib {args.ver} {args.tag}', dependsOn: ['build'], }); }); diff --git a/packages/js/src/generators/library/library.ts b/packages/js/src/generators/library/library.ts index 8f4ce27d3b..be9f1381a0 100644 --- a/packages/js/src/generators/library/library.ts +++ b/packages/js/src/generators/library/library.ts @@ -197,10 +197,7 @@ function addProject( const publishScriptPath = addMinimalPublishScript(tree); projectConfiguration.targets.publish = { - executor: 'nx:run-commands', - options: { - command: `node ${publishScriptPath} ${options.name} {args.ver} {args.tag}`, - }, + command: `node ${publishScriptPath} ${options.name} {args.ver} {args.tag}`, dependsOn: ['build'], }; } diff --git a/packages/plugin/src/generators/create-package/create-package.ts b/packages/plugin/src/generators/create-package/create-package.ts index 0163b4e0c7..b143cb54d2 100644 --- a/packages/plugin/src/generators/create-package/create-package.ts +++ b/packages/plugin/src/generators/create-package/create-package.ts @@ -39,9 +39,6 @@ export async function createPackageGenerator( tasks.push(installTask); await createCliPackage(host, options, pluginPackageName); - if (options.e2eTestRunner !== 'none') { - tasks.push(await addE2eProject(host, options)); - } if (!options.skipFormat) { await formatFiles(host); diff --git a/packages/plugin/src/generators/create-package/files/create-framework-package/bin/index.ts__tmpl__ b/packages/plugin/src/generators/create-package/files/create-framework-package/bin/index.ts__tmpl__ index e76aec671a..6df9c79f95 100644 --- a/packages/plugin/src/generators/create-package/files/create-framework-package/bin/index.ts__tmpl__ +++ b/packages/plugin/src/generators/create-package/files/create-framework-package/bin/index.ts__tmpl__ @@ -10,17 +10,18 @@ async function main() { console.log(`Creating the workspace: ${name}`); + // This assumes "<%= preset %>" and "<%= projectName %>" are at the same version + // eslint-disable-next-line @typescript-eslint/no-var-requires + const presetVersion = require('../package.json').version, + // TODO: update below to customize the workspace - const { directory } = await createWorkspace('<%= preset %>', { - name, + const { directory } = await createWorkspace(`<%= preset %>@${presetVersion}`, { + name, nxCloud: false, packageManager: 'npm', - // This assumes "<%= preset %>" and "<%= projectName %>" are at the same version - // eslint-disable-next-line @typescript-eslint/no-var-requires - presetVersion: require('../package.json').version, }); console.log(`Successfully created the workspace: ${directory}.`); } -main(); \ No newline at end of file +main(); diff --git a/packages/plugin/src/generators/create-package/files/e2e/__name__.spec.ts__tmpl__ b/packages/plugin/src/generators/create-package/files/e2e/__name__.spec.ts__tmpl__ index be0960b719..1ebe1bdad5 100644 --- a/packages/plugin/src/generators/create-package/files/e2e/__name__.spec.ts__tmpl__ +++ b/packages/plugin/src/generators/create-package/files/e2e/__name__.spec.ts__tmpl__ @@ -1,11 +1,10 @@ import { - uniq, runCreatePackageCli, removeTmpProject, } from '@nx/plugin/testing'; describe('<%= name %> e2e', () => { - const project = uniq('<%= name %>'); + const project = '<%= name %>'; let createPackageResult; beforeAll(async () => { diff --git a/packages/plugin/src/generators/create-package/schema.json b/packages/plugin/src/generators/create-package/schema.json index 3892775419..8125d63f5a 100644 --- a/packages/plugin/src/generators/create-package/schema.json +++ b/packages/plugin/src/generators/create-package/schema.json @@ -9,6 +9,7 @@ "name": { "type": "string", "description": "The package name of cli, e.g. `create-framework-package`. Note this must be a valid NPM name to be published.", + "pattern": "create-.+|^@.+/create(?:-.+)?", "$default": { "$source": "argv", "index": 0 diff --git a/packages/plugin/src/generators/e2e-project/files/tests/__pluginName__.spec.ts__tmpl__ b/packages/plugin/src/generators/e2e-project/files/tests/__pluginName__.spec.ts__tmpl__ index 08b839f01f..f966c26e75 100644 --- a/packages/plugin/src/generators/e2e-project/files/tests/__pluginName__.spec.ts__tmpl__ +++ b/packages/plugin/src/generators/e2e-project/files/tests/__pluginName__.spec.ts__tmpl__ @@ -4,7 +4,6 @@ import { readJson, runNxCommandAsync, runNxCommand, - uniq, } from '@nx/plugin/testing'; describe('<%= pluginName %> e2e', () => { @@ -18,17 +17,17 @@ describe('<%= pluginName %> e2e', () => { ensureNxProject('<%= npmPackageName %>', '<%= pluginOutputPath %>'); }); - afterAll(() => { + afterAll(async () => { // `nx reset` kills the daemon, and performs // some work which can help clean up e2e leftovers - runNxCommandAsync('reset'); + await runNxCommandAsync('reset'); }); // Add some tests here to check that your plugin functionality works as expected. // A sample test is included below to give you some ideas. xit('should be able to build generated projects', async () => { - const name = uniq('proj'); + const name = 'proj'; const generator = 'PLACEHOLDER'; await runNxCommandAsync(`generate <%= npmPackageName %>:${generator} --name ${name}`); expect(() => runNxCommand('build ${proj}')).not.toThrow();