Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(next): dev server starting when importing a file using get-projec… #38274

Merged
merged 6 commits into from Aug 7, 2022
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 1 addition & 12 deletions packages/next/bin/next.ts
Expand Up @@ -2,6 +2,7 @@
import * as log from '../build/output/log'
import arg from 'next/dist/compiled/arg/index.js'
import { NON_STANDARD_NODE_ENV } from '../lib/constants'
import { commands } from '../lib/commands'
;['react', 'react-dom'].forEach((dependency) => {
try {
// When 'npm link' is used it checks the clone location. Not the project.
Expand All @@ -14,18 +15,6 @@ import { NON_STANDARD_NODE_ENV } from '../lib/constants'
})

const defaultCommand = 'dev'
export type cliCommand = (argv?: string[]) => void
export const commands: { [command: string]: () => Promise<cliCommand> } = {
build: () => Promise.resolve(require('../cli/next-build').nextBuild),
start: () => Promise.resolve(require('../cli/next-start').nextStart),
export: () => Promise.resolve(require('../cli/next-export').nextExport),
dev: () => Promise.resolve(require('../cli/next-dev').nextDev),
lint: () => Promise.resolve(require('../cli/next-lint').nextLint),
telemetry: () =>
Promise.resolve(require('../cli/next-telemetry').nextTelemetry),
info: () => Promise.resolve(require('../cli/next-info').nextInfo),
}

const args = arg(
{
// Types
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-build.ts
Expand Up @@ -2,7 +2,7 @@
import { existsSync } from 'fs'
import arg from 'next/dist/compiled/arg/index.js'
import * as Log from '../build/output/log'
import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import build from '../build'
import { printAndExit } from '../server/lib/utils'
import isError from '../lib/is-error'
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-dev.ts
Expand Up @@ -5,7 +5,7 @@ import { startServer } from '../server/lib/start-server'
import { printAndExit } from '../server/lib/utils'
import * as Log from '../build/output/log'
import { startedDevelopmentServer } from '../build/output'
import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import isError from '../lib/is-error'
import { getProjectDir } from '../lib/get-project-dir'
import { CONFIG_FILES } from '../shared/lib/constants'
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-export.ts
Expand Up @@ -4,7 +4,7 @@ import { existsSync } from 'fs'
import arg from 'next/dist/compiled/arg/index.js'
import exportApp from '../export'
import { printAndExit } from '../server/lib/utils'
import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import { trace } from '../trace'
import isError from '../lib/is-error'
import { getProjectDir } from '../lib/get-project-dir'
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-info.ts
Expand Up @@ -6,7 +6,7 @@ import chalk from 'next/dist/compiled/chalk'
import arg from 'next/dist/compiled/arg/index.js'
import fetch from 'next/dist/compiled/node-fetch'
import { printAndExit } from '../server/lib/utils'
import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import isError from '../lib/is-error'

const nextInfo: cliCommand = async (argv) => {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-lint.ts
Expand Up @@ -4,7 +4,7 @@ import arg from 'next/dist/compiled/arg/index.js'
import { join } from 'path'
import chalk from 'next/dist/compiled/chalk'

import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import { ESLINT_DEFAULT_DIRS } from '../lib/constants'
import { runLintCheck } from '../lib/eslint/runLintCheck'
import { printAndExit } from '../server/lib/utils'
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-start.ts
Expand Up @@ -3,10 +3,10 @@
import arg from 'next/dist/compiled/arg/index.js'
import { startServer } from '../server/lib/start-server'
import { printAndExit } from '../server/lib/utils'
import { cliCommand } from '../bin/next'
import * as Log from '../build/output/log'
import isError from '../lib/is-error'
import { getProjectDir } from '../lib/get-project-dir'
import { cliCommand } from '../lib/commands'

const nextStart: cliCommand = (argv) => {
const validArgs: arg.Spec = {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/cli/next-telemetry.ts
Expand Up @@ -2,7 +2,7 @@
import chalk from 'next/dist/compiled/chalk'
import arg from 'next/dist/compiled/arg/index.js'
import { printAndExit } from '../server/lib/utils'
import { cliCommand } from '../bin/next'
import { cliCommand } from '../lib/commands'
import { Telemetry } from '../telemetry/storage'
import isError from '../lib/is-error'

Expand Down
12 changes: 12 additions & 0 deletions packages/next/lib/commands.ts
@@ -0,0 +1,12 @@
export type cliCommand = (argv?: string[]) => void

export const commands: { [command: string]: () => Promise<cliCommand> } = {
build: () => Promise.resolve(require('../cli/next-build').nextBuild),
start: () => Promise.resolve(require('../cli/next-start').nextStart),
export: () => Promise.resolve(require('../cli/next-export').nextExport),
dev: () => Promise.resolve(require('../cli/next-dev').nextDev),
lint: () => Promise.resolve(require('../cli/next-lint').nextLint),
telemetry: () =>
Promise.resolve(require('../cli/next-telemetry').nextTelemetry),
info: () => Promise.resolve(require('../cli/next-info').nextInfo),
}
2 changes: 1 addition & 1 deletion packages/next/lib/get-project-dir.ts
@@ -1,6 +1,6 @@
import fs from 'fs'
import path from 'path'
import { commands } from '../bin/next'
import { commands } from './commands'
import * as Log from '../build/output/log'
import { detectTypo } from './detect-typo'

Expand Down
5 changes: 5 additions & 0 deletions test/unit/get-project-dir.test.ts
@@ -0,0 +1,5 @@
describe('get-project-dir', () => {
it('should not start dev server on require', async () => {
require('next/dist/lib/get-project-dir')
})
})