Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solution refactor #211

Merged
merged 1 commit into from
Jun 30, 2024
Merged

Solution refactor #211

merged 1 commit into from
Jun 30, 2024

Commits on Jun 28, 2024

  1. Solution restructure

    When I started this project I knew I wanted to work towards these minimum requirements:
    
    1. Must support Windows, macOS and Linux
    2. Must support at least .NET 6 or higher
    3. Must run with as little hassle as possible for end users.
    
    I initially took a layered approach to structuring the solution, this helped me clearly understand the different components, abstractions and dependencies that will make up the app during development. Its time for a simpler structure however that's easier to understand and maintain. This restructure aims to:
    
    1. Make the solution easier to maintain by reducing separation between components and bringing more related functionality together.
    2. Make the solution easier to review by the community and easier to understand and contribute to.
    
    I plan to add documentation explaining the high level concepts and structure of the solution to help facilitate review and contribution.
    
    Some notable technical changes:
    
    - Reduced number of projects. Most of the core functionality of NetPad is now in a new NetPad.Runtime project
    - The concept of a "ScriptRuntime" is now called a "ScriptRunner" and is part of the "Execution Model"
    - Use Directory.Build.props file and C# 12 features
    - No refactoring was done to the JS app
    - Fix web version 'process' pollyfill
    - Passing --swagger flag to NetPad.Apps.App generates Swagger client code
    
    Refactoring that is also planned soon:
      - Refactoring of the JS app
      - Changing the name of the NetPad.Apps.App project and the folder containing the JS client app, currently named "App"
    tareqimbasher committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    57d650f View commit details
    Browse the repository at this point in the history