- Totally reworked this package; removed must stuff and it got much simpler. It now uses Bun everywhere and works on top of
bun create
as it's very similar to the previus internal working of this project. - Removed expo, expo-pkg, rn, and ts-cjs templates. I don't use them anymore and I won't keep maintaining them anymore.
- Removed `./vscode/extensions' from all templates.
- We now use
templates
instead offlavors
.
- Fixed
ts
flavor not working due to duplicated eslintrc.
- Add `./vscode/extensions' to flavors
- Renamed
ts-esm
tots
andts
tots-cjs
- Added
swc
ints
andts-cjs
- Added Prettier
- Fixed usage in Windows
- Fixed pnpm installation check
- Many good reworks in implementation
- Minor fixes
- Fixed wrong
chrome-react
semitemplate dir name
- Fixed
ENOENT
error on LICENSE file write.
- Added
chrome-react
flavor! .eslintrc
s are now generated bynpx eslint-config-gev
!- Fixed Husky's missing scripts.
- Added
pnpm
support. - Added
--npm
,--yarn
and--pnpm
cli options. pnpm
is now the default package manager.- Fixed
lib
not being included in bundle. gev
now usingpnpm
!
- Added
next
flavor. - Empty dirs can now be in the resulting template.
- Added Husky
- Many inner changes and improvments.
- Fixed error due to outdate expo-cli package. Npm changed to have an error on
npm outdated
command if outdated.
- Fixed git being initialized on cwd instead of project path.
- Fixed
Cannot find module '{path}/.yarn/releases/yarn-3.2.1.cjs'
.
- Added
"app.config.ts"
to tsconfig.lint.json
- Removed
reanimated
plugin from babel.config.js - Added
expo-dev-client
to dependencies - Moved
index.js
tosrc/main
.
app.config.js
is nowapp.config.ts
- Added
@expo/config
as devDep - Added
ios/buildNumber
toapp.config.ts
- Fixed and linted Screens files
- Moved
App.tsx
fromsrc/main/
tosrc/screens/Main
- Removed
ScreenFC_X
types in favor ofScreenProps_X
- Removed unused files and code from screens
- Using the new SplashScreen
- Improved README
- Removed some dependencies to make it more generic
- Disabled automatic forced dark mode.
- Added Babel JSX transform for implicit
import React from 'react'
. - Fixed tsconfig.json
- Added
rn
flavor.
- Removed
--watchAll
flag oftest
script. Addedtest:watch
with it.
- Can now create yarn projects under another project. Not monorepo, though.
- Now using yarn.
- Added
author
interactive input and related author info to package.json - package.json is now sorted.
- Moved from yarn to npm.
- Removed testing libraries.
- Added
"name"
to package.json.
- Removed
--watchAll
flag oftest
script. Addedtest:watch
with it.
- Improved eslint and tsconfig files. It now lints
.js
files, like config files.
- Added
eas.json
. It doesn't mean you need to use EAS or dev-client, you may still use Expo Go and Classic build, although EAS allows you to build for iOS without a Mac. - Added
app.config.js
with some cool defaults and configs pattern. - Added
metro.config.js
andbabel.config.js
with configs for common libs. - Added yarn patterns to .gitignore
- Added
withDisableForcedDarkModeAndroid
EAS plugin. - Added new dependencies.
- Added
./index.js
to support EAS. - Improved jest config files.
- Added
tsconfig.tsbuildinfo
to flavors' .gitignore
- Added support for yarn (berry). expo and expo-pkg are now being created using it.
- expo: Added
appJson.set('expo.splash.resizeMode', 'cover');
- Added
.vscode/settings.json
with"typescript.tsdk": "node_modules/typescript/lib"
to ts flavors, to use the TS version defined in package.json instead of VSCode TS version.
- Improved Jest, chores.
- Added
tsc --noemit &&
tolint
scripts beginings so it complains about ts errors.
- Improved
tsconfig.json
s andeslint.[c]js
s.
- Improved some jest settings
- Added
declaration: true
to tsconfig.js ints
andts-esm
. - Fixed
target
andmodule
forts
. - Changed generated CHANGELOG time format from
0.1.0 (YYYY-MM-DD)
to0.1.0 - YYYY-MM-DD
- Added icons to generated readmes headers.
- Added
git init
on all generators andmaster
tomain
rename, if not alreadymain
.
- Readme's npm badge is now downloads/month instead of downloads/week.
- Flavors are now sorted alphabetically
- Added
ts-esm
.ts
was using esm, but sometimes esm won't fit your requirements. ts
no longer uses esm.
- expo - Changed package.json
main
field tosrc/main/index.js
- .eslintrc.js have now included in their begining:
// This is a workaround for https://github.com/eslint/eslint/issues/3458
require('@rushstack/eslint-patch/modern-module-resolution');
With it, it's no longer required to install all the eslint plugins! They are all included in as dependencies in my eslint-config-gev
package.
- Fixed semitemplate dir not being properly shipped
- Now using ESM!
- Many, many changes but as I am completly out of time and currently only I use this, won't this time put effort on this changelog.
- Converted to ESM
- Updated packages
- Simplified some stuff
- Added GitHub Actions to it
- Added many default packages
- Changed tsconfig target from es2020 to es5.
- Added tsconfig.lint.json (2.4.3 haven't properly fixed it.)
- Fixed README indentation and title
- Changed tsconfig.json to properly exclude tests
- Quick change on @latest recall message
- Fixed duplicated message on outdated global expo.
- Fixed flavor having '.js' at its end.
- Fixed oldest version catching @latest error.
- Changed CHANGELOG.md badges order
.git
is now ignored in dir emptiness check.
- Added Jest
- Added some common consts to
consts.ts
.
- Now dynamically loads the flavor, improves new flavors creation
- Minor strings changes
- Changed installation in README from
```c...
to```bash ...
- Added
@types/node
to devDeps, as it is commonly used.
- Added badges: npm version and weekly downloads
- Added control over the badges that will be added to each flavor.
- [ts, expo-pkg] Removed
major, minor, patch, deploy
scripts from package.json, addedprepare, prepublishOnly
.
- Added missing
eslint-plugin-react-hooks, eslint-plugin-react-native
devDeps - Added removal of
.git
from sandbox dir.
- [expo-pkg] Added
"jsx": "react-jsx"
totsconfig.json
- [expo-pkg] Added
@types/react-native
- [expo-pkg] Added
/sandbox/
to.gitignore
- Fixed output not showing if cache version < latest one.
- Removed for now the
-V
version option (now only -v and --version are available)
- [expo-pkg] - Added
react
andreact-native
to devDeps.
- Added
"ignorePatterns": [".eslintrc.js"]
in all.eslintrc.js
. - Added expo-pkg
- CLI is prettier (added
ora
)
- Changed
"outDir": "dist"
to"outDir": "lib"
in tsconfig.json.
- [ts] Removed
'eslint-plugin-react@latest'
.
- [ts] Commented / = changed to false the
incremental
property in tsconfig.json. There is a strange bug that it may not compile the project if removing thedist
directory. Looks like removing the generated tsconfig.tsbuildinfo would fix it (maybe it's even an intended behaviour), but would require the gev users to know about it.
- [expo, ts] Moved eslint-config-gev down, for higher priority in eslint extends field.
- [ts] Added
--respawn --transpile-only
to the ts-node-dev in watch script.
- [ts] Added ts-node-dev for watch script. start will call watch.
- [ts] rootDir and outDir set in tsconfig.json. I forgot to set them there :~
- .gitignore wasn't being included in the generated templates. (Really fixed this time!)
- [expo, ts] Await to the now async
applyTemplate
. - [ts] Added lint script. It will
eslint --fix src/**
. It is now run atdeploy
script.
- .gitignore wasn't being included in the generated templates. (Really fixed this time!)
- [ts] Added the package name validation. I forgot to add it when changed the code in 2.0.0
- [ts] Changed the order of the devDependencies and added an empty dependencies to the package.json. The addition of the dependencies is for when the user calls a
npm i
, it isn't added to the end of the package.json.
- .gitignore wasn't being included in the generated templates.
- [expo] .eslintrc wrong extends
-
templates directory, so you can see the generated boilerplate for each flavor. They are programatically updated for each relevant gev version. It isn't added in the package.
-
[expo] Added
*.env
to .gitignore
- Faster check of installed global packages (currently for expo-cli package, for expo flavor)
-
--no-install
option fixed. -
[ts] Fixed
.env
and.log
in .gitignore.*
was missing.
expo
flavor added
- The command has changed from
npx gev [projectName]
tonpx gev <flavor> [projectName]
- Now creates the boilerplates differently. Instead of creating everything programatically, some files will just be copied. Faster, simpler.
- The shared eslint-config is now
eslint-config-gev
, instead my previous personal@srbrahma/eslint-config
. - Code structure had major improvements and changes.
- Lots of minor changes
- typescript as dep instead of devDep. Will now use
npx tsc --init
instead oftsc --init
, to allow it to work on machines without TS globally installed.
- Changed genera to gev in package.json name. Whoops!
- rimraf as dep instead of devDep
- Added the
gev
to"bin"
in package.json - Added
#!/usr/bin/env node
to the index start - Fixed rimraf for current folder on errors, if files were created.
major
,minor
andpatch
scripts."noUncheckedIndexedAccess": true
to tsconfig
- Renamed package name from genera to gev. Found it was available by trial and error. Shorter!
- gev version output on error.
- General changes, working version