This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Builder cannot resolve shared dependencies - #145

Open
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies
Open

Builder cannot resolve shared dependencies#145
dusura wants to merge 2 commits into
FormidableLabs:masterfrom
dusura:shared-dependencies

Conversation

@dusura

Copy link
Copy Markdown

Perhaps this is against the general philosophy of builder but it would be nice if builder could resolve "shared" dependencies by adding any local "node_modules" folders to its path.

For example, builder will not run commands in a monorepo that uses the lerna hoist feature because it doesn't know about the monorepo's base "node_modules".

@coveralls

coveralls commented Oct 9, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.01%) to 93.675% when pulling 85fe27d on dusura:shared-dependencies into 390eaa4 on FormidableLabs:master.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the PR @dusura !

Can you give me a little more background here -- an example of a file layout that current builder can't handle would be a great accelerator for me to wrap my head around the problem we're solving here...

@dusura

Copy link
Copy Markdown
Author

Hi @ryan-roemer. Thanks for the interest. I created a small demo so you can understand the issue.

@ryan-roemer

Copy link
Copy Markdown
Member

Thanks for the repository!

So everything works when I do:

npm install
npm run create-component
npm run bootstrap
cd component/YOUR-COMPONENT-HERE
npm install # <== I ADDED THIS
npm run figlet
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91603] Started: run figlet
[builder:run] figlet - builder run figlet-cmd
[builder:proc:start] Command: builder run figlet-cmd
[builder:config:environment] {"cwd":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang","dir":"/Users/rye/scm/vendor/builder-shared-dependencies-pr145/component/whiz-bang/node_modules/builder/lib"}
[builder:builder-core:start:91604] Started: run figlet-cmd
[builder:run] figlet-cmd - figlet "my builder script!"
[builder:proc:start] Command: figlet "my builder script!"
_ _ _ _ _ _ _ _ __ ___ _ _ | |__ _ _(_) | __| | ___ _ __ ___ ___ _ __(_)_ __ | |_| |
| '_ ` _ \| | | | | '_ \| | | | | |/ _` |/ _ \ '__| / __|/ __| '__| | '_ \| __| |
| | | | | | |_| | | |_) | |_| | | | (_| | __/ | \__ \ (__| | | | |_) | |_|_|
|_| |_| |_|\__, | |_.__/ \__,_|_|_|\__,_|\___|_| |___/\___|_| |_| .__/ \__(_)
|___/ |_| [builder:proc:end:0] Command: figlet "my builder script!"
[builder:builder-core:end:91604] Task: run figlet-cmd ended normally
[builder:proc:end:0] Command: builder run figlet-cmd
[builder:builder-core:end:91603] Task: run figlet ended normally

So you're saying that normally I should be able to not add that extra npm install and still have everything work using npm CLI? I can't see how that would work as even builder isn't available in component/NAME_HERE/node_modules/.bin/builder -- it seems maybe there's an install step or maybe a "use a wrapper command to execute provided by lerna or something"?

(Separately, we have a tool to do just that -- exec commands with extra NODE_PATH to deal with non-standard installations / requires, but I'll wait on chatting more about that until if/when I'm sure it would be appropriate to discuss here).

@trusktr

Copy link
Copy Markdown

Interesting! I would've ran into this eventually, as I'm looking to start using builder in a monorepo. Related issue: #150

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@dusura@coveralls@ryan-roemer@trusktr