@datacamp/learn-vm-scripts 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.cjs +40 -16
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -366810,12 +366810,6 @@ var resetChrome = async ({ userDataDir }) => {
366810
366810
  };
366811
366811
 
366812
366812
  // src/snowflakeLogin.ts
366813
- var findAsync = (elements, predicate) => {
366814
- const promises = elements.map(predicate);
366815
- return Promise.all(promises).then(
366816
- (results) => elements.find((_, i) => results[i])
366817
- );
366818
- };
366819
366813
  async function loginToSnowflake({
366820
366814
  url,
366821
366815
  username,
@@ -366858,15 +366852,6 @@ async function loginToSnowflake({
366858
366852
  }
366859
366853
  await signInButtonHandle.click();
366860
366854
  log("Logged in to Snowflake!");
366861
- log("Skipping optional parts of login");
366862
- await page.waitForSelector('[data-testid="Dialog Footer"]');
366863
- log("Dialog Footer found");
366864
- const dialogButtons = await page.$$('div[role="button"]');
366865
- const notNowButton = await findAsync(dialogButtons, async (button) => {
366866
- const innerText = await page.evaluate((el) => el.innerText, button);
366867
- return innerText === "Not now";
366868
- });
366869
- await notNowButton?.click();
366870
366855
  }
366871
366856
 
366872
366857
  // src/fabricLogin.ts
@@ -366926,13 +366911,44 @@ async function navigateToChatGPT({
366926
366911
  await page.goto(ensureHttps(url));
366927
366912
  }
366928
366913
 
366914
+ // src/n8nLogin.ts
366915
+ var usernameInputSelector = 'input[name="emailOrLdapLoginId"]';
366916
+ var passwordInputSelector = 'input[name="password"]';
366917
+ var signInButtonSelector = 'button[data-test-id="form-submit-button"]';
366918
+ async function loginToN8N({
366919
+ url,
366920
+ username,
366921
+ page,
366922
+ password
366923
+ }) {
366924
+ log("Navigating to N8N login page...");
366925
+ await page.goto(ensureHttps(url));
366926
+ await page.waitForSelector(usernameInputSelector);
366927
+ await page.type(usernameInputSelector, username);
366928
+ await setInput({
366929
+ page,
366930
+ querySelector: usernameInputSelector,
366931
+ value: username
366932
+ });
366933
+ await page.waitForSelector(passwordInputSelector);
366934
+ await page.type(passwordInputSelector, password);
366935
+ await setInput({
366936
+ page,
366937
+ querySelector: passwordInputSelector,
366938
+ value: password
366939
+ });
366940
+ await page.waitForSelector(signInButtonSelector);
366941
+ await page.click(signInButtonSelector);
366942
+ log("Logged in to N8N successfully");
366943
+ }
366944
+
366929
366945
  // src/startInputWatcher.ts
366930
366946
  var LoggedOutProvidersSchema = objectType({
366931
366947
  cloudProvider: enumType(["perplexity", "chatGPT"]),
366932
366948
  url: stringType()
366933
366949
  });
366934
366950
  var LoggedInProvidersSchema = objectType({
366935
- cloudProvider: enumType(["aws", "azure", "snowflake"]),
366951
+ cloudProvider: enumType(["aws", "azure", "snowflake", "n8n"]),
366936
366952
  username: stringType(),
366937
366953
  password: stringType(),
366938
366954
  url: stringType()
@@ -366978,6 +366994,14 @@ var handleInput = async ({ line, page }) => {
366978
366994
  password: input.password
366979
366995
  });
366980
366996
  break;
366997
+ case "n8n":
366998
+ await loginToN8N({
366999
+ url: input.url,
367000
+ username: input.username,
367001
+ page,
367002
+ password: input.password
367003
+ });
367004
+ break;
366981
367005
  case "snowflake":
366982
367006
  await loginToSnowflake({
366983
367007
  url: input.url,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datacamp/learn-vm-scripts",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "repository": "git@github.com:datacamp-engineering/learn-vm-scripts.git",
5
5
  "description": "Scripts used by VMs in learn.",
6
6
  "main": "./dist/index.cjs",