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

Release 1.2.0 #35

Merged
merged 22 commits into from
Nov 29, 2021
Merged

Release 1.2.0 #35

merged 22 commits into from
Nov 29, 2021

Conversation

LunatiqueCoder
Copy link
Owner

No description provided.

mikehardy and others added 22 commits November 26, 2021 07:35
If this template is used to init a project, then the app directory itself
is moved, the components inside app lose their ability to resolve and lint:types
no longer works

If I use directory-relative paths, everything appears fine
- requires gradle 7 versions to work with API31 build tools
- requires exported attributes on activities to target api31

should be noted in release docs that JDK11 is required to build reliably
fix(android): android 12 compatibility
fix(paths): use directory-relative paths
the upstream code we can reuse uses these settings, to maintain
character by character compatibility as much as possible, while allowing
for a clean lint run here, reuse their lint settings

this will decrease template maintenance burden here by allowing easy
ingesetion of upstream changes from react-native-template-typescript
this allows the upstream react-native 'NewAppScreen' to work on web
allows deletion of majority of template contents, allows use
of upstream react-native-typescript-template App.tsx almost without
change, just wraps it in a toy navigator with toy vector icons demo
Why?

Without this, you can't use `JSX.Element` etc as symbols
because typescript-eslint does not understand they are present.

`tsc` has no problem with the files.

This is specifically recommended as a setting by the linter docs:

https://github.com/typescript-eslint/typescript-eslint/blob/eaaa2047ca54f098dcdd32aaf5d8949495c6be26/docs/linting/TROUBLESHOOTING.md?plain=1#L111
they deprecated the old one: jsxBracketSameLine -> bracketSameLine

https://prettier.io/blog/2021/09/09/2.4.0.html

> This release renames the jsxBracketSameLine option to bracketSameLine, which supports HTML, Vue, and Angular in addition to JSX. The old name has been deprecated.
verified working, allows removal of ts-ignore/eslint-ignore,
which gets rid of a warning about an unreported eslint-ignore
using spacing in eslint conflicts with spacing rules in prettier,
and they *specifically* disagree on switch/case spacing in their
default setups.

Let Prettier control spacing, lint:all passes with fewer directives
and pretty switch/case spacing.
Hopefully integrates via PR upstream in `@react-native-community`,
this appears to be the standard configuration for no-shadow in
typescript projects, see:

react-native-community/react-native-template-typescript#238
@LunatiqueCoder LunatiqueCoder self-assigned this Nov 29, 2021
@LunatiqueCoder LunatiqueCoder merged commit 108367c into master Nov 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants