GithubHelp home page GithubHelp logo

nestdotland / nest.land Goto Github PK

View Code? Open in Web Editor NEW
369.0 14.0 22.0 7.52 MB

๐Ÿฆ• The Nest Website

Home Page: https://nest.land

License: MIT License

JavaScript 14.72% HTML 3.17% Vue 78.63% Sass 3.48%
package nestland deno arweave permaweb package-registry module-registry

nest.land's People

Contributors

dependabot[bot] avatar g-plane avatar hermitsun avatar ibakshay avatar jasonappah avatar justablob avatar keimeno avatar littledivy avatar martonlederer avatar maximousblk avatar michael-spengler avatar steelalloy avatar t8 avatar windchime-yk avatar zorbyte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nest.land's Issues

[FEATURE] Reserved package names for testing purposes

Is your feature request related to a problem? If so, please describe.
If someone in the team wants to publish a package for testing purposes, everyone will see it in the gallery.
This is not the same issue as #65, here we want to publish a package and not test the publishing feature.

Describe the solution you'd like
Reserved package names like eggs-testing-package-56 or random string that nobody else want to use.
They won't show up in the gallery, they are still accessible trough a link but not directly visible to the public.

Describe alternatives you've considered
Using random string but it pollutes the gallery.

Including some files with /* result in `[ERROR:publish] Something broke... ` + images don't show up

Hi, just published my first module https://nest.land/package/remove-forever

My config file is the following:

{
  "name": "remove-forever",
  "description": "Data erasure solution for files on deno ๐Ÿฆ•",
  "stable": true,
  "version": "0.1.4",
  "files": [
    "README.md",
    "images/*",
    "mod.ts",
    "cli.ts",
    "lib/*"
  ]
}

Adding images/* throws an error but not with lib/*.
image

Github: https://github.com/oganexon/deno-remove-forever

And images don't show on the nest page but I believe it is being worked on

[EDIT]: That's strange: images/cli.gif fails, not with images/logo.png but fails with images/* when there is only images/logo.png inside

Looks to be an issue on the server side, not the CLI:

Response {
  _bodySource: ReadableStream { locked: false },
  contentType: "text/plain; charset=utf-8",
  _stream: null,
  url: "https://x.nest.land/api/piece",
  statusText: "Internal Server Error",
  status: 500,
  headers: Headers { server: nginx/1.14.0 (Ubuntu), date: Sat, 13 Jun 2020 19:34:31 GMT, content-type: text/plain; charset=utf-8, content-length: 21, connection: keep-alive, etag: W/"15-/6VXivhc2MKdLfIkLcUE47K6aH0" },
  redirected: false,
  type: "default"
}

[FEATURE] Simplify the command to install in the docs

Is your feature request related to a problem? If so, please describe.
Currently, the CLI command in the documentation consists of multiple --allow- arguments as the provided example. To make it easier for the user, it would be nice to simplify and/or shorten this command's arguments.

Describe the solution you'd like
Change the command to install nest.land's CLI to use -a

MVP 2 - Major refactors

MVP 2's design focus will be for the standardisation of technologies, modularity and service segregation.

Key Concepts and/or Goals:

  • Package CDN:
    • Support Vanilla JS with TypeScript Definitions through the X-TypeScript-Types
      header
  • API:
    • Dockerise this, setup automatic deployments to server through GitHub actions
    • Allow custom READMEs. This applies to both a custom name and location
  • Common Module:
    • Types, such as request payloads and DB data shapes. common/types
    • The import follower. common/follower
    • API library for web and possibly server side if required. common/api
  • Style Guide
    • Enforce branch naming system:
      • Create a regex for GitHub branch naming rules
      • For long term features, quick fixes or bug fixes use the following format:
        • Use feature branches named as: feature/<feature_name>
        • Use bug fix branches named as fix/<fix_name>
      • Use master for production deployments
      • Use a trunk branch, probably named in-dev
    • Enforce commit naming guidelines. See conventional commits
    • Enforce a file naming scheme
    • Create an eslint configuration
    • Use a common prettier config that is compatible with deno fmt
    • Follow the Deno style guide where applicable
  • Website:
    • Allow users to browse the file tree of a module
    • Allow users to view a user profile along with all their packages
    • Relative files in READMEs should be fixed
    • Gallery should display the eggs CLI first, followed by packages ordered by using
      the popularity of it multiplied by a randomness factor which becomes larger the
      less popular the packages are to allow them to compete (hopefully to be mixed
      with big packages and just below them). The favouritism feature for small
      packages should only be enabled when its versions and usages/requests of each
      version breaks a relatively small but reasonable threshold. This would avoid
      random "nonsense" packages from appearing at the top as well as provide incentive
      for package developers to market their packages
    • Rewrite website in TypeScript
    • Use the API library from the common modules

[FEATURE] Use previous configuration for blank inputs

Is your feature request related to a problem? If so, please describe.
Instead of forcing the user to rewrite the whole eggs.json again with the init cmd, add an option for them to use the previous configuration too.

Describe the solution you'd like
If an option is left blank in the terminal, it will be taken from the previous configuration.

Describe alternatives you've considered
N/A

Additional context
It's just better.

[BUG] Latest package version may not actually be the newest

Describe the bug
As experienced in the Mandarine.ts framework, the "latest" version appeared on the site as 1.0.1, while the actual latest version in semver format is 1.1.0.

To Reproduce
Visit Mandarine.ts on nest.land

Expected behavior
The expected behavior would be 1.1.0 appearing as the latest version on the site.

Desktop (please complete the following information):

  • nest.land Version: 0.1.0

[BUG] 504 Gateway Time-out

Describe the bug
Error 504 Gateway Time-out is thrown when running app.

To Reproduce

import { Controller, Service, GET, Session, MandarineCore } from "https://x.nest.land/[email protected]/mod.ts";

new MandarineCore().MVC().run();

Screenshots

error: Import 'https://hw2qklfshsn3muak4xezh7rwib6raehrr5i4iszwuadxzw3llskq.arweave.net/PbUFLLI8m7ZQCuXJk_42QH0QEPGPUcRLNqAHfNtrXJU/mvc-framework/mandarineMVC.ts' failed: 504 Gateway Timeout

Screen Shot 2020-06-16 at 9 20 30 PM

If applicable, add screenshots to help explain your problem.

Additional context
When running a mandarine-powered application using the mandarine imports from nest.land, the blockchain provider arweave is throwing a 504 Gateway Time-out for several modules.

[FEATURE] Fragment identifier to automatically choose version

Is your feature request related to a problem? If so, please describe.
There should be the option to choose automatically & programmatically the version from the URL. So https://nest.land/package/Mandarine.TS#1.1.0 would automatically select 1.1.0 in the select box.

Describe the solution you'd like
Just some small javascript with any type of library or framework (jquery, react, angular...) to intercept if there's a hash in the hostname and then if there is apply it to the selectbox of the versions.

Website UX and styling fixes

Checklist:

  • Make links underlined and slightly bolder.
  • Use separate pages for docs and FAQ, or integrate them both into a docs page.
    Example: Boundary-supply-FAQ-1-1160x688

CLI

The CLI should be able to speak to the database to map the data in the blockchain to a simplistic url.

[FEATURE] `eggs upgrade` to upgrade to the latest verison of eggs cli

Is your feature request related to a problem? If so, please describe.
N/A

Describe the solution you'd like

deno install --unstable --A -f -n eggs <install-path>

Notice the -f to force install the new version.

Describe alternatives you've considered
N/A

Additional context
Simply run the above command as Deno.run. Could I be assigned to this?

[BUG] Installation URL not accurate for any file other than mod.ts

Describe the bug
If a user were to use an "index" file other than mod.ts, the registry would not update this information.

To Reproduce
Publish a package to the registry that does not use mod.ts as the main script in the project root.

Expected behavior
The index file should be passed through the API to allow the frontend to fetch and set it dynamically.

Screenshots
image

Desktop (please complete the following information):

  • OS: macOS
  • nest.land Version: 0.1.0

Additional context
Blob is assigned to this as well because it involves the API.

[FEATURE] CLI test publishing

Is your feature request related to a problem? If so, please describe.
In order for users to test their packages with the CLI, they currently have to publish legitimate versions of their package to the registry. This is an issue, as it can be confusing to both the developer and the user. In addition, a test version of a package could be unstable

Describe the solution you'd like
Add support for --dev in the publish command of the CLI to publish to a development version of a package

[DISCUSSION] modular packages

In addition to the issue #67, we have to take into account another aspect.

Suppose that you want to use a small subset of a module. With the current process, you need to import everything since only mod.ts / a single file import is possible.

It's an issue because many packages won't be published here for this reason. Furthermore, it adds:

  • unnecessary long compile time
  • unnecessary huge bundle size
  • Deno packages collapsing into a black hole.

This is a little more detailed here. Think about lodash for instance, you don't want to import this huge lib but don't want either to publish a package by feature.

So the question is:
Do we keep this strategy, that is to say only one entry point;
Or do we rethink the package manager now, as long as there aren't many users ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.