mirror of
				https://github.com/slint-ui/slint.git
				synced 2025-11-04 05:34:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright © SixtyFPS GmbH <info@sixtyfps.io>
 | 
						|
// SPDX-License-Identifier: (GPL-3.0-only OR LicenseRef-SixtyFPS-commercial)
 | 
						|
 | 
						|
import { URL, pathToFileURL } from 'url';
 | 
						|
 | 
						|
const extensionsRegex = /\.(60|slint)$/;
 | 
						|
const baseURL = pathToFileURL(`${process.cwd()}/`).href;
 | 
						|
 | 
						|
export function resolve(specifier, context, defaultResolve) {
 | 
						|
 | 
						|
    const { parentURL = baseURL } = context;
 | 
						|
 | 
						|
    if (extensionsRegex.test(specifier)) {
 | 
						|
        return { url: new URL(specifier, parentURL).href };
 | 
						|
    }
 | 
						|
 | 
						|
    return defaultResolve(specifier, context, defaultResolve);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
export function getFormat(url, context, defaultGetFormat) {
 | 
						|
    if (extensionsRegex.test(url)) {
 | 
						|
        return {
 | 
						|
            format: 'module'
 | 
						|
        };
 | 
						|
    }
 | 
						|
    return defaultGetFormat(url, context, defaultGetFormat);
 | 
						|
}
 | 
						|
 | 
						|
export function transformSource(source, context, defaultTransformSource) {
 | 
						|
    const { url, format } = context;
 | 
						|
 | 
						|
    if (extensionsRegex.test(url)) {
 | 
						|
        console.log(`This is where one can compile ${url}`)
 | 
						|
        return {
 | 
						|
            source: "console.log('Hey'); export function foo(x) { return x + 55 }"
 | 
						|
        };
 | 
						|
    }
 | 
						|
 | 
						|
    // Let Node.js handle all other sources.
 | 
						|
    return defaultTransformSource(source, context, defaultTransformSource);
 | 
						|
}
 |