Comments (4)
Ah, that's easy to fix! We just need to add a path property to the Module
struct (or possibly only to SourceTextModule
, but I could see it being useful to set a synthetic module to a fake path), and have it being set at creation time.
Should probably be a good idea to also add this to Source
, since it should be a pretty straightforward change. Then, we could expose a Referrer::path() -> Option<&Path>
method for ease of use.
from boa.
To clarify, the exact implementation steps would be:
- Expose the
path
property of theSource
type with a getter. - Modify
ModuleRepr
andsource::Inner
to have apath: PathBuf
property, and set it on their respectiveparse
methods from thepath
property ofSource
. - Add a new
path
method toReferrer
that gets a reference to thepath
property ofSource
andModule
.
from boa.
So it would be the responsibility of the ModuleLoader
to implement (or not) resolution of specifiers?
from boa.
Yes, simply because the core engine shouldn't have a notion of a "filesystem", since that would break the sandboxing we have in place for it. Implementors of ModuleLoader
can decide if they want to preserve the sandbox or if they want to allow filesystem calls.
from boa.
Related Issues (20)
- Intl: Implement `supportedLocalesOf` for services
- Intl: Extract implementation into a separate crate
- Intl: Remove hacks to get the supported locales of a service HOT 1
- Add backtraces to errors HOT 2
- Explore other storage methods for our test results HOT 12
- custom `JsValue` for better embed HOT 2
- Restrict Direct Construction of `JsValue` to Ensure Invariants HOT 4
- Function.prototyp.toString only returns a fixed `[native code]` string
- `Context::get_active_script_or_module` should return a script or module when using import in a generator HOT 1
- Simplifying Function Binding HOT 4
- Array.prototype.at
- Implement `console.groupCollapsed()` method
- Implement `console.table()` method HOT 2
- Implement `console.profile()` and `console.profileEnd()` methods HOT 1
- Implement `console.trace()` method
- Implement `console.timeStamp()` methods HOT 2
- Add Boa Matrix space to the repo HOT 1
- Bug on set_loop_iteration_limit on ''.repeat
- Access to PropertyMap keys 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 boa.