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

Proposal: Make it easier to scaffold new CanJS projects #5383

Open
matthewp opened this issue Oct 16, 2019 · 1 comment
Open

Proposal: Make it easier to scaffold new CanJS projects #5383

matthewp opened this issue Oct 16, 2019 · 1 comment

Comments

@matthewp
Copy link
Contributor

@matthewp matthewp commented Oct 16, 2019

Motivation

One point of feedback we've received in user studies is that it's not clear the best way to start a new CanJS app. In the past this has been DoneJS, but DoneJS also includes a lot of other dependencies that you might not need/use like SSR, and it also includes dependencies that require native modules that some times don't work well on Windows.

Since DoneJS was first released there are now things like npx and npm init that are more of a built-in way to do project scaffolding.

Solution

I propose a set of new starter apps for CanJS for StealJS and Webpack. These would utilize 3 newer features available to us:

  1. npm init canjs-steal-app is a convention of npm that will download and run the create-canjs-steal-app package.
  2. GitHub has a feature where a repo can be used as a template to create a new project. https://help.github.com/en/articles/creating-a-repository-from-a-template.
  3. degit is a tool that will scaffold a project from a repo. So it's like a commandline version of (2). Could be used like npx degit canjs/canjs-steal-app

2 and 3 would be the easiest to implement so we would start with those. They would lead into 1 regardless.

Eventually you'd be able to run:

npm init canjs-steal-app

And have an app.

The app should include:

  1. CanJS from the can package.
  2. An HTTP server for serving static files in development mode (webpack might not need this).
  3. A basic hello world type of page.
  4. A production build setup.

Starter Kits

I propose we have a canjs-steal-app and a canjs-webpack-app. Hopefully we could recruit people from within the community to maintain the Webpack version.

@chasenlehara chasenlehara changed the title Proposal: CanJS Project Scaffolding Proposal: Make it easier to scaffold new CanJS projects Oct 18, 2019
@frank-dspeed

This comment has been minimized.

Copy link
Contributor

@frank-dspeed frank-dspeed commented Jan 23, 2020

As you now export .mjs files you should go for rollup while even that is not needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.