summaryrefslogtreecommitdiff
path: root/src/cli.ts
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@matthewphillips.info> 2021-03-19 17:07:45 -0400
committerGravatar GitHub <noreply@github.com> 2021-03-19 17:07:45 -0400
commit17c3c98f07628b43b941b84831e8e1f9bcd7ca46 (patch)
tree2e2b3c7d6bd67ebaabe6636ae6867ad368ac6c3a /src/cli.ts
parent8ebc077cb0d9f50aae22d2651bd5ef13fe4641d3 (diff)
downloadastro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.gz
astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.zst
astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.zip
Initial tests set up (#10)
* Begin debugging * Initial tests set up This adds tests using uvu (we can switch if people want) and restructures things a bit so that it's easier to test. Like in snowpack you set up a little project. In our tests you can say: ```js const result = await runtime.load('/blog/hello-world') ``` And analyze the result. I included a `test-helpers.js` which has a function that will turn HTML into a cheerio instance, for inspecting the result HTML. * Add CI * Remove extra console logs * Formatting
Diffstat (limited to 'src/cli.ts')
-rw-r--r--src/cli.ts23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/cli.ts b/src/cli.ts
index 62e50f3eb..0a5c9612d 100644
--- a/src/cli.ts
+++ b/src/cli.ts
@@ -1,10 +1,10 @@
import type { AstroConfig } from './@types/astro';
import * as colors from 'kleur/colors';
-import { join as pathJoin, resolve as pathResolve } from 'path';
-import { existsSync, promises as fsPromises } from 'fs';
+import { promises as fsPromises } from 'fs';
import yargs from 'yargs-parser';
+import { loadConfig } from './config.js';
import generate from './generate.js';
import devServer from './dev.js';
@@ -49,25 +49,6 @@ async function printVersion() {
console.error(pkg.version);
}
-async function loadConfig(rawRoot: string | undefined): Promise<AstroConfig | undefined> {
- if (typeof rawRoot === 'undefined') {
- rawRoot = process.cwd();
- }
-
- const root = pathResolve(rawRoot);
- const fileProtocolRoot = `file://${root}/`;
- const astroConfigPath = pathJoin(root, 'astro.config.mjs');
-
- if (!existsSync(astroConfigPath)) {
- return undefined;
- }
-
- const astroConfig: AstroConfig = (await import(astroConfigPath)).default;
- astroConfig.projectRoot = new URL(astroConfig.projectRoot + '/', fileProtocolRoot);
- astroConfig.hmxRoot = new URL(astroConfig.hmxRoot + '/', fileProtocolRoot);
- return astroConfig;
-}
-
async function runCommand(rawRoot: string, cmd: (a: AstroConfig) => Promise<void>) {
const astroConfig = await loadConfig(rawRoot);
if (typeof astroConfig === 'undefined') {