significa / significa-start Goto Github PK
View Code? Open in Web Editor NEWOpinionated Significa's bootstrap CLI to start ReactJS projects based on Create React App, NextJS or GatsbyJS.
License: MIT License
Opinionated Significa's bootstrap CLI to start ReactJS projects based on Create React App, NextJS or GatsbyJS.
License: MIT License
Only when ready
In order to automate the process of new releases, it needs the Semantic Release to be configurated properly for every new merge in master the tool decide which is proper version and publish it on Npm.
Also, it would be a good idea to move the CI scripts to Github Actions.
Currently, there is only one way to import SVGs, which converts to a React Component. We've faced some issues while trying to import as path, like a regular file. So the idea here is to improve how we handle and make sure that all kind of assets is working fine:
For SVGS files: https://www.npmjs.com/package/@svgr/webpack
import starUrl, { ReactComponent as Star } from './star.svg'
const App = () => (
<div>
<img src={starUrl} alt="star" />
<Star />
</div>
)
For images:
https://www.npmjs.com/package/next-images#usage
All the sort-exports/sort-exports need to be in alphabetical order, maybe remove this option because sometimes we lost a lot time on this.
It would be nice to have options to choose our stack.
Let's suppose the user write the command like this:
npx @significa/start nextjs hello-world
It may be right for some of them since nextjs
spelling is common and they will receive an Error:
βΊ Error: Expected nextjs to be one of: cra, gatsby, next
So they have to read the documentation to know exactly the stack's name.
With options, we could increase that experience:
Giving options, we also delivered to users new future stacks without the necessity to be up to date with the documentation. If some stack exists on options you can you, if don't you can't.
What do you guys think about it? π€
The component we're using is currently being updated to allow the use of getStaticProps, etc.
We should keep an eye on it and update as soon as possible
master
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can resolve this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
The npm token configured in the NPM_TOKEN
environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/
.
If you are using Two-Factor Authentication, make configure the auth-only
level is supported. semantic-release cannot publish with the default auth-and-writes
level.
Please make sure to set the NPM_TOKEN
environment variable in your CI with the exact value of the npm token.
Good luck with your project β¨
Your semantic-release bot π¦π
Considering the following topics:
This will give a linting error, preventing the user to push to remote
Husky is not adding git hooks
Also, add back npm run test
to Husky configuration
Some rules, such as @typescript-eslint/no-var-requires
should be different between React projects and RN projects
We add a config on NextJs to deal with images, you can see here #41
But there is no loader for several IMG types config on Gatsby
Add the same config to Gatsby
import * as S from './styled'
import * as I from './types'
@marcelines and I talked about it, and we think that it could be a better way to deal with, improving legibility.
Imagine if you need to import another type on this file:
import * as S from './styled'
import * as I from './types'
import * as T from '../Card/types' //??????
The code below is from a 'type' file, and it has import * as I ...
import * as I from '../../types/orders'
export type OrderTitle = {
id: string,
insertedAt: string,
status: I.OrderStatus
}
export type OrderSummary = {
total: number,
totalBeforeVat: number,
totalVat: number,
packagingPostageTotal: number
}
Same problem. Imagine if you need to import another type on this file:
import * as I from '../../types/orders'
import * as T from '../../types/categories' // ??????
export type OrderTitle = {
id: string,
insertedAt: string,
status: I.OrderStatus
}
export type OrderSummary = {
total: number,
totalBeforeVat: number,
totalVat: number,
packagingPostageTotal: number
}
We can do like this:
import * as Styled from './styled'
import * as CardStyled from '../Card/styled'
import * as Types from './types'
import * as CardTypes from '../Card/types'
import * as OrderTypes from '../../types/orders'
import * as CategoriesTypes from '../../types/categories'
export type OrderTitle = {
id: string,
insertedAt: string,
status: OrderTypes.OrderStatus
}
export type OrderSummary = {
total: number,
totalBeforeVat: number,
totalVat: number,
packagingPostageTotal: number
}
or:
import { StyledGood } from './styled'
import { StyledCard, StyledButton } from '../Card/styled'
import { GoodType, PropsType } from './types'
import { CardType } from '../Card/types'
import { OrderType } from '../../types/orders'
import { CategoriesType } from '../../types/categories'
export type OrderTitle = {
id: string,
insertedAt: string,
status: CategoriesType
}
export type OrderSummary = {
total: number,
totalBeforeVat: number,
totalVat: number,
packagingPostageTotal: number
}
After running the starter, the newly created project is lacking the .gitgnore
file. This way, starter users will upload node_modules
on their first commit.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.