Comments (5)
Few remarks:
- Security - this feature allows for execution of arbitrary code on the user's machine. If implemented, we should clearly notify the user and ask for approval when running any script that is not maintained by us
- I see the resemblance to the git hooks and maybe
hooks
could be a more natural name for them? Then eitherpre-build
orpre_build
hooks would be present in thehooks
directory - There should be a way to skip and approve running the scripts in a headless mode e.g.
--skip-script-approval
and--skip-scripts
or similar
from mason.
Thanks for the quick feedback @orestesgaolin! 🙏
- Security - this feature allows for execution of arbitrary code on the user's machine. If implemented, we should clearly notify the user and ask for approval when running any script that is not maintained by us
I was hesitant about this from a security standpoint as well but after thinking about it it's really not much different than installing a dart package from pub.dev and running it on your machine. I think we should expect that developers evaluate the bricks they choose to use and use discretion when it comes to what they install/run on their machine.
- I see the resemblance to the git hooks and maybe
hooks
could be a more natural name for them? Then eitherpre-build
orpre_build
hooks would be present in thehooks
directory
I like that suggestion and I'm happy to rename to hooks and use pre_build instead of pre_gen 👍
- There should be a way to skip and approve running the scripts in a headless mode e.g.
--skip-script-approval
and--skip-scripts
or similar
Yup, completely agree!
from mason.
Kind of off topic,
But I use mason to assemble basiclly from express , next, flutter,
db , even firestore + ansible
So load of bricks
The problem I ran into is those appending those scripts in
package.json
pubspec.yaml is a mess
Can we just do package.json inside of flutter project.
something like
"scripts": {
"assmeble": "mason assemble ."
}
That just the end goal , it brings in all those line in info.plist , gradle,
from mason.
Kind of off topic,
But I use mason to assemble basiclly from express , next, flutter, db , even firestore + ansible
So load of bricks
The problem I ran into is those appending those scripts in
package.json
pubspec.yaml is a mess
Can we just do package.json inside of flutter project.
something like
"scripts": { "assmeble": "mason assemble ." }
That just the end goal , it brings in all those line in info.plist , gradle,
You should be able to use something like derry to manage scripts in your pubspec.yaml
similar to a package.json
. Hope that helps 👍
from mason.
This is closed by #153 and is available in mason v0.0.1-dev.57 🎉
from mason.
Related Issues (20)
- feat: support conditional prompting for variables HOT 6
- feat: include `prompt` style in `LogTheme`
- fix: Extra line with condition statement HOT 5
- feat: hook resource sharing
- perf: Generating files from a list which is not a simple string rather a List<Map<String, dynamic>> takes over 30 minutes HOT 2
- feat: simplify relying on defaults when using `mason make` in CI HOT 2
- fix: Generating files from array not working HOT 6
- fix: Crash with "StreamSink is bound to stream" HOT 5
- fix: mason_logger does not handle `stdin.hasTerminal` being false
- fix: The getter 'STD_HANDLE' isn't defined for the class 'WindowsTerminal'. HOT 8
- Failing to activate mason_cli after upgrading to mason_cli: ^0.1.0-dev.54 HOT 1
- feat: set default output directory HOT 3
- feat: ask to overwrite or not for duplicate brick name
- feat: Retain colors across process boundary HOT 2
- fix: `Isolate.spawnUri()` does not contain a valid AOT snapshot on script compiled with `dart compile exe` HOT 5
- feat: Mirror logger output to a file
- FileSystemException: Creation failed. (OS Error: File name too long, errno = 63) HOT 2
- fix: mason_logger is not working properly when it reaches to the end of terminal HOT 8
- fix: Brick.git not generating windows HOT 1
- I cannot publish my mason brick HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mason.