chore: Suggest npm ci instead of npm install

This commit is contained in:
Hemachandar
2026-03-24 15:59:04 +05:30
parent d4f7d51df8
commit 2ec6b7af85
12 changed files with 86 additions and 86 deletions
+21 -21
View File
@@ -21,14 +21,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist/analog',
'startCommand' => 'bash helpers/analog/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist/analog/public',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.html'
@@ -47,14 +47,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist/angular',
'startCommand' => 'bash helpers/angular/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist/angular/browser',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.csr.html'
@@ -73,14 +73,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './.next',
'startCommand' => 'bash helpers/next-js/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './out',
'startCommand' => 'bash helpers/server.sh',
]
@@ -96,7 +96,7 @@ return [
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.html'
@@ -115,14 +115,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './.output',
'startCommand' => 'bash helpers/nuxt/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run generate',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './output/public',
'startCommand' => 'bash helpers/server.sh',
]
@@ -138,7 +138,7 @@ return [
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.html'
@@ -157,14 +157,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './build',
'startCommand' => 'bash helpers/sveltekit/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './build',
'startCommand' => 'bash helpers/server.sh',
]
@@ -182,14 +182,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/astro/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
]
@@ -207,14 +207,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './.output',
'startCommand' => 'bash helpers/tanstack-start/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist/client',
'startCommand' => 'bash helpers/server.sh',
]
@@ -232,14 +232,14 @@ return [
'ssr' => [
'key' => 'ssr',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './build',
'startCommand' => 'bash helpers/remix/server.sh',
],
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './build/client',
'startCommand' => 'bash helpers/server.sh',
]
@@ -255,7 +255,7 @@ return [
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.html'
@@ -289,7 +289,7 @@ return [
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
'fallbackFile' => 'index.html'
@@ -306,7 +306,7 @@ return [
'static' => [
'key' => 'static',
'buildCommand' => 'npm run build',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'outputDirectory' => './dist',
'startCommand' => 'bash helpers/server.sh',
],
+39 -39
View File
@@ -62,7 +62,7 @@ return [
'timeout' => 15,
'useCases' => [FunctionUseCases::STARTER],
'runtimes' => [
...getRuntimes($templateRuntimes['NODE'], 'npm install', 'src/main.js', 'node/starter', $allowList),
...getRuntimes($templateRuntimes['NODE'], 'npm ci', 'src/main.js', 'node/starter', $allowList),
...getRuntimes(
$templateRuntimes['PYTHON'],
'pip install -r requirements.txt',
@@ -105,7 +105,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/query-upstash-vector',
$allowList
@@ -151,7 +151,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/query-redis-labs',
$allowList
@@ -196,7 +196,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/query-neo4j-auradb',
$allowList
@@ -250,7 +250,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/query-mongo-atlas',
$allowList
@@ -289,7 +289,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/query-neon-postgres',
$allowList
@@ -358,7 +358,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/prompt-chatgpt',
$allowList
@@ -424,7 +424,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/discord-command-bot',
$allowList
@@ -491,7 +491,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/analyze-with-perspectiveapi',
$allowList
@@ -529,7 +529,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/censor-with-redact',
$allowList
@@ -578,7 +578,7 @@ return [
'timeout' => 15,
'useCases' => [FunctionUseCases::UTILITIES],
'runtimes' => [
...getRuntimes($templateRuntimes['NODE'], 'npm install', 'src/main.js', 'node/generate-pdf', $allowList)
...getRuntimes($templateRuntimes['NODE'], 'npm ci', 'src/main.js', 'node/generate-pdf', $allowList)
],
'instructions' => 'For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/generate-pdf">file</a>.',
'vcsProvider' => 'github',
@@ -603,7 +603,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/github-issue-bot',
$allowList
@@ -648,7 +648,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/url-shortener',
$allowList
@@ -701,7 +701,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/sync-with-algolia',
$allowList
@@ -786,7 +786,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/sync-with-meilisearch',
$allowList
@@ -885,7 +885,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/whatsapp-with-vonage',
$allowList
@@ -978,7 +978,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/push-notification-with-fcm',
$allowList
@@ -1036,7 +1036,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/email-contact-form',
$allowList
@@ -1123,7 +1123,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/subscriptions-with-stripe',
$allowList
@@ -1166,7 +1166,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/payments-with-stripe',
$allowList
@@ -1225,7 +1225,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/text-generation-with-huggingface',
$allowList
@@ -1261,7 +1261,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/language-translation-with-huggingface',
$allowList
@@ -1297,7 +1297,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/image-classification-with-huggingface',
$allowList
@@ -1357,7 +1357,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/object-detection-with-huggingface',
$allowList
@@ -1417,7 +1417,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/speech-recognition-with-huggingface',
$allowList
@@ -1480,7 +1480,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/text-to-speech-with-huggingface',
$allowList
@@ -1540,7 +1540,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/generate-with-replicate',
$allowList
@@ -1577,7 +1577,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/generate-with-together-ai',
$allowList
@@ -1621,7 +1621,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/chat-with-perplexity-ai',
$allowList
@@ -1664,7 +1664,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/generate-with-replicate',
$allowList
@@ -1701,7 +1701,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/sync-with-pinecone',
$allowList
@@ -1766,7 +1766,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/rag-with-langchain',
$allowList
@@ -1831,7 +1831,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/speak-with-elevenlabs',
$allowList
@@ -1888,7 +1888,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/speak-with-lmnt',
$allowList
@@ -1931,7 +1931,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/chat-with-anyscale',
$allowList
@@ -1974,7 +1974,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install && npm run setup',
'npm ci && npm run setup',
'src/main.js',
'node/music-generation-with-huggingface',
$allowList
@@ -2018,7 +2018,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/generate-with-fal-ai',
$allowList
@@ -2055,7 +2055,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/subscriptions-with-lemon-squeezy',
$allowList
@@ -2112,7 +2112,7 @@ return [
'runtimes' => [
...getRuntimes(
$templateRuntimes['NODE'],
'npm install',
'npm ci',
'src/main.js',
'node/payments-with-lemon-squeezy',
$allowList
+15 -15
View File
@@ -48,7 +48,7 @@ const TEMPLATE_FRAMEWORKS = [
'SVELTEKIT' => [
'key' => 'sveltekit',
'name' => 'SvelteKit',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './build',
'buildRuntime' => 'node-22',
@@ -58,7 +58,7 @@ const TEMPLATE_FRAMEWORKS = [
'NEXTJS' => [
'key' => 'nextjs',
'name' => 'Next.js',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './.next',
'buildRuntime' => 'node-22',
@@ -68,7 +68,7 @@ const TEMPLATE_FRAMEWORKS = [
'NUXT' => [
'key' => 'nuxt',
'name' => 'Nuxt',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './.output',
'buildRuntime' => 'node-22',
@@ -78,7 +78,7 @@ const TEMPLATE_FRAMEWORKS = [
'REMIX' => [
'key' => 'remix',
'name' => 'Remix',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './build',
'buildRuntime' => 'node-22',
@@ -88,7 +88,7 @@ const TEMPLATE_FRAMEWORKS = [
'ASTRO' => [
'key' => 'astro',
'name' => 'Astro',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './dist',
'buildRuntime' => 'node-22',
@@ -108,7 +108,7 @@ const TEMPLATE_FRAMEWORKS = [
'VITE' => [
'key' => 'vite',
'name' => 'Vite',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -117,7 +117,7 @@ const TEMPLATE_FRAMEWORKS = [
'REACT' => [
'key' => 'react',
'name' => 'React',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -127,7 +127,7 @@ const TEMPLATE_FRAMEWORKS = [
'REACT_NATIVE' => [
'key' => 'react-native',
'name' => 'React Native',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -137,7 +137,7 @@ const TEMPLATE_FRAMEWORKS = [
'TANSTACK_START' => [
'key' => 'tanstack-start',
'name' => 'TanStack Start',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './dist',
'buildRuntime' => 'node-22',
@@ -147,7 +147,7 @@ const TEMPLATE_FRAMEWORKS = [
'ANGULAR' => [
'key' => 'angular',
'name' => 'Angular',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -157,7 +157,7 @@ const TEMPLATE_FRAMEWORKS = [
'ANALOG' => [
'key' => 'analog',
'name' => 'Analog',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'ssr',
@@ -166,7 +166,7 @@ const TEMPLATE_FRAMEWORKS = [
'VUE' => [
'key' => 'vue',
'name' => 'Vue.js',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -185,7 +185,7 @@ const TEMPLATE_FRAMEWORKS = [
'LYNX' => [
'key' => 'lynx',
'name' => 'Lynx',
'installCommand' => 'npm install && cd web && npm install && cd ..',
'installCommand' => 'npm ci && cd web && npm ci && cd ..',
'buildCommand' => 'npm run build && cd web && npm run build && cd ..',
'buildRuntime' => 'node-22',
'adapter' => 'static',
@@ -276,7 +276,7 @@ return [
getFramework('VUE', [
'providerRootDirectory' => './vue/vuepress',
'outputDirectory' => '404.html',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './src/.vuepress/dist',
]),
@@ -299,7 +299,7 @@ return [
getFramework('REACT', [
'providerRootDirectory' => './react/docusaurus',
'outputDirectory' => '404.html',
'installCommand' => 'npm install',
'installCommand' => 'npm ci',
'buildCommand' => 'npm run build',
'outputDirectory' => './build',
]),
@@ -21,7 +21,7 @@ class DetectionFramework extends Detection
'type' => self::TYPE_STRING,
'description' => 'Site Install Command',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('buildCommand', [
'type' => self::TYPE_STRING,
@@ -27,7 +27,7 @@ class DetectionRuntime extends Detection
'type' => self::TYPE_STRING,
'description' => 'Function install and build commands',
'default' => '',
'example' => 'npm install && npm run build',
'example' => 'npm ci && npm run build',
]);
}
@@ -39,7 +39,7 @@ class Framework extends Model
'type' => Response::MODEL_FRAMEWORK_ADAPTER,
'description' => 'List of supported adapters.',
'default' => '',
'example' => [[ 'key' => 'static', 'buildRuntime' => 'node-22', 'buildCommand' => 'npm run build', 'installCommand' => 'npm install', 'outputDirectory' => './dist' ]],
'example' => [[ 'key' => 'static', 'buildRuntime' => 'node-22', 'buildCommand' => 'npm run build', 'installCommand' => 'npm ci', 'outputDirectory' => './dist' ]],
'array' => true,
])
;
@@ -20,7 +20,7 @@ class FrameworkAdapter extends Model
'type' => self::TYPE_STRING,
'description' => 'Default command to download dependencies.',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('buildCommand', [
'type' => self::TYPE_STRING,
+1 -1
View File
@@ -144,7 +144,7 @@ class Func extends Model
'type' => self::TYPE_STRING,
'description' => 'The build command used to build the deployment.',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('version', [
'type' => self::TYPE_STRING,
+1 -1
View File
@@ -123,7 +123,7 @@ class Site extends Model
'type' => self::TYPE_STRING,
'description' => 'The install command used to install the site dependencies.',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('buildCommand', [
'type' => self::TYPE_STRING,
@@ -26,7 +26,7 @@ class TemplateFramework extends Model
'type' => self::TYPE_STRING,
'description' => 'The install command used to install the dependencies.',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('buildCommand', [
'type' => self::TYPE_STRING,
@@ -20,7 +20,7 @@ class TemplateRuntime extends Model
'type' => self::TYPE_STRING,
'description' => 'The build command used to build the deployment.',
'default' => '',
'example' => 'npm install',
'example' => 'npm ci',
])
->addRule('entrypoint', [
'type' => self::TYPE_STRING,
@@ -180,7 +180,7 @@ class VCSConsoleClientTest extends Scope
$this->assertEquals(200, $framework['headers']['status-code']);
$this->assertEquals($framework['body']['framework'], 'sveltekit');
$this->assertEquals($framework['body']['installCommand'], 'npm install');
$this->assertEquals($framework['body']['installCommand'], 'npm ci');
$this->assertEquals($framework['body']['buildCommand'], 'npm run build');
$this->assertEquals($framework['body']['outputDirectory'], './build');
@@ -195,7 +195,7 @@ class VCSConsoleClientTest extends Scope
$this->assertEquals(200, $framework['headers']['status-code']);
$this->assertEquals($framework['body']['framework'], 'astro');
$this->assertEquals($framework['body']['installCommand'], 'npm install');
$this->assertEquals($framework['body']['installCommand'], 'npm ci');
$this->assertEquals($framework['body']['buildCommand'], 'npm run build');
$this->assertEquals($framework['body']['outputDirectory'], './dist');
@@ -210,7 +210,7 @@ class VCSConsoleClientTest extends Scope
$this->assertEquals(200, $framework['headers']['status-code']);
$this->assertEquals($framework['body']['framework'], 'remix');
$this->assertEquals($framework['body']['installCommand'], 'npm install');
$this->assertEquals($framework['body']['installCommand'], 'npm ci');
$this->assertEquals($framework['body']['buildCommand'], 'npm run build');
$this->assertEquals($framework['body']['outputDirectory'], './build');