Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support new URL with import meta.url #1481

Merged
merged 10 commits into from
Jul 3, 2024
5 changes: 5 additions & 0 deletions .changeset/wet-moose-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@farmfe/core": patch
---

support new URL with import.meta.url
5 changes: 5 additions & 0 deletions .changeset/wicked-dragons-rhyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@farmfe/js-plugin-electron": patch
---

support relative path in electron
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 15 additions & 9 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,15 @@
"ignore": [
"crates/**",
"*.vue",
"examples/**",
"tsconfig.base.json",
"tsconfig.json",
"cspell.json",
"*.e2e.ts",
"*.d.ts",
"packages/runtime/**",
"packages/runtime-plugin-import-meta/**",
"packages/create-farm/templates/**",
"packages/create-farm-plugin/templates/**",
"rust-plugins/**",
"js-plugins/vue",
"js-plugins/less",
"js-plugins/sass"
"rust-plugins/**"
],
"ignoreUnknown": true
},
Expand All @@ -34,11 +29,22 @@
"indentWidth": 2,
"lineEnding": "lf",
"lineWidth": 80,
"attributePosition": "auto"
"attributePosition": "auto",
"include": [
"**/*.ts"
],
"ignore": [
"node_modules",
"dist"
]
},
"organizeImports": {
"enabled": true,
"include": ["./**/*.js", "./**/*.ts", "./**/*.mjs"]
"include": [
"./**/*.js",
"./**/*.ts",
"./**/*.mjs"
]
},
"linter": {
"enabled": true,
Expand Down Expand Up @@ -134,4 +140,4 @@
"attributePosition": "auto"
}
}
}
}
18 changes: 15 additions & 3 deletions crates/compiler/tests/common/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ use farmfe_core::{
config::{
bool_or_obj::BoolOrObj, config_regex::ConfigRegex, persistent_cache::PersistentCacheConfig,
preset_env::PresetEnvConfig, Config, CssConfig, Mode, RuntimeConfig, SourcemapConfig,
},
plugin::Plugin,
serde_json::Value,
}, plugin::Plugin, serde::de::DeserializeOwned, serde_json::{self, Value}
};
use farmfe_testing_helpers::is_update_snapshot_from_env;
use farmfe_toolkit::fs::read_file_utf8;
Expand Down Expand Up @@ -292,3 +290,17 @@ pub fn assert_compiler_result(compiler: &Compiler, entry_name: Option<&String>)
},
);
}

#[allow(dead_code)]
pub fn get_config_field<T: DeserializeOwned>(value: &Value, keys: &[&str]) -> Option<T> {
let mut v: &Value = value;

for key in keys.iter() {
v = v.get(key)?;
}

Some(
serde_json::from_value(v.clone())
.expect(format!("{} type is not correct", keys.join(".")).as_str()),
)
}
116 changes: 75 additions & 41 deletions crates/compiler/tests/fixtures/script/accept_deps/output.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,69 @@
//index.js:
(globalThis || window || self || global)['__farm_default_namespace__'] = {__FARM_TARGET_ENV__: 'browser'};(function (modules, entryModule) {
var cache = {};

function dynamicRequire(id) {
return Promise.resolve(require(id));
}

function require(id) {
if (cache[id]) return cache[id].exports;

var module = {
id: id,
exports: {}
};

modules[id](module, module.exports, require, dynamicRequire);
cache[id] = module;
return module.exports;
}

require(entryModule);
})({"d2214aaa": function(module, exports, farmRequire, farmDynamicRequire) {
(globalThis || window || global)['__farm_default_namespace__'] = {__FARM_TARGET_ENV__: 'browser'};function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}function _export_star(from, to) {
Object.keys(from).forEach(function(k) {
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
Object.defineProperty(to, k, {
enumerable: true,
get: function() {
return from[k];
}
});
}
});
return from;
}function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) return obj;
if (obj === null || typeof obj !== "object" && typeof obj !== "function") return {
default: obj
};
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) return cache.get(obj);
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
else newObj[key] = obj[key];
}
}
newObj.default = obj;
if (cache) cache.set(obj, newObj);
return newObj;
}function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}function __commonJs(mod) {
var module;
return () => {
if (module) {
return module.exports;
}
module = {
exports: {},
};
if(typeof mod === "function") {
mod(module, module.exports);
}else {
mod[Object.keys(mod)[0]](module, module.exports);
}
return module.exports;
};
}((function(){var index_js_cjs = __commonJs((module, exports)=>{
"use strict";
console.log("runtime/index.js")(globalThis || window || self || global)["__farm_default_namespace__"].__farm_module_system__.setPlugins([]);
},}, "d2214aaa");(function (modules) {
for (var key in modules) {
modules[key].__farm_resource_pot__ = 'index_fb79.js';
(globalThis || window || self || global)['__farm_default_namespace__'].__farm_module_system__.register(key, modules[key]);
}
})({"05ee5ec7": function(module, exports, farmRequire, farmDynamicRequire) {
console.log("runtime/index.js")(globalThis || window || global)["__farm_default_namespace__"].__farm_module_system__.setPlugins([]);
});
})());(function(_){for(var r in _){_[r].__farm_resource_pot__='index_fb79.js';(globalThis || window || global)['__farm_default_namespace__'].__farm_module_system__.register(r,_[r])}})({"05ee5ec7":function (module, exports, farmRequire, farmDynamicRequire) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
Expand All @@ -41,8 +76,9 @@
"foo.js",
"bar.js"
], ([newFooModule, newBarModule])=>{});
},
"59ebf907": function(module, exports, farmRequire, farmDynamicRequire) {
}
,
"59ebf907":function (module, exports, farmRequire, farmDynamicRequire) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
Expand All @@ -56,22 +92,19 @@
function foo() {
return "foo";
}
},
"b5d64806": function(module, exports, farmRequire, farmDynamicRequire) {
}
,
"b5d64806":function (module, exports, farmRequire, farmDynamicRequire) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _foo = farmRequire("59ebf907");
farmRequire("05ee5ec7");
(0, _foo.foo)();
if (module.meta.hot) {
module.meta.hot.accept("foo.js", (newFoo)=>{
newFoo?.foo();
});
}
},
"e185e932": function(module, exports, farmRequire, farmDynamicRequire) {
}
,
"e185e932":function (module, exports, farmRequire, farmDynamicRequire) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
Expand All @@ -85,4 +118,5 @@
function bar() {
return "bar";
}
},});(globalThis || window || self || global)['__farm_default_namespace__'].__farm_module_system__.setInitialLoadedResources([]);(globalThis || window || self || global)['__farm_default_namespace__'].__farm_module_system__.setDynamicModuleResourcesMap({ });var farmModuleSystem = (globalThis || window || self || global)['__farm_default_namespace__'].__farm_module_system__;farmModuleSystem.bootstrap();var entry = farmModuleSystem.require("b5d64806");
}
,});(globalThis || window || global)['__farm_default_namespace__'].__farm_module_system__.setInitialLoadedResources([]);(globalThis || window || global)['__farm_default_namespace__'].__farm_module_system__.setDynamicModuleResourcesMap({ });var farmModuleSystem = (globalThis || window || global)['__farm_default_namespace__'].__farm_module_system__;farmModuleSystem.bootstrap();var entry = farmModuleSystem.require("b5d64806");
Loading
Loading