Comments (11)
I'd vote one separate repo to contain them all and see what the response is like.
Anyone have any ideas on criteria for acceptance?
from sw-toolbox.
I would vote for a sw-toolbox-helper-XYZ
style repo for each helper. This allows them to be independently versioned, included as more modular dependencies and can be linked up from the project docs (so at minimum it's got the same qualities as the second option).
from sw-toolbox.
Do them all independently. This has the added advantage of not privileging first-party plugins over third-party ones, like with gulp/grunt plugins.
from sw-toolbox.
I'm usually in favor of separate repos, but in this case it might be daunting to create a repo for each helper, maintain that, have users search over them, etc. That's potentially 100s! A repo for all helpers would be nice.
My thinking is that most helpers will be very small (2-3 LOC) and ultimately, most developers will want to use several at a time. Bringing down a single repo with everything would be great. For starters, we can start with 1st party (well known) plugins.
from sw-toolbox.
I initially voted for us to separate these out into their own dedicated repos, but on re-thinking the problem space we aren't going to have a lot of helpers that are particularly large or complex. It may make sense to initially just have a master repo and if the collection of helpers grows sufficiently that we need to split them out, we can always do that later and submodule them back in. Does anyone else strongly feel we should split these out?
from sw-toolbox.
If we assume that npm
will be required to install these helpers, then we can use an arbitrary number of subdirectories within a single repo, each with its own package.json
maintaining independent versioning, and share a global top-level build/test/publish script.
This assumes that we're okay with being unfriendly towards bower
because we won't be tagging repo-level versions.
from sw-toolbox.
If we can have a separate package per subdirectory that would be awesome!!!
from sw-toolbox.
Oh, so this is apparently referred to as a "monorepo", and it's A Thing: https://github.com/babel/babel/blob/master/doc/design/monorepo.md
There's a tool for working with this structure (https://github.com/kittens/lerna) but that seems to focus on needing to version all the individual modules with the same release number, which we explicitly don't want to do. So just versioning them by hand should work.
from sw-toolbox.
Here's a good monorepo example that we might be able to learn from: https://github.com/danigb/tonal
I don't think we'd want the single-version-semantics implied by using https://github.com/kittens/lerna, but we might be able to learn something about overall repo structure and generating documentation (via https://www.npmjs.com/package/documentation, it looks like).
I'm putting together a formal proposal that I'll circulate for comment and feedback, and then we can move forward.
from sw-toolbox.
Sounds awesome thanks Jeff
On Fri, 18 Mar 2016, 21:26 Jeffrey Posnick, [email protected]
wrote:
Here's a good monorepo example that we might be able to learn from:
https://github.com/danigb/tonalI don't think we'd want the single-version-semantics implied by using
https://github.com/kittens/lerna, but we might be able to learn something
about overall repo structure and generating documentation
http://danigb.github.io/tonal/docs/ (via
https://www.npmjs.com/package/documentation, it looks like).I'm putting together a formal proposal that I'll circulate for comment and
feedback, and then we can move forward.—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#33 (comment)
from sw-toolbox.
@jeffposnick do you think we can close this issue now?
from sw-toolbox.
Related Issues (20)
- Issue with Multiple Tab open with one mobile view through chrome dev tools HOT 1
- Caches gets deleted on page reload HOT 1
- Allow for selection of more request properties like headers than just the URL HOT 2
- googlechrome.github.io returns 404
- Website for this repo has been 404 HOT 1
- Repo URL is broken HOT 1
- The fetchAndCache function has a bug on mobile phones HOT 1
- Release 3.6.1 to NPM HOT 1
- Bug: Toolbox does not handle quote exceeded errors HOT 13
- Consider bumping `path-to-regexp`. HOT 1
- Cache with maxAgeSeconds option not expiring for cacheFirst strategy
- how can I precache some url with cookie ?
- Notify people about Workbox ("The next version of sw-precache & sw-toolbox") HOT 1
- Usage and api links broken in Index.md
- What is the use of indexDb if sw-toolbox is validating freshness of cache via date header
- service worker error HOT 1
- toolbox.router.get function not working in safari ios
- Missing documentation for successResponses HOT 1
- Documentation pages have corrupted links to gh-pages!
- Why do I get TypeError failed to fetch on every page refresh HOT 4
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 sw-toolbox.