Skip to content

Commit

Permalink
[ci] format
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewp authored and astrobot-houston committed Nov 3, 2022
1 parent 4af4d8f commit f20ff17
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 42 deletions.
61 changes: 33 additions & 28 deletions packages/astro/src/vite-plugin-load-fallback/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import type { AstroSettings } from '../@types/astro';
import type * as vite from 'vite';
import nodeFs from 'fs';
import npath from 'path';

import type * as vite from 'vite';
import type { AstroSettings } from '../@types/astro';

type NodeFileSystemModule = typeof nodeFs;

Expand All @@ -11,7 +10,10 @@ export interface LoadFallbackPluginParams {
settings: AstroSettings;
}

export default function loadFallbackPlugin({ fs, settings }: LoadFallbackPluginParams): vite.Plugin[] | false {
export default function loadFallbackPlugin({
fs,
settings,
}: LoadFallbackPluginParams): vite.Plugin[] | false {
// Only add this plugin if a custom fs implementation is provided.
if (!fs || fs === nodeFs) {
return false;
Expand All @@ -35,31 +37,34 @@ export default function loadFallbackPlugin({ fs, settings }: LoadFallbackPluginP
}
};

return [{
name: 'astro:load-fallback',
enforce: 'post',
resolveId(id, parent) {
if(id.startsWith('.') && parent && fs.existsSync(parent)) {
return npath.posix.join(npath.posix.dirname(parent), id);
}
return [
{
name: 'astro:load-fallback',
enforce: 'post',
resolveId(id, parent) {
if (id.startsWith('.') && parent && fs.existsSync(parent)) {
return npath.posix.join(npath.posix.dirname(parent), id);
}
},
async load(id) {
const source = await tryLoadModule(id);
return source;
},
},
async load(id) {
const source = await tryLoadModule(id);
return source;
}
}, {
name: 'astro:load-fallback-hmr',
enforce: 'pre',
handleHotUpdate(context) {
// Wrap context.read so it checks our filesystem first.
const read = context.read;
context.read = async () => {
const source = await tryLoadModule(context.file);
if(source) return source;
return read.call(context);
};
}
}];
{
name: 'astro:load-fallback-hmr',
enforce: 'pre',
handleHotUpdate(context) {
// Wrap context.read so it checks our filesystem first.
const read = context.read;
context.read = async () => {
const source = await tryLoadModule(context.file);
if (source) return source;
return read.call(context);
};
},
},
];
}

const queryRE = /\?.*$/s;
Expand Down
16 changes: 11 additions & 5 deletions packages/astro/test/units/dev/dev.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,17 @@ describe('dev container', () => {
let $ = cheerio.load(html);
expect($('body.one')).to.have.a.lengthOf(1);

fs.writeFileFromRootSync('/src/components/Header.astro', `
fs.writeFileFromRootSync(
'/src/components/Header.astro',
`
<h1>{Astro.props.title}</h1>
`);
`
);
triggerFSEvent(container, fs, '/src/components/Header.astro', 'change');

fs.writeFileFromRootSync('/src/pages/index.astro', `

fs.writeFileFromRootSync(
'/src/pages/index.astro',
`
---
import Header from '../components/Header.astro';
const name = 'Testing';
Expand All @@ -86,7 +91,8 @@ describe('dev container', () => {
<Header title={name} />
</body>
</html>
`);
`
);
triggerFSEvent(container, fs, '/src/pages/index.astro', 'change');

r = createRequestAndResponse({
Expand Down
12 changes: 3 additions & 9 deletions packages/astro/test/units/test-utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,11 @@ export function createFs(json, root) {
* @param {'change'} eventType
*/
export function triggerFSEvent(container, fs, shortPath, eventType) {
container.viteServer.watcher.emit(
eventType,
fs.getFullyResolvedPath(shortPath)
);
container.viteServer.watcher.emit(eventType, fs.getFullyResolvedPath(shortPath));

if(!fileURLToPath(container.settings.config.root).startsWith('/')) {
if (!fileURLToPath(container.settings.config.root).startsWith('/')) {
const drive = fileURLToPath(container.settings.config.root).slice(0, 2);
container.viteServer.watcher.emit(
eventType,
drive + fs.getFullyResolvedPath(shortPath)
);
container.viteServer.watcher.emit(eventType, drive + fs.getFullyResolvedPath(shortPath));
}
}

Expand Down

0 comments on commit f20ff17

Please sign in to comment.