diff options
author | 2021-03-19 17:07:45 -0400 | |
---|---|---|
committer | 2021-03-19 17:07:45 -0400 | |
commit | 17c3c98f07628b43b941b84831e8e1f9bcd7ca46 (patch) | |
tree | 2e2b3c7d6bd67ebaabe6636ae6867ad368ac6c3a /src/cli.ts | |
parent | 8ebc077cb0d9f50aae22d2651bd5ef13fe4641d3 (diff) | |
download | astro-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.ts | 23 |
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') { |