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

Change directory structures #227

Open
romandev opened this issue Jan 4, 2018 · 2 comments
Open

Change directory structures #227

romandev opened this issue Jan 4, 2018 · 2 comments

Comments

@romandev
Copy link
Member

romandev commented Jan 4, 2018

Top-level Directory Structure

  • //bootstrap (Auto-setup build environment tools)
  • //binding (Language binding specific codes)
  • //core (Language binding independent codes)
  • //docs (Documents)
  • //examples (Examples)
  • //third_party (Import other projects)

Core Directory Structure

  • //core/ (This is a front-end)
    • //core/base (Very basic common codes such as file reader)
    • //core/parser (WebIDL parser; This makes AST type map)
    • //core/constructor (Construct IDL definition objects using AST map)
    • //core/generator (Render native codes using intermediate result)
    • //core/test

Binding Directory Structure

  • //binding (This is a back-end)
    • //binding/c
    • //binding/cpp
      • //binding/cpp/generator (Render native codes using intermediate result)
        • //binding/cpp/generator/template
      • //binding/cpp/something
      • //binding/cpp/test
    • //binding/csharp
    • //binding/java
    • //binding/go
    • //binding/something
@yjaeseok
Copy link
Contributor

yjaeseok commented Jan 4, 2018

lgtm

@nadongguri
Copy link
Contributor

I'd like to add some suggestions on that.

  • source code is in src folder, I am totally fine with the folder tree as above, but separate source code to other folders like template code and documents looks be well organised.
  • common modules are placed in base or common folder. The description says base folder is in the core folder, would it be possible to use some modules from core or bindings?
  • Based on above suggestions, it can be like
    src
    ---> base
    ---> core
    ---> binding
    ---> include // interface between core and binding
  • Also, let's consider the other folders such as examples, template, test and lint_rules. I guess creating like validation folder then moving test and lint_rules to it.
  • set the import path in order to define the paths and baseUrl properties in the compilerOptions section in the tsconfig.json file.
  • Let's consider core and binding cannot be import each other. Is it possible to use interface feature between them?

PS. minor typo, codes (x) -> code (O).

romandev added a commit that referenced this issue Feb 26, 2018
They will be removed once finishing refactoring core/.

ISSUE=#227
romandev added a commit that referenced this issue Feb 26, 2018
They will be removed once finishing refactoring core/.

ISSUE=#227
romandev pushed a commit that referenced this issue Feb 27, 2018
Changed functions in file.ts as class based on rules for modules.

ISSUE=#227
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants