-
Notifications
You must be signed in to change notification settings - Fork 15
STCLI-259 provide transpile #368
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
base: main
Are you sure you want to change the base?
Conversation
Replace the `transpile` command implmented in #259 (STCLI-224), which transpiled and bundled with help from stripes-cli, with one that only conducts transpilation. ``` yarn stripes transpile yarn stripes transpile --path ./lib ``` The default `path` is `./src`. Files are transpiled into `./dist`. Sourcemaps are included. Non-compilable files (e.g. `.css`) are copied into the destination directory. All dependencies and babel config files are included locally. The intent is to provide a canonical service, much as stripes-webpack has in the past, so the packages using this service do not have to worry about managing dependencies or config files. The babel config is contained in `./lib/commands/transpile-babel.config.json`: ``` { "presets": [ ["@babel/preset-env", { "targets": "> 0.25%, not dead", // preset-env will transform dynamic exports, but we want // to let webpack handle those "exclude": ["transform-dynamic-import"] }], ["@babel/preset-flow", { "all": true }], ["@babel/preset-react", { "runtime": "automatic" }], ["@babel/preset-typescript"] ], "plugins": [ ["@babel/plugin-proposal-decorators", { "legacy": true }], // when building a platform directly, i.e. outside a workspace, // babel complains loudly and repeatedly that when these modules are enabled: // * @babel/plugin-proposal-class-properties, // * @babel/plugin-proposal-private-methods and // * @babel/plugin-proposal-private-property-in-object // the "loose" option must be the same for all three. // but @babel/preset-env sets it to false for ...private-methods. // overriding it here silences the complaint. STRWEB-12 ["@babel/plugin-transform-class-properties", { "loose": true }], ["@babel/plugin-transform-private-methods", { "loose": true }], ["@babel/plugin-transform-private-property-in-object", { "loose": true }], "@babel/plugin-transform-export-namespace-from", "@babel/plugin-proposal-function-sent", "@babel/plugin-transform-numeric-separator", "@babel/plugin-proposal-throw-expressions", "@babel/plugin-syntax-import-meta" ] } ``` Refs STCLI-259
|
@JohnC-80 , babel config is provided here as a straight I think the rest of this PR is straightforward, but I welcome any feedback. |
|


Replace the
transpilecommand implemented in #259 (STCLI-224), which transpiled and bundled with help from stripes-webpack, with one that only conducts transpilation.The default
filesvalue is./src. Files are transpiled into./dist. Sourcemaps are included. Non-compilable files (e.g..css) are copied into the destination directory.All dependencies and babel config files are included locally. The intent is to provide a canonical service, much as stripes-webpack has in the past, so the packages using this service do not have to worry about managing dependencies or config files.
The babel config is contained in
./lib/commands/transpile-babel.config.json:Refs STCLI-259