Comments (8)
What about using git submodules?
from positron.
@Ryuno-Ki That's a possibility, and it's one I've been considering. I deliberately didn't suggest it (nor other solutions) in the description because I wanted to separate the description of the issue from potential solutions for it, like Git submodules (which is what Electron uses) and importing dependencies with an explicit version identifier in the import commit (as Node appears to do).
from positron.
I'm not fit in C++, how do you "import dependencies" in C++? I remember something about linking in my C course at university …
What lines would I have to look out for?
from positron.
I'm not fit in C++, how do you "import dependencies" in C++? I remember something about linking in my C course at university …
The "dependencies" in this case are the Electron and Node codebases, and specifically certain files in those codebases, all of which are currently JavaScript files (but which may in the future include C++ files).
To date, we've imported these files into the positron/electron/ and positron/node/ subdirectories, where by "import" I mean that I copied the files from local clones of those repositories into a local clone of the Positron repository, then committed them. I'm doing more of that work in #26.
But it'd be better to establish dependencies on the Electron/Node codebases as a whole, rather than copying individual files (since the files that Positron depends upon will change over time, and the set of files it depends upon should all come from the same revision); and identify the exact revision for each dependency.
Note that in some cases we'll also modify files in the depending codebases (as I've done in #26), so it isn't as simple as configuring a Git submodule for each one that points to the upstream repository. We could, however, fork those repositories and then configure a Git submodule that points to the fork.
from positron.
Okay, let me rephrase:
When I create a project using Node I track my dependencies in a package.json and run npm install
to install them locally. How does Node itself imports Node's dependencies?
from positron.
Sorry, but fits my example perfectly:
(Credits: A moment of nostalgia by CommitStrip)
from positron.
When I create a project using Node I track my dependencies in a package.json and run npm install to install them locally. How does Node itself imports Node's dependencies?
I'm unsure. I know they don't use Git submodules, because the repository contains no .gitmodules file. And their dependencies are committed to the Node repository (in the deps/ subdirectory), so they don't use a tool like Git submodules or NPM that maintains a list of dependencies that live outside the Node repository.
They might use something like Git subtree, although I don't see the branches I would expect in that case. Or perhaps they use homegrown tools or manually import code like we're currently doing for Positron.
from positron.
Sorry, but fits my example perfectly:
So true!
from positron.
Related Issues (20)
- Git complains about user's identity in task run
- console.log logs to terminal but not console window HOT 5
- Resources for beginners? (very interested) HOT 10
- determine correct way to express SpiderNode dependency on static:js
- determine correct way to express libxul dependency on SpiderNode on Linux
- determine correct way to specify positron/app/spidernode subconfigure dir
- node-integration builds busted on Linux because static lib locations differ
- Fix shutdown memory leak
- Add lock for isolate in NodeBindings
- Emit loaded event from node bindings
- Move node bindings and node loader out of webidl folder HOT 5
- MOZ_CRASH(Accessing the Subject Principal without an AutoJSAPI on the stack is forbidden) at /Users/myk/Projects/positron/dom/base/nsContentUtils.cpp:2760 HOT 3
- cp: cannot create regular file '…libzlib.a': File exists
- Call add-on sdk functionality from Positron HOT 12
- synchronously retrieve back/forward status of mozbrowser HOT 3
- figure out if/when to set WebViewImpl.attached/elementAttached
- benchmark Positron perf and compare it to Electron HOT 1
- GuestWebContentsPrototype.getURL fails because contentDocument is null
- loading renderer modules in single sandbox throws "TypeError: 'get location' called on an object that does not implement interface Window."
- Find or implement an event similar to blink's NavigationEntryCommitted
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 positron.