gematik / codfsh

codfsh is a VS Code Extension to support compilation and validation of FHIR profile definitions. Short Hand files (.fsh) can be compiled and validated easily with Sushi and HAPI validator
Other
6 stars 1 forks source link

wrong folder for sushi #16

Closed SvenSommer closed 1 year ago

SvenSommer commented 1 year ago

By Vadim Peretokin:

Running sushi didn't work out of the box for me, it picked the wrong folder to run in:

sushi /Users/vadim.peretokin/Programs/fhir-ig/node_modules/fsh-sushi/dist/utils/init-project/ info Running SUSHI v2.10.1 (implements FHIR Shorthand specification v2.0.0)

info Arguments:

info /Users/vadim.peretokin/Programs/fhir-ig/node_modules/fsh-sushi/dist/utils/init-project

(node:90581) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) (node:90581) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency

error

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

SUSHI has adopted a new folder structure for FSH tanks (a.k.a. SUSHI projects). Support for other folder structures is NO LONGER SUPPORTED. To migrate to the new folder structure, make the following changes:

NOTE: After you make these changes, the default output folder for SUSHI will change to ./fsh-generated.

For detailed migration instructions, see: https://fshschool.org/docs/sushi/migration/

error Migration to current SUSHI project structure is required. See above error message for details. Exiting.

child process exited with code 1

It should have been sushi /Users/vadim.peretokin/Programs/fhir-ig

SvenSommer commented 1 year ago

@vadi2

I've implemented improvements to the extension to better handle and locate the sushi-config.yaml file in the project structure.

Previously, the extension searched recursively through all subdirectories of your workspace to find the sushi-config.yaml file. However, this approach could potentially cause performance issues in large or complex directory structures.

Based on the SUSHI project structures recommended in the SUSHI documentation, I've optimised the search function. The sushi-config.yaml file is usually located at the root of your project or within the input/fsh/ subdirectory.

With the recent update, the extension will now limit its search to two levels down from the root workspace folder. This means that it will check the root directory and the immediate subdirectories for the sushi-config.yaml file, but it will not search deeper levels.

This change ensures efficient performance even for larger projects, without compromising the reliability of finding your SUSHI configurations.

I kindly ask you to test the updated extension (with version 1.0.5 or higher) with your project and let me know if this solution addresses your issue. Your feedback is highly valuable to me. Thank you!

vadi2 commented 1 year ago

Works well now, thank you!

SvenSommer commented 1 year ago

Thanks for the feedback