PrimeIntellect/SWE-rebench-V2 huggingface dataset:
Repository: CS-SI/eodag (python)

Issue:
PEPS no longer supports S3
Attempting to use EODAG to download S3 data of any type from PEPs results in no search results returned as PEPS no longer supports S3 data. Confirmed directly by the PEPS help desk on 14.06.2021. 

"Comme l’indique l’actualité du 15 février sur notre flux RSS (https://peps-mission.cnes.fr/fr/peps-info-suppression-des-donnees-sentinel-3), PEPS ne diffuse plus de données S3."

Therefore 
`dag.available_providers("S3_OLCI_L2LRR")`

Should not return PEPS as a source. 



Pull request:
fix: Sentinel-3 products not available on peps any more
fixes #303 

Removed Sentinel-3 product types for peps, see https://peps-mission.cnes.fr/fr/peps-info-suppression-des-donnees-sentinel-3

Patch:
diff --git a/eodag/resources/providers.yml b/eodag/resources/providers.yml
index e356dd02..cd96491f 100644
--- a/eodag/resources/providers.yml
+++ b/eodag/resources/providers.yml
@@ -804,27 +804,6 @@
     S2_MSI_L2A:
       collection: S2ST
       productType: S2MSI2A
-    S3_EFR:
-      productType: OL_1_EFR___
-      collection: S3
-    S3_ERR:
-      productType: OL_1_ERR___
-      collection: S3
-    S3_OLCI_L2LFR:
-      productType: OL_2_LFR___
-      collection: S3
-    S3_OLCI_L2LRR:
-      productType: OL_2_LRR___
-      collection: S3
-    S3_SLSTR_L1RBT:
-      productType: SL_1_RBT___
-      collection: S3
-    S3_SLSTR_L2LST:
-      productType: SL_2_LST___
-      collection: S3
-    S3_LAN:
-      productType: SR_2_LAN___
-      collection: S3
     GENERIC_PRODUCT_TYPE:
       productType: '{productType}'
       collection: '{collection}'


Test patch:
diff --git a/tests/units/test_core.py b/tests/units/test_core.py
index 17c4f06f..556277df 100644
--- a/tests/units/test_core.py
+++ b/tests/units/test_core.py
@@ -91,17 +91,17 @@ class TestCore(unittest.TestCase):
             "astraea_eod",
             "earth_search",
         ],
-        "S3_ERR": ["peps", "onda", "creodias"],
-        "S3_EFR": ["peps", "onda", "creodias"],
-        "S3_LAN": ["peps", "onda", "creodias"],
+        "S3_ERR": ["onda", "creodias"],
+        "S3_EFR": ["onda", "creodias"],
+        "S3_LAN": ["onda", "creodias"],
         "S3_SRA": ["onda", "creodias"],
         "S3_SRA_BS": ["onda", "creodias"],
         "S3_SRA_A_BS": ["onda", "creodias"],
         "S3_WAT": ["onda", "creodias"],
-        "S3_OLCI_L2LFR": ["peps", "onda", "creodias", "mundi"],
-        "S3_OLCI_L2LRR": ["peps", "onda", "creodias"],
-        "S3_SLSTR_L1RBT": ["peps", "onda", "creodias"],
-        "S3_SLSTR_L2LST": ["peps", "onda", "creodias"],
+        "S3_OLCI_L2LFR": ["onda", "creodias", "mundi"],
+        "S3_OLCI_L2LRR": ["onda", "creodias"],
+        "S3_SLSTR_L1RBT": ["onda", "creodias"],
+        "S3_SLSTR_L2LST": ["onda", "creodias"],
         "PLD_PAN": ["theia"],
         "PLD_XS": ["theia"],
         "PLD_BUNDLE": ["theia"],
Repository: stoplightio/spectral (ts)

Issue:
allow empty config
If I create an empty .spectral.yaml file, I get this weird error
`Unexpected token u in JSON at position 0`


Pull request:
fix: user-friendly error for empty rulesets
Fixes #1407 

**Checklist**

- [x] Tests added / updated
- [x] Docs added / updated

**Does this PR introduce a breaking change?**

- [ ] Yes
- [x] No



Patch:
diff --git a/src/rulesets/reader.ts b/src/rulesets/reader.ts
index 945d487a..8b1923c3 100644
--- a/src/rulesets/reader.ts
+++ b/src/rulesets/reader.ts
@@ -65,15 +65,18 @@ const createRulesetProcessor = (
     }
 
     processedRulesets.add(rulesetUri);
+    const content = await readParsable(rulesetUri, {
+      timeout: readOpts?.timeout,
+      encoding: 'utf8',
+      agent: readOpts?.agent,
+    });
+
+    if (content.trim().length === 0) {
+      throw new Error('Ruleset must not empty');
+    }
+
     const { result } = await createHttpAndFileResolver({ agent: readOpts?.agent }).resolve(
-      parseContent(
-        await readParsable(rulesetUri, {
-          timeout: readOpts?.timeout,
-          encoding: 'utf8',
-          agent: readOpts?.agent,
-        }),
-        rulesetUri,
-      ),
+      parseContent(content, rulesetUri),
       {
         baseUri: rulesetUri,
         dereferenceInline: false,


Test patch:
diff --git a/src/rulesets/__tests__/reader.jest.test.ts b/src/rulesets/__tests__/reader.jest.test.ts
index ddc97f99..0e6a46d6 100644
--- a/src/rulesets/__tests__/reader.jest.test.ts
+++ b/src/rulesets/__tests__/reader.jest.test.ts
@@ -48,6 +48,12 @@ describe('Rulesets reader', () => {
     nock.enableNetConnect();
   });
 
+  it('given empty ruleset, should throw a user friendly error', async () => {
+    await expect(readRuleset(path.join(__dirname, './__fixtures__/empty.json'))).rejects.toThrow(
+      'Ruleset must not empty',
+    );
+  });
+
   it('given flat, valid ruleset file should return rules', async () => {
     expect(await readRuleset(validFlatRuleset)).toEqual(
       expect.objectContaining({