# How is a JavaScript framework growing month by month?

**URL:** <https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241>\
**Category:** Analysis\
**Created:** [May 7, 2014, 9:41pm UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241 "2014-05-07T21:41:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![icoloma](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/icoloma/32/1295_2.png) [@icoloma](https://discuss.httparchive.org/u/icoloma)\
**Post date:** [May 7, 2014, 9:41pm UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241/1 "2014-05-07T21:41:20Z")

</div>

It may be obvious for some, but after reading [How are the most popular frameworks growing year over year](http://bigqueri.es/t/how-are-the-most-popular-frameworks-growing-year-over-year/19) I decided to put together a query to get stats for a single JavaScript framework, separated by months:

```
SELECT
  COUNT(DISTINCT(pageid)) COUNT,
  MONTH(SEC_TO_TIMESTAMP(startedDateTime)) month
FROM
(TABLE_QUERY([httparchive:runs], 'REGEXP_MATCH(table_id, r"^2014.*requests")'))
WHERE
  REGEXP_MATCH(url,
    r'angular')
GROUP BY month
ORDER BY month

```

This will give the evolution of a given framework for 2014. As new months appear, they will get added to the resulting table.

This is not entirely reliable, as it depends heavily on traffic: all JS frameworks (well I have confirmed with jquery and Angular) display a valley associated to a decrease in overall traffic in December and summer. This is the chart for Angular:

![](https://yyz1.discourse-cdn.com/flex035/uploads/httparchive/172/be6e7ad85e7ba705.png)

The query can be changed to display the last 12 /18 / whatever months.

---

<div class="post-metadata">

**Author:** ![cqueern](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/cqueern/32/2220_2.png) [@cqueern](https://discuss.httparchive.org/u/cqueern)\
**Post date:** [May 8, 2014, 4:21am UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241/2 "2014-05-08T04:21:44Z")

</div>

Slightly off topic, but does anyone here have any experience with Content Security Policy and angular.js?

---

<div class="post-metadata">

**Author:** ![icoloma](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/icoloma/32/1295_2.png) [@icoloma](https://discuss.httparchive.org/u/icoloma)\
**Post date:** [May 8, 2014, 6:03am UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241/3 "2014-05-08T06:03:59Z")

</div>

Can you be more specific? For context, I’ll leave this here: [https://docs.angularjs.org/api/ng/directive/ngCsp](https://docs.angularjs.org/api/ng/directive/ngCsp)

---

<div class="post-metadata">

**Author:** ![siddii](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/siddii/32/1294_2.png) [@siddii](https://discuss.httparchive.org/u/siddii)\
**Post date:** [May 8, 2014, 5:02pm UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241/4 "2014-05-08T17:02:20Z")

</div>

I recently gave a talk on CSP & Angular. You might find it useful [http://boxysystems.com/index.php/advanced-angularjs/](http://boxysystems.com/index.php/advanced-angularjs/)

---

<div class="post-metadata">

**Author:** ![cqueern](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/cqueern/32/2220_2.png) [@cqueern](https://discuss.httparchive.org/u/cqueern)\
**Post date:** [May 8, 2014, 5:13pm UTC](https://discuss.httparchive.org/t/how-is-a-javascript-framework-growing-month-by-month/241/5 "2014-05-08T17:13:20Z")

</div>

Wow this looks great, thanks siddii!
