mirror of
https://github.com/fluencelabs/aqua-vscode
synced 2025-04-25 08:32:15 +00:00
update imports order (#27)
This commit is contained in:
parent
16701cf166
commit
9e3ef257a7
@ -49,16 +49,13 @@ export async function compileAqua(
|
|||||||
const uri = textDocument.uri.replace('file://', '');
|
const uri = textDocument.uri.replace('file://', '');
|
||||||
|
|
||||||
let imports: string[] = [];
|
let imports: string[] = [];
|
||||||
|
|
||||||
const nodeModulesPaths = folders.map((f) => findNearestNodeModules(textDocument.uri, f.uri)).filter(notEmpty);
|
|
||||||
imports = imports.concat(nodeModulesPaths);
|
|
||||||
|
|
||||||
const openFolders = folders.map((f) => f.uri.replace('file://', ''));
|
const openFolders = folders.map((f) => f.uri.replace('file://', ''));
|
||||||
|
|
||||||
// add all workspace folders to imports
|
// add all workspace folders to imports
|
||||||
|
// 1. open folders
|
||||||
imports = imports.concat(openFolders);
|
imports = imports.concat(openFolders);
|
||||||
imports = imports.concat(openFolders.map((f) => Path.join(f, '/node_modules')));
|
|
||||||
|
|
||||||
|
// 2. imports from settings
|
||||||
if (settings.imports && Array.isArray(settings.imports)) {
|
if (settings.imports && Array.isArray(settings.imports)) {
|
||||||
const validatedImports: string[] = settings.imports.filter((s) => {
|
const validatedImports: string[] = settings.imports.filter((s) => {
|
||||||
if (typeof s != 'string') {
|
if (typeof s != 'string') {
|
||||||
@ -87,10 +84,18 @@ export async function compileAqua(
|
|||||||
imports = imports.concat(absoluteImports.map((s) => Path.join(s, '/node_modules')));
|
imports = imports.concat(absoluteImports.map((s) => Path.join(s, '/node_modules')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 3. node_modules in open folders
|
||||||
|
imports = imports.concat(openFolders.map((f) => Path.join(f, '/node_modules')));
|
||||||
|
|
||||||
|
// 4. path to aqua library
|
||||||
if (require.main) {
|
if (require.main) {
|
||||||
imports = imports.concat(require.main.paths);
|
imports = imports.concat(require.main.paths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 5. node_modules from root to open folders
|
||||||
|
const nodeModulesPaths = folders.map((f) => findNearestNodeModules(textDocument.uri, f.uri)).filter(notEmpty);
|
||||||
|
imports = imports.concat(nodeModulesPaths);
|
||||||
|
|
||||||
// compile aqua and get possible errors
|
// compile aqua and get possible errors
|
||||||
const result = await AquaLSP.compile(uri, imports);
|
const result = await AquaLSP.compile(uri, imports);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user