Skip to content

Commit

Permalink
(fix): templates should not have baseUrl or paths set (#707)
Browse files Browse the repository at this point in the history
- there are many issues about TS path aliases not fully "working", so
  they should be removed from the templates until they are completely
  "working"
  - instead of shipping templates with a partially "broken" and
    confusing configuration enabled
  - especially confusing to users because editors will auto-complete
    with the absolute path instead of the relative path
  - and the fact that these paths are unresolved at build or test time
    means that it's not understood that this is "broken" until later in
    the process

- this is a *very* common misconception with TS users that `paths`
  rewrites/transforms imports during compilation, but it actually does
  not change any absolute paths to relative, it leaves them as is
  - it just resolves type information to help on platforms that import
    differently
    - basically, it's somewhat of a legacy option, but folks think it's
      used for aliases and does transforms
      - and folks seem to want it to work that way too
      - it actually does the reverse, it supports the usage of
        aliases/import rewrites elsewhere
  - unfortunately this misconception made its way into the very first
    template, causing lots of confusion and issues reported since

- so `paths` isn't "broken" per se, it just doesn't do what people
  think it does (including template authors)
  - well it *is* broken for standard TSDX usage out-of-the-box
    - since TSDX doesn't output for platforms where it makes sense
      out-of-the-box

- as a result, for aliases to be fully supported by TSDX, we'd have to
  add some sort of transformation(s) for build, test, and lint
  - until then this shouldn't be in the templates
    - but don't give an error on it because there are
      methods/"workarounds" to support aliasing/import rewrites using
      the configuration in `paths`
      - and if one is using import rewrites, `paths` is necessary for
        TS to not give errors

- also removes an inconsistency in the Storybook template that used
  "@/*" as an alias, even though the other templates didn't have that
  - while this is a supported alias by some libraries in the community,

  - oversight in code review when Storybook templates were added and
    caused some confusion for users

- also removes these options from all test fixtures
  • Loading branch information
agilgur5 authored May 3, 2020
1 parent 35f162a commit 17ffcd2
Show file tree
Hide file tree
Showing 11 changed files with 0 additions and 39 deletions.
4 changes: 0 additions & 4 deletions templates/basic/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
}
Expand Down
1 change: 0 additions & 1 deletion templates/react-with-storybook/example/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"preserveConstEnums": true,
"sourceMap": true,
"lib": ["es2015", "es2016", "dom"],
"baseUrl": ".",
"types": ["node"]
}
}
5 changes: 0 additions & 5 deletions templates/react-with-storybook/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"@": ["./"],
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
}
Expand Down
1 change: 0 additions & 1 deletion templates/react/example/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"preserveConstEnums": true,
"sourceMap": true,
"lib": ["es2015", "es2016", "dom"],
"baseUrl": ".",
"types": ["node"]
}
}
4 changes: 0 additions & 4 deletions templates/react/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
}
Expand Down
4 changes: 0 additions & 4 deletions test/e2e/fixtures/build-default/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
},
Expand Down
4 changes: 0 additions & 4 deletions test/e2e/fixtures/build-invalid/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
},
Expand Down
4 changes: 0 additions & 4 deletions test/e2e/fixtures/build-withTsconfig/tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": false
},
Expand Down
4 changes: 0 additions & 4 deletions test/integration/fixtures/build-options/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
},
Expand Down
4 changes: 0 additions & 4 deletions test/integration/fixtures/build-withBabel/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
},
Expand Down
4 changes: 0 additions & 4 deletions test/integration/fixtures/build-withConfig/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"baseUrl": "./",
"paths": {
"*": ["src/*", "node_modules/*"]
},
"jsx": "react",
"esModuleInterop": true
},
Expand Down

0 comments on commit 17ffcd2

Please sign in to comment.