Skip to content
This repository has been archived by the owner on Jul 19, 2023. It is now read-only.

API refresh #1

Closed
10 tasks done
mikabytes opened this issue Apr 14, 2021 · 3 comments
Closed
10 tasks done

API refresh #1

mikabytes opened this issue Apr 14, 2021 · 3 comments
Projects
Milestone

Comments

@mikabytes
Copy link
Collaborator

mikabytes commented Apr 14, 2021

  • Concept -> Stream
  • Component -> Element too much overlap with native Element, HTMLElement. Besides, keeping similarity to "web components" is desirable.
  • Confluence -> Merge (it's shorter to write, and well-known word)
  • Remove deprecated functions
  • Add decorators for Stream and Nano (for future debugging insight implementation)
  • New folder hierarchy: explicit folders for element/nano/stream/page. Remove artificial constraint of namespace/module. This will allow user to form their own structure.
  • Disallow arrays to be used as values in 'connect'
  • Deprecate objects used as values this will still be needed, so we can't remove it
  • Merges that return undefined to be treated as undefined (i.e. there is no definition of data). Remove constraints parameter
  • Navigate to use id when available, and fallback to pageId
@mikabytes mikabytes added this to To do in Core Apr 14, 2021
@mikabytes mikabytes changed the title test API refresh Apr 14, 2021
@mikabytes mikabytes added this to the 1.0 milestone Apr 14, 2021
mikabytes added a commit that referenced this issue Apr 24, 2021
@mikabytes
Copy link
Collaborator Author

mikabytes commented Apr 26, 2021

Related to folder hierarchy, we might want to rename the src folder. According to some resources src communicates that this is code that needs to be compiled before it can be used. This is most definitely not the case with Tiden apps as we do not compile code.

In NodeJS lib communicates code that is ready to be used by an external party. While this is more appropriate, it's not really an ideal fit either. Tiden nanos and streams may be exported, but in the normal case they are an integral part of the app that we're building.

We could adopt the convention set by rails. This is currently my favorite. The "app" building blocks goes in a folder called... app. Simple enough, very clear.

If we decide to go this way, then the root folder structure might look something like this:

static/
   ... static files
lib/
  ... any helpers or general purpose libraries goes here
app/
  streams/ (these core-level streams are provided by stdlib #7 )
    url.js
    audio.js
    navigator.js
  someModule/
    streams/
      ...
     nanos/
       ...
     pages/
        ...

@mikabytes
Copy link
Collaborator Author

mikabytes commented Apr 26, 2021

We might want to consider renaming Element to CustomElement not to conflict with native web Element. Strike that, "Web Components" are a good feel. Let's keep the name Components.

@mikabytes
Copy link
Collaborator Author

Merges that return undefined was fixed in f0a6c1c

Core automation moved this from To do to Done Sep 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Core
Done
Development

No branches or pull requests

1 participant